HyperTalk adalah tingkat-tinggi, bahasa pemrograman prosedural yang diciptakan pada tahun 1987 oleh Dan Winkler dan digunakan bersama dengan program hypermedia HyperCard Apple Computer oleh Bill Atkinson. Target audiens utama HyperTalk mulai programmer, maka programmer HyperTalk biasanya disebut penulis, dan proses menulis program disebut "scripting". script HyperTalk cukup mirip dengan bahasa Inggris tertulis, dan menggunakan struktur logika yang mirip dengan bahasa pemrograman Pascal.
Bahasa case-insensitive diinterpretasikan pada awalnya, tetapi menjadi 'hampir dikompilasi' sejak HyperCard 2.x. Mendukung struktur kontrol dasar bahasa prosedural: ulangi untuk / sementara / sampai, jika / kemudian / yang lain, serta fungsi dan pesan "handler" panggilan (handler adalah sebuah sub rutin, penangan pesan prosedur). Tipe data yang transparan kepada pengguna, konversi terjadi transparan di latar belakang antara string dan angka. Tidak ada kelas atau struktur data dalam pengertian tradisional, tempat mereka diambil oleh literal string khusus, atau lebih tepatnya "daftar" dari "item" dipisahkan dengan tanda koma (dalam versi kemudian "itemDelimiter" properti diperbolehkan memilih karakter yang sewenang-wenang).
Object-Oriented HyperTalk
HyperTalk bukan bahasa ketat prosedural. Script dikaitkan dengan benda-benda dalam file HyperCard (apa yang disebut "tumpukan"), dan HyperTalk diperbolehkan memanipulasi benda-benda ini dalam berbagai cara, mengubah sifat mereka menggunakan "set" perintah, misalnya. Objek itu ditujukan menggunakan sintaks dekat dengan bahasa alami, dimana objek yang ditentukan relatif ke kartu ini, atau operator digunakan untuk menentukan posisi absolut dari objek: kirim "mouseUp" untuk kartu tombol "OK" kartu "kebenaran ". Sejak tombol dan bidang juga bisa ada pada lapisan latar belakang, namun isinya akan berbeda antara kartu, ada kartu ladang, latar belakang bidang Obyek dll dapat diatasi dengan nama mereka, z-memesan nomor, atau dengan nomor ID unik yang biasanya tidak berubah sepanjang masa obyek. Untuk beralih di atas benda (joinedly disebut sebagai bagian dalam HyperCard 2.2 dan kemudian), satu jumlah mereka hanya digunakan setelah query misalnya jumlah bagian kartu.
HyperTalk juga menyediakan script kontrol penuh tumbang built-in alat gambar, hanya dengan script perubahan yang dibutuhkan dalam alat cat dan gerakan mouse simulasi menggunakan drag dari awal sampai akhir dan klik pada posisi perintah.
HyperTalk pesan juga digunakan (peristiwa yaitu) dikirim ke objek untuk menangani interaksi pengguna. Misalnya mouseDown pesan dikirim ke sebuah tombol ketika user mengklik, dan mouseUp dikirim ketika pengguna dirilis mouse di dalamnya untuk memicu aksinya. Demikian pula, itu pesan idle periodik, mouseEnter, mouseLeave, ... dan pesan lain yang berhubungan dengan navigasi antara kartu berbeda dalam HyperCard stack, serta masukan dari pengguna (keydown, functionKey, ...), dan sistem acara. Sejauh scripters khawatir, tidak ada loop acara utama seperti di lain bahasa pemrograman prosedural.
[Sunting] HyperTalk Memperluas
Meskipun bahasa HyperTalk merana seperti HyperCard sendiri, ia menerima sewa kedua hidup melalui plugin protokol, disebut Perintah Eksternal (XCMDs) dan Eksternal Fungsi (XFCNs), yang wadah kode asli yang melekat pada tumpukan (sebagai Macintosh-spesifik sumber daya) dengan entry point tunggal dan nilai kembali. XCMDs dan XFCNs bisa disebut seperti pesan reguler dan menangani fungsi dari script HyperTalk, dan juga dapat mengirim pesan kembali ke aplikasi HyperCard. Beberapa XCMD giat penulis menambahkan fitur-fitur canggih seperti dukungan penuh warna (ColorizeHC, HyperTint, AddColor), jendela khusus beberapa tujuan (Prompt, Tabloid, Textoid, Listoid, ShowDialog, MegaWindows), dukungan drag and drop dan antarmuka perangkat keras berbagai bahasa.
[Sunting] Keturunan HyperTalk
bahasa scripting Berbagai telah mengambil isyarat dari HyperTalk. Mereka umumnya dikelompokkan dalam sebuah keluarga yang didefinisikan secara longgar bernama xTalk.
* CompileIt-Talk -! A HyperCard stack dan XCMD oleh Tom Pittman yang memungkinkan kompilasi asli 68000 kode mesin (misalnya untuk XCMDs dan XFCNs) dari kode HyperTalk, dan memanggil Macintosh rutinitas asli toolbox. CompileIt telah dinyalakan, yaitu versi yang lebih baru telah dikompilasi menggunakan versi sebelumnya dari dirinya sendiri.
* Double-XX-Talk (?) - Double-XX adalah klon HyperCard ringan yang dikirimkan sebagai penambahan CompileIt! dan memungkinkan berjalan XCMDs dan XFCNs tanpa HyperCard, dan bahkan termasuk penerjemah HyperTalk kecil.
* MediaTalk - Bahasa Oracle Obyek Media, keturunan Plus, dan klon yang cross-platform pertama HyperCard. Selain satu-satunya yang benar-benar modular.
* PlusTalk (?) - Spinnaker Plus (awalnya oleh Verlag Format Jerman), yang digunakan sebagai dasar untuk OPT.
* SenseTalk - Bahasa dari HyperSense NeXT-berasal dan pengujian VNC berbasis alat Terong.
* SuperTalk - Bahasa SuperCard, klon HyperCard pertama, oleh Bill Appleton. Appleton juga menulis Dunia populer Builder kit petualangan konstruksi.
* RevTalk - Bahasa diimplementasikan dalam lingkungan pengembangan Revolusi itu sendiri berasal dari klon-Unix berasal HyperCard MetaCard, yang sekarang berjalan pada Classic Mac OS, Mac OS X, Windows, Linux dan Solaris.
Selain tingkat kedua klon seperti
* AppleScript - bahasa scripting utama Apple Mac OS.
* Lingo - bahasa pemrograman Macromedia Director dimulai dengan sebuah sintaks xTalk seperti, meskipun versi saat ini pergi ke arah yang lebih seperti JavaScript.
* Bahasa (tanpa nama) scripting plug data-publishing Em Software Xdata dan InData,-in untuk QuarkXPress dan Adobe InDesign.
Banyak nama metode pertama kali dipopulerkan oleh HyperTalk berhasil masuk ke bahasa kemudian, seperti onmouseup event handler dalam JavaScript. Meskipun Asymetrix ToolBook sering juga dianggap sebagai klon HyperCard, bahasa scripting yang tampaknya sedikit beruang kemiripan kepada HyperTalk.
Ini klon dan dialek (biasa disebut di bawah moniker dari xTalk-bahasa) ditambahkan berbagai fitur dengan bahasa yang diharapkan dari sebuah bahasa pemrograman modern, seperti exception handling, properti obyek ditetapkan pengguna, timer, multi-threading dan bahkan pengguna didefinisikan objek.
[Sunting] Beberapa contoh skrip
Senin, 18 Oktober 2010
Langganan:
Postingan (Atom)