Vés al contingut

HyperTalk

De la Viquipèdia, l'enciclopèdia lliure
Infotaula de llenguatge de programacióHyperTalk
Captura de pantalla d'HyperCard: codi font de funció HyperTalk.
Tipusllenguatge de programació
Data de creació1987 Modifica el valor a Wikidata
DesenvolupadorDan Winkler (Apple Inc.)
Paradigma de programacióprogramació procedimental i programació orientada a events Modifica el valor a Wikidata
Influenciat perllengua natural i Pascal Modifica el valor a Wikidata
Sistema operatiuMac OS
Llicènciapropietà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]
  1. Kyle Wheeler. «HyperTalk: The Language for the Rest of Us» (PDF) (en anglès), 18-01-2004. [Consulta: 6 maig 2010].
  2. 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)