HyperTalk

HyperTalk（はいぱーとーく）はHyperCardに用いられるプログラミング言語。
概要.
インタプリタ方式を採用するスクリプト言語で、その文法は英語に近く、初心者にもなじみやすい。
HyperCard開発チームのダン・ウィンクラーがデザインした。拡張性を考え、XCMD（外部コマンド）とXFCN（外部関数）という機構も用意され、プラグイン的に機能を追加可能である。
HyperCardがオブジェクト指向環境の為、それぞれのスクリプトは、HyperCardのスタック上のオブジェクトであるカードやボタン、フィールドなどのパーツ（オブジェクト）に付随する。
例.
簡単な例
 on mouseUp
 Beep
 put sqrt(2+4) into card field "計算結果" 
 end mouseUp
この例は、このスクリプトが付加されているオブジェクト（パーツ）の上で、
マウスがクリックされたら、ビープ音を鳴らし、
２と４を加えた結果の平方根を、このオブジェクトが乗っているカードに存在する『計算結果』という名のフィールドに送る。
mouseUpとなっているのは、マウスクリックのチャタリングを防止するために、クリック後のアップを取り出している。
他言語との比較.
C言語との比較.
ここでは、初心者が初めて学ぶ言語として広く浸透しているC言語を例に比較する。
HyperTalk
 put "10,20,30,40"&return&"100,200,300,400" into array -- 「&return&」は改行を意味する
 put item 2 of line 1 of array + item 2 of line 2 of array into A
 answer "A="&A -- 「A=220」とダイアログに表示
C言語
int A,array[][]=;
A = array[0][1] + array[1][1];
printf("A=%d",A);
また、C言語よりも比較的自由に文字列処理が可能である。
 put "ABC,DEF,GHI"&return&"GHI,DEF,ABC" into array
 put item 2 of line 1 of array & item 2 of line 2 of array into A
 answer A -- 「DEFDEF」とダイアログに表示
Javaとの比較.
次に、代表的なオブジェクト指向言語であるJavaを例に比較する。
HyperTalk
 put highlight of card button "I Agreed" into agreed
 set enabled of card button "OK" to agreed
Java
 boolean agreed = agreedCheckBox.getState(); // agreedCheckBox, okButton に値が入っているとする
 okButton.setEnabled(agreed);