HyperTalk
Captura de pantalla d'HyperCard: codi font de funció HyperTalk. | |
Tipus | llenguatge de programació |
---|---|
Data de creació | 1987 |
Desenvolupador | Dan Winkler (Apple Inc.) |
Paradigma de programació | programació procedimental i programació orientada a events |
Influenciat per | llengua natural i Pascal |
Sistema operatiu | Mac OS |
Llicència | propietària |
HyperTalk és un llenguatge de programació procedural d'alt nivell, creat el 1987 per Dan Winkler i utilitzat conjuntament amb el programa d'hipermèdia HyperCard d'Apple Computer, creat per Bill Atkinson. El públic destinatari principal de HyperTalk va ser de programadors iniciants, per tant, els programadors HyperTalk van ser anomenats en general com a autors, i el procés d'escriure programes s'anomenava «scripting».[1] Les escriptures de HyperTalk són bastant similars a l'anglès escrit, i utilitzen una estructura lògica semblant al llenguatge de programació Pascal.[2]
El llenguatge no és sensible a majúscules i minúscules i al principi va ser interpretat, però des de HyperCard 2.x es va «compilar virtualment». És compatible amb les estructures de control bàsiques de les llenguatges procedurals: repeat for/while/until
, if/then/else
, així com trucades de «handlers» de funció i missatge (un handler és una subrutina, un handler de missatges és un procediment). Els tipus de dades són transparents per a l'usuari, la conversió es realitza de forma transparent en segon pla entre les tires de caràcters i els números. No hi ha classes o estructures de dades en el sentit tradicional; el seu lloc va ser pres per cadenes literals especials, o més bé «llistes» d'«elements» delimitats per comes (en les versions posteriors la propietat d'«itemDelimiter» permet escollir un caràcter arbitrari).
Algunes mostres de scripts
[modifica]on mouseUp put "100,100" into pos repeat with x = 1 to the number of card buttons set the location of card button x to pos add 15 to item 1 of pos end repeat end mouseUp
on mouseDown put "Disk:Folder:MyFile" into filePath -- no need to declare variables if there is a file filePath then open file filePath read from file filePath until return put it into cd fld "some field" close file filePath set the textStyle of character 1 to 10 of card field "some field" to bold end if end mouseDown
function replaceStr pattern,newStr,inStr repeat while pattern is in inStr put offset(pattern,inStr) into pos put newStr into character pos to (pos +the length of pattern)-1 of inStr end repeat return inStr end replaceStr
Referències
[modifica]- ↑ Kyle Wheeler. «HyperTalk: The Language for the Rest of Us» (PDF) (en anglès), 18-01-2004. [Consulta: 6 maig 2010].
- ↑ Paul F. Merrill. «Comparing HyperTalk to Pascal» (en anglès). Arxivat de l'original el 2006-05-10. [Consulta: 6 maig 2010].
Enllaços externs
[modifica]- Pàgines de «Pantechnicon HyperTalk Wiki» (recuperat d'Internet Archive) (anglès)
- The HyperTalk QuickRef Stack (anglès)