Het probleem is dat dat stuk gereedschap de tand des tijds niet doorstaat.
Het is een geïnterpreteerde taal die alsnog een compiler nodig heeft voor tegelijkertijd backward (ECMAScript versie) en forward compatibility (polyfills). Bovendien veranderen de toolchains zo veel dat je op meerdere lagen tegelijkertijd onderhoud moet uitvoeren:
- je eigen code migreren naar nieuwe best practices
- je code compatibel houden met nieuwe releases van je directe dependencies
- de directe dependencies met elkaar compatibel houden
- de indirecte dependencies compatibel houden - echt puzzelwerk
- de toolchain versies compatibel houden
- de toolchain configs updaten naar een geüpdatete methodiek
- oude workarounds wegwerken
Een heel deel van die punten zou overbodig moeten zijn. Ze willen te veel backwards compatible blijven i.p.v. te erkennen dat er gaandeweg een nieuwe taal uitgevonden is. Naar mijn mening zouden browsers moeten overstappen naar een niet-backwards compatible versie van TypeScript en maar om de 3 tot 5 jaar syntax changes toelaten.
Ik heb het idee dat heel veel van je argumenten elkaar direct tegenspreken.
Zo constateer je dat de toolchains veel veranderen en dat je daardoor vaak onderhoud moet uitvoeren, en vervolgens stel je voor om backwards compatibility de deur uit te gooien waardoor we met z'n allen WEER onderhoud moeten uitvoeren.
NodeJS zelf is niet echt het probleem hier. Ik kan makkelijk oude NodeJS code (2010) pakken en draaien in moderne NodeJS versies. Het zijn de dependencies die stuk gaan, NPM die niet goed of onvoldoende reproduceerbare builds kan maken en de algemene houding van ontwikkelaars in het ecosysteem om dingen snel te "verbeteren" (IMO iets anders te proberen dat ook niet werkt).
NodeJS libraries komen en gaan, en er zijn er 1000en die allemaal hetzelfde doen, en geen enkele is echt een standaard. Dit komt denk ik deels omdat NodeJS out of the box met een slechte library komt waardoor iedereen zijn eigen libraries ging maken voor functionaliteit die iedereen nodig heeft (manupulatie van objecten, arrays, strings, dates of zelfs het maken van classes voordat JS een eigen class keyword had)
Blijkbaar haat iedereen javascript, want er blijven maar "transpilers" uitkomen met nieuwe features die naar javascript compilen.
Naar mijn mening zouden browsers moeten overstappen naar een niet-backwards compatible versie van TypeScript en maar om de 3 tot 5 jaar syntax changes toelaten.
Dit breekt het hele web en gaat natuurlijk nooit gebeuren. Overigens, ik dacht dat we het over server-side JS hadden. Als we over client-side JS applicaties gaan beginnen, kan ik hele boeken typen waarom dat verschrikkelijk is.
Author: Nancy Herrera
Last Updated: 1704174242
Views: 1852
Rating: 4.1 / 5 (69 voted)
Reviews: 80% of readers found this page helpful
Name: Nancy Herrera
Birthday: 1956-09-15
Address: 9889 Sandra Wells Apt. 194, North Marcusville, SD 57068
Phone: +4215639763074466
Job: Archaeologist
Hobby: Card Collecting, Chess, Photography, Card Games, Origami, Graphic Design, Tennis
Introduction: My name is Nancy Herrera, I am a Determined, accomplished, strong-willed, important, tenacious, unguarded, unyielding person who loves writing and wants to share my knowledge and understanding with you.