Tcl — Tool Command Language: översikt, egenskaper och användningsområden
Kortfattad introduktion till Tcl (Tool Command Language): design, historia, huvuddrag och vanliga användningsområden, inklusive relationen till Tk och hur språket används som inbäddat skriptspråk.
Översikt
Tcl (uttalas ofta "tickle" eller "tee-cee-ell") står för Tool Command Language och är ett lättviktigt, tolkat skriptspråk avsett för inbyggnad och snabb utveckling. Språket formulerar program som en serie kommandon där varje element normalt behandlas som en sträng. Den minimalistiska kärnan gör Tcl lämpat som konfigurationsspråk, för testautomation och som ett inbäddningsvänligt gränssnitt mellan programmoduler. För grundläggande introduktion och officiell dokumentation, se Tcl-dokumentation.
Bildgalleri
1 BildEgenskaper och språkstruktur
Tcl kännetecknas av enkel syntax, dynamisk typning och ett textcentrerat designparadigm: nästan allt är en sträng och kommandon parsas vid körning. Språket stödjer flera programmeringsstilar — proceduriell programmering är vanligast men man kan även tillämpa funktionella mönster, imperativ kod eller objektorienterade konstruktioner med tillägg som TclOO. Vanliga byggstenar inkluderar variabler, listor, arrayer, kanaler för I/O samt ett händelseloop för GUI- och nätverksapplikationer.
Teknisk integration och förlängbarhet
Tcl är byggt för att vara enkelt att binda till C och andra systemnivåbibliotek vilket gör det till ett populärt val när man behöver ett skriptspråk inbäddat i ett större program. Ett vanligt arbetsflöde är att exponera interna funktioner som Tcl-kommandon via ett C API och därigenom ge användare eller automatiseringsskript åtkomst till applikationens funktioner. För information om hur man binder Tcl mot C, se C-integration och exempel på prototyper och snabb utveckling prototypning.
Historia och utveckling
Tcl utvecklades av John Ousterhout i slutet av 1980-talet och tidigt 1990-tal som ett enkelt och flexibelt språk för att länka verktyg och skapa användargränssnitt på ett snabbt sätt. Språket har sedan dess vuxit genom tillägg och tredjepartspaket och har en stabil kärna som kompletteras av moduler för olika behov: grafiska bibliotek, nätverksstöd, testverktyg och mer. Läs mer om historiken och utvecklingsmodeller Tcl-historik och implikationer för användning i olika system operativsystemsstöd.
Användningsområden och exempel
Tcl används ofta för automatisering, testskript (t.ex. med extensionen Expect), konfigurationsfiler, prototypframtagning och i inbyggda system där resurserna är begränsade. Kombinationen med Tk, ett bärbart GUI-bibliotek, ger upphov till det välkända Tcl/Tk-ekosystemet som fortfarande används för snabba verktyg och små grafikbaserade hjälpprogram. Notera att Tk också används via bindings i andra språk, exempelvis genom Pythons Tkinter; se Tk and Python och mer om Tk Tk-översikt. För automation och test finns specifika tillägg som Expect och andra verktyg tolk-implementationer.
Skillnader, styrkor och begränsningar
Styrkorna hos Tcl är dess enkelhet, inbäddbarhet och breda plattformsstöd — tolkar finns för många system vilket gör att samma skript kan köras över olika maskiner. Den lätta kärnan gör det också lämpligt för system med begränsade resurser. Begränsningar rör främst språkets string-orienterade natur, som kan kännas ovant jämfört med språk med starkare typning eller mer moderna makro- och paketlösningar. För säker exekvering i delade miljöer finns mekanismer för att skapa säkra tolkar och sandboxar; se resonemang om säkerhet och distribution variabler och säkerhet och plattformskompatibilitet.
- Resurser och bibliotek: inbyggda system-användningsfall
- Diffusion och community: communityprojekt
- Fördjupning och handledning: officiell dokumentation och introduktioner
Sammanfattningsvis är Tcl ett verksamt, enkelt och flexibelt skriptspråk som fortfarande fyller nischer där snabb utveckling, enkel inbäddning och plattformsoberoende är viktigare än modern syntaktisk sötma. För att komma igång rekommenderas att testa exempel, läsa kärndokumentationen och utforska Tk om grafiskt gränssnitt behövs. Ytterligare resurser och implementeringsdetaljer finns via länkarna ovan och i öppna arkiv för paket och tillägg paketöversikt och fördjupning.
Historia
Tcl skapades av John Ousterhout vid University of California, Berkeley. Ousterhout vann ACM Software System Award 1997 för att ha skapat Tcl/Tk.
Safe-Tcl är en form av Tcl där vissa delar är avstängda så att den inte kan skada datorn som kör den. Nathaniel Borenstein och Marshall Rose skapade Safe-Tcl. Safe-Tcl kan endast fungera på vissa filer, inklusive e-postmeddelanden.
Exempel
I Tcl-programmering skiljer tomma blanksteg ord åt. Kommandon avslutas med en ny rad eller ett semikolon:
word0 word1 word2 ... wordN
Det första ordet är alltid ett kommando som kommer från Tcl-biblioteket:
kommandonamn arg1 arg2 ... argN
Kommandot puts får till exempel datorn att visa något:
puts "Hello, World!"
I det exemplet kallas "Hello, World!" för en sträng. Tcl lägger till ett specialtecken som inte kan ses i slutet av en rad. Detta tecken talar om för datorn att den ska gå över till en ny rad när kommandot är färdigt.
Tcl kan göra matematik och många andra saker med hjälp av variabler. För att kunna använda en variabel måste programmeraren ange dess värde:
ställa in variabelA 1 ställa in variabelB 2
När en variabel har ställts in kan den användas i andra delar av programmet eller ställas in på något annat. Variabler kan användas för att utföra matematik:
set x 2 set y 4 set ans [expr $x+$y] puts "Svaret är $ans." # Datorn skulle visa: "Svaret är 6."
Kommandot expr säger åt datorn att lösa "uttrycket" eller, i det här fallet, en ekvation.
Lätta kommandon
setsparar siffror, ord eller bokstäver till en variabel. Det kan också användas för att ändra vad som finns i en variabel.proctalar om för datorn vad ett nytt kommando kommer att göra (procedur).iftalar om för datorn att den ska göra det som står skrivet endast om något är sant.whilesäger åt datorn att göra det som står skrivet så länge något är sant.foreachtalar om för datorn att den ska göra något för varje objekt i en lista med variabler.breakstoppar kommandot från att köras. Detta är bra att använda för att ta sig ur en slinga.continuestoppar det aktiva kommandot, men låter slingan fortsätta. Om slingan är en while-slinga börjar den om från början. Den låterforeachochforgå vidare till nästa steg i programmet.returnstoppar det aktiva kommandot och slingan och går sedan tillbaka till proceduren med ett värde.
Relaterade sidor
- Äggdropp
- TclX
- Förteckning över programmeringsspråk
Frågor och svar
F: Vad är Tcl?
S: Tcl (uttalas "tickle" eller tee cee ell /ˈtiː siː ɛl/) är ett programmeringsspråk på hög nivå som kan användas till många saker. Det gjordes för att vara lätt att använda men kunna utföra många uppgifter.
F: Vilken typ av språk är Tcl baserat på?
S: Tcl:s språk bygger på kommandon som talar om för datorn vad den ska göra eller hur en variabel ska sparas. Det kan göra objektorienterade, imperativa, funktionella eller procedurella stilar.
F: Hur används Tcl i C?
S: Tcl används mycket i C för att snabbt skapa prototyper.
F: Finns det en tolk tillgänglig för olika operativsystem?
S: Ja, det finns tolkar för många operativsystem så att många olika typer av datorer kan köra Tcl-kod.
F: Varför är det bra för inbyggda system?
S: Tcl är ett mycket litet språk, vilket innebär att det är bra för inbyggda system.
F: Vad står akronymen "Tk" för?
S: Akronymen "Tk" står för Tool Command Language.
F: Är Tk en del av den normala installationen av Python? S: Ja, när det kombineras med Tk kallas det "Tcl/Tk" och ingår i den normala Python-installationen.
Relaterade artiklar
Författare
AlegsaOnline.com Tcl — Tool Command Language: översikt, egenskaper och användningsområden Leandro Alegsa
URL: https://sv.alegsaonline.com/art/96618
Källor
- tcl.tk : "Tcl/Tk License Terms"
- docs.activestate.com : "Tcl Dev Kit - Compiler"
- itc.conversationsnetwork.org : "PHP on Hormones – history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California"
- blogs.msdn.com : Windows PowerShell : PowerShell and WPF: WTF
- tcl.tk : "Language"
- tcl.tk : "Uses for Tcl/Tk"
- stanford.edu : "History of Tcl"
- tcl.tk : "History of Tcl"
- awards.acm.org : "John K Ousterhout - Award Winner"