Názor k článku Programovací jazyk TCL od Pavel Tišnovský - Ano, 2D syntaxí mám na mysli odsazování, které...

  • Článek je starý, nové názory již nelze přidávat.
  • 19. 7. 2005 13:25

    Pavel Tišnovský
    Zlatý podporovatel
    Ano, 2D syntaxí mám na mysli odsazování, které je součástí syntaxe jazyka - po mých dávných zkušenostech se soubory Makefile, kde jeden editor bez varování přepisoval tabulátory na mezery, mám k tomuto druhu vyznačování syntaxe dost velký odpor, i když na druhou stranu musím přiznat, že je uživatel donucen používat alespoň nějaký styl. Na druhou stranu je zavedení typovosti proměnných (resp. hodnot) pro začátečníky i pokročilejší uživatele vhodné, s tím naprosto souhlasím.

    Všimli jste si u GTK a dalších toolkitů primárně zaměřených na C/C++/Javu té neohrabanosti při vytváření GUI? Buď to děláte programově, což je poměrně složité, nebo se používají strašně komplikované XML soubory (takže uživatel se kromě daného programovacího jazyka musí ještě učit XML). Zato Tcl/Tk je v tomto ohledu elegantnost sama - samotný zápis programu, který okno/dialog vytváří, je tak primitivní, že je možné ho považovat za určitý druh resource. Přitom jeho čtení provádí sám interpreter, který nemusí být nijak rozšířen (ani o bajt kódu). A díky snadné substituci řetězců se může mapování dynamicky měnit nejenom při běhu programu, ale už při natahování "resource" z externího souboru!

    Ostatně ta substituce (resp. rovnost řetězec=příkaz) není často zmiňovaná, ale dají se pomocí ní vytvářet i velmi složité konstrukce, podobně jako v LISPu (vím, že pořád zmiňuji stařičký LISP, ale stále jde o prakticky nejmocnější dynamický jazyk, kterému se ostatní programovací jazyky postupně přibližují - viz Python a Ruby). Tcl je ve své podstatě jenom převléknutí LISPu do líbivějšího kabátku, i když autor tohoto jazyka kupodivu vycházel z úplně odlišných počátečních podmínek (a nakonec mu z toho vyšel skoro-LISP).

    ps: s tím Vim to bylo jen takové přirovnání k té časové zastaralosti, mám ho rád, jak je ostatně patrné z mých článků o něm.