Za co nás, ó Velký křemíku, s tím Pythonem a Javascriptem furt trestáš...
2. 9. 2024, 12:37 editováno autorem komentáře
Při čtení dokumentace jsem to zapích při třetí větě typu: "Toto (nestandardní) chování vyplývá z implementačních podivností čehosi v Javascriptu". To je tak těžký postavit ekosystém (Node, Deno) na něčem, co si s sebou nepotáhne historický balast a bude to splňovat nějaké standardy očekávané ve 21. století?
To jste se ovšem zcela minul s podstatou TypeScriptu. Jeho podstatou je to, aby výsledný kód běžel ve webovém prohlížeči, takže se JavaScriptu nevyhnete. Naopak když si chcete stavět ekosystém pro svůj počítač nebo pro server, můžete zvolit jaký jazyk chcete. Smysl TypeScriptu je umožnit psát JavaScriptové programy pro webové prohlížeče o něco bezpečněji.
Tak node a deno vzniklo z browserů.
Díky tomu máme modernější JavaScript.
API se rozšiřují, jazyk se vyvíjí a zlepšuje.
Kdyby se svět dohodl na tom, že browser se bude skriptovat v Pythonu nebo .NET nebo Javě.. tak by to tak bylo.
ECMAscript se vyvíjí pomalu, konzervativně opatrně, ale pokroky tu jsou.
Nebýt toho tak si myslím, že by pokroky jiným jazykům v jistých ohledech trvaly déle..
Dneska je lahůdka použít Deno a TypeScript a na pár řádků napsat hezký a celkem efektivní kód, připravit si izomorfní šablony a komponenty, fungovat offline na webu..
Zbytek je většinou lepidlo pro SQL, v lepším případě.
Když dneska vidím šílené ORMy a backend frameworky, kde je problém vytáhnout kousek logiky na frontend, chce se mi často brečet.
Napsat pět řádků SQL a nahodit PostgREST je to, co je vlastně hodně těžké se naučit. A jo, stačí to.
Supabase rocks!
A v čem bude lepidlo? TypeScript? Python? Rust? WASM? To je přece jedno. Závislé na dobře promyšlené architektuře a dostupných lidech, ne?
Jo a nezmínil jsem PHP. Ani Pascal. To není chyba :-)
"To je tak těžký postavit ekosystém (Node, Deno) na něčem, co si s sebou nepotáhne historický balast a bude to splňovat nějaké standardy očekávané ve 21. století?":
Deno má backend v Rustu (prototypovali v Go, ale Ryan Dahl sezdal, že dva garbage collectory nad sebou jsou past). Deno tlačí na kompatibilitu s webovými prohlížeči (Node taky postupuje, ale např. Fetch API má stabilní teprve od loňska). Že je Deno podvozkem pro Typescript se všemi jeho mouchami netřeba komentovat. Akorát je daní za modernitu, že Deno nebylo moc stabilní.
>>>Jestli je to jednorázový skript tak Python dává smysl, než to psát v něčem kompilovaném
Mne sa už stáva, že napíšem niečo v Pythone ako prototyp a potom to už v ňom proste nechám. Python 3.11 má vylepšený performance, spolu s numpy a podobnými vychytávkami aj pomerne svižný. (Samozrejme, porovnávam to so staršími pythonmi). Ak mi beží program 300 milisekúnd miesto 90 milisekúnd, až tak ma to netrápi. Horšie bolo, keď kedysi podobná vec v kompilovanom jazyku bežala 10 minút a pythone hodinu,
Ano, BFU se nechce učit koncept datových typů. Proto uděláme ohýbáky které předstírají, že žádné datové typy nejsou, a pak budeme zase vymýšlet rovnáky na ohejbáky, aby se s tím dalo pracovat. Výsledkem je, že se BFU musí naučit koncept datových typů, a k tomu to jak s nimi ten JavaScript pracuje, aby pochopil, proč Nothing=="Nothing" je true, ale Nothing==="Nothing" je false, a "5"+1 je "51", ale "5"-1 je 4.