SPIRALI:
REDGUY: fajn, radíte mi thready v LISPu. můžeš mi říct, co je na tom za jakoukoliv výhodu proti tomu, dělat je přímo v C?
lisp threading example
https://lbolla.info/lisp-threading-example
strach, že kolem něčeho nevznikne dostatečná "komunita", mi popravdě štve. prošel jsem si v životě X komunitama všech možných směrů a začínám mít pocit, že opravdu efektivní projekty dokáží vést spíš jednotlivci s jasným cílem, kteří se na komunitu až tolik neohlíží... spousta kompromisů, které jsem v životě udělal s ohledem na nějakou "komunitu", se mi nakonec vymstila.
pokud bych udělal nástroj, kteří nebude používat "komunita", ale prostě lidi, co hledají nástroj co nabídne nejvíc muziky za co nejmíň peněz, tak budu spokojený. komunita teprve může začít vznikat nějak samovolně, pokud se lidé začnou zajímat o další lidi, kteří přišli na to samé... pokud "charismatický vůdce" vytvoří uzavřenou sektu, jejíž členové všechny začne přesvědčovat, že mají nějak "konvertovat" k jeho projektu. Myslím, že možnosti přístupu "sekta" se vyčerpaly u projektů GNU a zejména linuxového jádra - výsledek je obdivuhodný, ale o moc dál si myslím, že už zajít nelze (i když jestli se někdo pokusil o založení prvního českého "linuxového kláštera", tak jsem to byl v podstatě já se svojí původní podobou Arachne Labs :-))
Python skutečně zůstává největší inspirací, protože prostě stále znova kdykoliv zagooglím, tak zjistím, že konstrukce co potřebuju, v tom už dávno jsou připravené - naposledy zrovna včera "import itertools" a funkce jako combinations(), permutations()... takže ano, velmi dobře si uvědomuju, že jazyk musí být obklopený sadou nástrojů, a že dostat se tak daleko jako třeba Python by bylo šíleně těžké...
vlastně skutečně nejčistší by bylo vykašlat se na "vlastní jazyk" a třeba se rozhodnout, že se chci pustit do vývoje Python kompilátoru a runtime knihoven, které dohromady budou výkonější, než nativní interpretery (s tím, že napsat to jako code generator generující C je ale pořád cesta nejmenšího odporu pro někoho, kdo nikdy pořádně neovládal assembler). Jenže právě problém je, že v tom jazyku je už tolik nativních a hodně sofistikovaných features, která právě extenzivně využívají všechny ty moduly, že bych byl nucený buď napodobit features oficiálního interpreturu do té míry, že by na to člověkohodiny jednoho života nestačily - nebo se smířit s tím, že některé moduly se zavedou a jiné ne, apod.
Takže, sakra, zase už to po sobotním raním kafi píšu moc dlouhý, podle mě není možná jiná cesta, než:
1) hračka (jako Linusův první multitasking na i386, kdy mu poprvé dvě vlákna psaly po obrazovce... nebo můj zárodek browseru pro DOS, kdy jsem byl okouzlen možností, že je možné slinkovat dohromady TCP/IP knihovnu Wattcp, na kterou jsem narazil skrze prohlížeč DOSLynx s grafickou knihovnu, kterou vyvíjela skupina programátorů ve které působil můj otec, a kterou jsem upirátil za účlem vývoje nějaké DOSovské hry - to, jak těžké bylo pod DOSem programovat hry oproti 8bitům, mě frustrovalo řadu let)
2) releasnu nějakou marginálně užitečnou aplikaci na bázi hračky
3) buď to zaujme, nebo ne. Pokud to zaujme, skutečně by se mohla vytvořit komunita, která mi začne dodávat nástroje, jako jsou v Pythonu itertools - je přitom jasné, že takový nástroj mi nejspíš dodá někdo, kdo se hrozně nudí, vede semináře kombinatoriky na vysoké, a v itertools mu třeba něco chybí.
4) pokud vůbec vznikne nějaká "komunita", tak vznikne posbíráním odpadlíků z existujících sekt či zcela nepřizpůsobivých jedinců: nemám vůbec ambice pythonisty přesvědčovat, ať se vykašlou na python, protože by to bylo marný. Pokud vůbec cílím na někoho konkrétního, tak na naprosto marginální skupiny, většinou dokonce starší 40ti, možná i 50ti let:
- programátoři, co ovládají C a bude se jim líbit, že nový nástroj generuje mezikód, který je pro ně srozumitelný a ze kterého třeba můžou čerpat inspiraci pro svoje vlastní aplikace v C (ovšem ambice překladu pro více platforem znemožní konstrukce typu "inline C" - teda neznemožní, ale aplikace rázem přestane být multiplatformní...)
- programátoři, kteří bastlili webové aplikace v PHP a už jsou si vědomi, že to tolik nefrčí, ví, že by měli přejít na node.js, ale zaujme je platforma, která generuje jak PHP tak node.js mezikód (opět - zaujme je možnost podívat se, jak konstrukce jednoduchého vyššího rozexpandují to mezikódu)
- programátoři, kteří si pamatují Basic na 8bitech, ale od té doby v podstatě neprogramují. tihle lidé nebyli zvyklí nic iniciovat - tedy prostředí, ve kterém bude existovat něco jako "implicitní databáze", ke které se každá vygenerovaná aplikace připojí bez nutnosti cokoliv inicializovat, pro ně bude mimořádně pohodlné.
- programátoři, kteří ovládají Python, ale narazí u nějakého svého projektu na výkonnostní limity a budou hledat, jak něco napsat tak, aby jim to neběželo celou noc
Jestli z těhle příkladů může někdy vzniknout něco jako "komunita", to se dá těžko předvídat, a samozřejmě, že nejspíš vytvořím jenom další "obskuranto" (po vzoru "esperanto").
Dokonce si ani nemyslím, že chci tenhle klub zasrat jen nekonečným flamewarem na tohle téma. Spíš, než abych tu vytvořil nadšence pro svůj vyšší pseudojazyk, bych čekal, že tu lidi zaujme právě to hledání způsobů, jak pro nějaké konkrétní moderní datové typy a pattern designy vygenerovat ten mezikód v C...