Tcl (Tool Command Language) – definicija in lastnosti programskega jezika
Tcl (izgovori se "tickle" ali tee cee ell /ˈtiː siː ɛl/) ali Tool Command Language je programski jezik visoke ravni, ki se lahko uporablja za veliko stvari. Tcl je bil narejen tako, da je enostaven za uporabo, vendar zmore veliko stvari. Jezik Tcl temelji na ukazih, ki računalniku povedo, kaj naj naredi ali kako naj shrani spremenljivko. Tcl lahko izvaja objektno usmerjene, imperativne, funkcionalne ali proceduralne sloge.
Osnovne značilnosti
- Preprost sintaksni model: Tcl ukaz sestavljajo ime ukaza in argumenti. Večina operacij se izvaja z enostavnim razbijanjem besed (word parsing), ki omogoča hitro pisanje skript.
- Dinamika in tipi: Je dinamično tipiziran jezik; notranje vrednosti so v veliki meri predstavljene kot nizi, konverzije se izvajajo po potrebi.
- Razširljivost: Enostavno ga je vgraditi v programe napisane v jeziku C in ga razširjati z vtičniki ali razširitvami (npr. Expect, Itcl, Tcllib).
- Prijenosljivost: Na voljo so prevajalniki in interpreti za številne platforme in operacijske sisteme, zato se Tcl pogosto uporablja tam, kjer je potrebna prenosljivost kode.
- Majhna velikost: Tcl je kompakten, zato je primeren tudi za uporabo v vgrajenih sistemih.
Zgodovina in razvoj
Tcl je ustvaril John Ousterhout konec 80-ih let prejšnjega stoletja z namenom, da bi imel preprost ukazni jezik za zlepljanje komponent in hiter razvoj prototipov. Od takrat se je jezik razvil, ohranil pa je osnovno filozofijo preprostosti in razširljivosti.
Uporaba in primeri
Tcl se pogosto uporablja za avtomatizacijo nalog, testiranje, skriptiranje omrežnih naprav, orodja za razvoj programske opreme in grafične vmesnike (v kombinaciji s Tk). Tcl se v jeziku C pogosto uporablja za hitro ustvarjanje prototipov. Za številne operacijske sisteme so na voljo prevajalniki. To pomeni, da je na različnih vrstah računalnikov mogoče izvajati kodo Tcl. Tcl je zelo majhen jezik, kar pomeni, da je primeren za uporabo v vgrajenih sistemih.
Tcl se včasih kombinira s Tk. Kadar je tako, se imenuje Tcl/Tk. Tcl/Tk je del običajne namestitve Pythona, kar omogoča enostavno ustvarjanje grafičnih vmesnikov v mnogih okoljih.
Preprost primer
puts "Pozdravljen, svet!" set x 10 expr {$x * 2}
Prvi ukaz izpiše besedilo, drugi nastavi spremenljivko, tretji pa izračuna izraz. V Tcl so zavite oklepaje in narekovaji pomembni za nadzor nad substitucijo in splitanjem besed.
Naprednejše možnosti
- Objektno usmerjena razširitev: Itcl (in druge razširitve) prinašajo objektne koncepte v Tcl.
- Testiranje in avtomatizacija: Z orodjem Expect je mogoče avtomatizirati interakcijo s terminalskimi programi.
- Knjižnice: Tcllib in druge zbirke nudijo širok nabor funkcij od obdelave datotek do omrežnih protokolov.
- Vdelovanje: Tcl lahko vgradite v aplikacije napisane v jeziku C, kar omogoča skriptno konfiguracijo in razširljivost.
Prednosti in slabosti
Prednosti: hitro učenje, preprost zapis ukazov, dobra prenosljivost, majhna odtisa pomnilnika in močna razširljivost.
Slabosti: sintaksa temelji na nizih, kar včasih zahteva previdno ravnanje z escapiranjem in citiranjem; ni tako razširjen v modernih spletnih aplikacijah kot npr. Python ali JavaScript, zato je manj ekosistema v nekaterih domenah.
Licenca in skupnost
Tcl in Tk se razvijata odprto; licenca je prijazna do uporabe v odprtokodnih in lastniških projektih. Obstaja aktivna skupnost razvijalcev, obsežna dokumentacija in številne razširitve, zaradi česar je Tcl še vedno uporaben v specializiranih področjih.
Kje začeti
Za začetek učenja Tcl priporočam uradno dokumentacijo, tutoriale in teste primerov. Če želite grafični vmesnik, poiščite material o Tcl/Tk, sicer pa začnite z osnovami, kot so ukazi, spreminjanje spremenljivk, kontrolne strukture in funkcije/ukazi (proc).
Zgodovina
Program Tcl je ustvaril John Ousterhout na Kalifornijski univerzi v Berkeleyju. Ousterhout je leta 1997 prejel nagrado ACM Software System Award za izdelavo Tcl/Tk.
Safe-Tcl je oblika programa Tcl, ki ima določene dele izklopljene, tako da ne more škodovati računalniku, v katerem je nameščen. Nathaniel Borenstein in Marshall Rose sta ustvarila Safe-Tcl. Safe-Tcl lahko deluje le na nekaterih datotekah, vključno z elektronskimi sporočili.
Primeri
V programiranju Tcl prazni beli presledki ločujejo besede. Ukazi se končajo z novo vrstico ali podpičjem:
word0 word1 word2 ... wordNPrva beseda je vedno ukaz iz knjižnice Tcl:
ime ukaza arg1 arg2 ... argNNa primer, ukaz puts povzroči, da računalnik nekaj prikaže:
V tem primeru se besedilo "Hello, World!" imenuje niz. Tcl na koncu vrstice doda poseben znak, ki ga ni mogoče videti. Ta znak pove računalniku, da po končanem ukazu preide na novo vrstico.
Tcl lahko s spremenljivkami opravlja matematične in številne druge naloge. Da bi lahko uporabil spremenljivko, mora programer določiti njeno vrednost:
Ko je spremenljivka nastavljena, jo lahko uporabite v drugih delih programa ali pa jo nastavite na drugo vrednost. Spremenljivke se lahko uporabljajo za izvajanje matematike:
Ukaz expr računalniku pove, naj reši "izraz" ali, v tem primeru, enačbo.
Enostavni ukazi
- v spremenljivko shranjuje številke, besede ali črke. Uporabite ga lahko tudi za spreminjanje spremenljivke.
proc
pove računalniku, kaj bo naredil nov ukaz (postopek).if
sporoča računalniku, naj naredi zapisano le, če je nekaj res.while
pove računalniku, naj naredi, kar je zapisano, če je nekaj res.foreach
pove računalniku, naj za vsako postavko na seznamu spremenljivk nekaj naredi.break
ustavi izvajanje ukaza. To je dobro uporabiti za izhod iz zanke.continue
ustavi aktivni ukaz, vendar dovoli nadaljevanje zanke. Če je zanka zankawhile,
se začne znova. Omogoča, daforeach
infor
preideta na naslednji korak v programu.return
ustavi aktivni ukaz in zanko, nato pa se vrne v postopek z vrednostjo.
Sorodne strani
- Eggdrop
- TclX
- Seznam programskih jezikov
Vprašanja in odgovori
V: Kaj je Tcl?
O: Tcl (izgovori se "tickle" ali tee cee ell /ˈtiː siː ɛl/) je programski jezik visoke ravni, ki se lahko uporablja za veliko stvari. Narejen je bil tako, da je enostaven za uporabo, vendar zmožen opraviti veliko nalog.
V: Na kateri vrsti jezika temelji Tcl?
O: Jezik Tcl temelji na ukazih, ki računalniku povedo, kaj naj naredi ali kako naj shrani spremenljivko. Izvaja lahko objektno usmerjene, imperativne, funkcionalne ali proceduralne sloge.
V: Kako se Tcl uporablja v jeziku C?
O: Tcl se v jeziku C pogosto uporablja za hitro ustvarjanje prototipov.
V: Ali je na voljo prevajalnik za različne operacijske sisteme?
O: Da, tolmači so na voljo za številne operacijske sisteme, tako da je na različnih vrstah računalnikov mogoče izvajati kodo Tcl.
V: Zakaj je dober za vgrajene sisteme?
O: Tcl je zelo majhen jezik, kar pomeni, da je primeren za vgrajene sisteme.
V: Kaj pomeni kratica Tk?
O: Okrajšava "Tk" pomeni Tool Command Language (ukazni jezik za orodja).
V: Ali je Tk del običajne namestitve Pythona? O: Da, v kombinaciji s Tk se imenuje "Tcl/Tk" in je del običajne namestitve Pythona.