Odpovídáte na názor k článku TypeScript sa na GitHube stal programovacím jazykom číslo jedna. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
"JavaScript nevykonáva typovú kontrolu v zmysle a rozsahu ako ju vykonáva TypeScript, zvlášť nie čo sa týka generického programovania, o ktorom som písal."
Skutočne? Pretože toto fakt nie je pravda. JS má úplne zhodnú podporu generického programovania.
"Takže v tomto zmysle JavaScript nepoužíva žiadny typový engine a nástroje, ktoré používate a na ktoré sa odvolávate, používajú TypeScript a to aj keď kontrolujete kód napísaný v JavaScripte."
Takže takže TypeScript nie je jazyk ale nástroj? Tak trochu si protirečíte.
"To nie je nejaký nezávislý modul vytvorený mimo ekosystém TypeScriptu, ktorý by používali TypeScript aj JavaScript nezávisle na sebe. To je jednoducho TypeScript."
Uhuh, škoda že vôbec netušíš o čom hovoríš. Tak si pozri prvé commity do TypeScript repa a asi pochopíš.
to že je to v jednom package, neznamená že TSC a TypeScript je stejná vec. Ani to že sú na sebe závislé. Nie sú.
"Pokiaľ sa niečo náhodou zmenilo, a naozaj to vykonáva JavaScript, tak s ohľadom na to, že TypeScript to vykonával o veľa rokov skôr, stále ten kredit prislúcha TypeScriptu, pretože to bol TypeScript, ktorý si v tomto smere získal programátorov."
Podľa tohoto môžeme tvrdiť že JavaScript beží len v prehliadači a nemôže bežať na servery. História je história, súčastnosť je súčastnosť... ja kredit TypeScriptu neberiem. To si si taktiež len vycucal z prstu.
"Čo sa vášho "čistého" kódu týka, ten kód v JavaScripte je čistý z hľadiska spúšťania, ale nie z hľadiska analýzy. Tie anotácie v JSDoc si TypeScript, spúšťaný na pozadí analytickými nástrojmi alebo VS Code, prevedie do svojho vlastného AST, tak ako keby to bol zodpovedajúci zápis v TypeScripte. A rovnako ho vyhodnotí."
Nikdy som netvrdil "čistý kód" ale len "čistý JavaScript" teda bez "primiešavania" iného jazyka na úrovni syntaxe a API. To že aký nástroj to vyhodnocuje je jedno. Inak asi ste zabudli na Closure... a áno rovnako vyhodnotí, veď to celú dobu tu tvrdím. Pretože je to type-aware linter, ktorému podsúvame stejné AST.
"Nie, nehovoríme iba o kontrole v IDE/CLI/počas buildu
Súčasťou môjho komentára bolo:
samostatný sofistikovaný programovací jazyk, ktorý beží počas zostavenia a je použitý na výpočty s typmi, vrátane overovania, transformácií, prevencie umožnenia reprezentácie neplatných stavov, atď."
Tak mi povedz už konkrétne o čom hovoríme, lebo si totálne v tom zamotaný... čo je mimo build a IDE, čo je v runtime iné v JS než v TS? Výpočty s typmi? Však to je súčasť typovej kontroli, overovanie? Aké? Transformácií? áno, tam TSC poskytuje transformery, ktoré zmenia AST a po serializácii aj výsledný kód, to isté čo robí Babel akurát iná implementácia. A či použijem visitor objekt v Babel alebo nejaké ts.factory, alebo čo je už rozdiel nie v jazyku, ale toolingu.
"Hovoríme o generickom programovaní všeobecne. To nie sú iba typové anotácie. To je systém, ktorý vykonáva a používa výpočty s typmi. Na čo všetko sa to používa vám tu naozaj vysvetľovať nebudem."
Vysvetliť nechcete lebo zrejme neviete... tie výpočty, a čokoľvek funguje aj v example čo som tu dal. Ktorý ste zrejme ani nepozreli. Jasne tam bolo vidieť ako vyhodnotilo na úrovni IDE jednu hodnotu ako true a druhú ako false.
"Nad rámec nedostatkov v prehľade prístupov k programovaniu máte očividne problémy aj s chápaním písaného textu."
A vy nemáte? Lebo ste nepochopili 80% môjho komentára.
".. je napísané čokoľvek o porovnaní C# a Javy? Kde je tam napísané niečo o API, princípoch fungovania, runtime, JVM?
Je to o diskusii o tom, čo majú v rámci OOP jednotlivé jazyky spoločné."
OOP je pattern, nie jazyk, ak hovoríme "v rámci OOP" tak porovnávaš jablká s hruškami. Ja som hovoril o jazyku, a aj ty si hovoril o jazyku predtým, úplne tu miešaš všetko cez seba a nevyznáš sa ani vo vlastných komentároch.
Celú dobu bola debata o tom že JS a TS je praticky stejný jazyk, reč o OOP bola tu irelevantná od začiatku a vy ste tu zamiešali nezmyselný argument, a teraz ešte proti svojmu argumentu argumentujete. LOL