Tcl on ohjelmointikieli, joka kannattaa säilyttää – tässä miksi
Kun "full-stack" tarkoitti vielä jotain aivan muuta
Jos olet koodannut yli vuosikymmenen, muistat todennäköisesti ajan, jolloin web-kehitys oli kovin erilaista. Siinä missä nyt puhutaan Kubernetes-klustereista ja serverless-arkkitehtuureista, 90-luvun lopulla monet vilkkaimmista sivustoista pyöri TCL-scriptien varassa.
Kirja, joka yhdisti kaksi maailmaa
Tcl for Web Nerds ei ollut tavallinen ohjelmointiopas. Hal Abelsonin, Philip Greenspunin ja Lydia Sandonin kirjoittama teos tarjosi käytännöllisiä ratkaisuja kehittäjille, jotka tarvitsivat nopeasti toimivia dynaamisia verkkosivustoja. Kirja käsitteli todellisia haasteita: merkkijonojen käsittelyä, mallien tunnistamista, tiedosto-operaatioita ja ennen kaikkea käyttöjärjestelmän kanssa kommunikointia.
TCL:n erityisvahvuus oli eval- ja exec-komennoissa. Ne mahdollistivat komentojen rakentamisen ohjelmallisesti ja joko tulkin uudelleenohjaamisen tai Unix-komentotulkin hyödyntämisen. Kuulostaako tutulta? Kyllä – sama periaate elää nykyään shell-scripteissä, build-työkaluissa ja DevOps-automaatiossa.
Miksi tämä on edelleen relevanttia
Sisällysluettelo – taulukot, listat, mallien tunnistus, kontrollirakenteet – paljastaa jotain olennaista. Nämä ovat samat peruspalikat, joilla jokainen dynaaminen web-sovellus rakennetaan tänäänkin. Se, että näitä käsitteitä opetettiin TCL:n kautta 90-luvun lopulla, osoittaa kuinka vähän perusteet ovat muuttuneet.
Ekosysteemi sen sijaan on muuttunut rajusti. Nykyään tartutaan helposti Pythoniin ja Flaskiin, JavaScriptiin ja Expressiin, tai jopa tekoälyavusteiseen prototypointiin. Mutta ymmärrys siitä, miten scriptauskielet keskustelevat käyttöjärjestelmän kanssa, miten merkkijonoja ja malleja käsitellään tehokkaasti, ja miten komentoja rakennetaan dynaamisesti – nämä taidot ovat yhä arvokkaita.
Palvelinpuolen kehityksen evoluutio
Kirjan oheismateriaalit viittaavat AOLserveriin ja Tcl Developer Xchangeen – molemmat aikakauden jäänteitä, jolloin web-palvelimet konfiguroitiin toisin ja "pilvihosting" ei ollut edes termi. Ongelmat kuitenkin olivat samat: dynaamisen sisällön jakelu, tietokantayhteyksien hallinta, käyttäjäistuntojen käsittely. Modernit hosting-ratkaisut ratkaisevat nämä samat haasteet, tosin eri työkaluilla.
Jos ohjelmointikielten historia kiinnostaa, tai haluat ymmärtää miten päädyimme TCL-scripteistä konttiteknologiaan, Tcl for Web Nerds tarjoaa yllättävän valaisevan iltapuhlen. Se on ikkuna siihen, miten kehittäjät ajattelivat web-arkkitehtuuria ennen kuin frameworkit abstrahoivat kaiken.
Joskus taaksepäin katsoen oppii näkemään eteenpäin.
Mitkä vanhat kehitysresurssit ovat muokanneet sinun käsitystäsi modernista web-arkkitehtuurista? Jaa suosikkisi kommenteissa.