@palace4d: Von deinem Artikel über Netflix
Geht offenbar nur darum, dass die UI-Leute mit Node arbeiten, da diese einfacher mit JS zurecht kommen als mit Java.
Zur Qualität von JS als Sprache kann ich nur folgendes sagen: eine Sprache, welche bei einer simple Addition von 0.1 und 0.2 ein falsches Resultat liefert ist nur bedingt geeignet um seriöse Applikationen zu entwickeln https://jsfiddle.net/94j394zg/.
Dazu kommen diverse Sprachkonstrukte, welche in JS einfach fehlen, zB. Interfaces, Generics, Polymophismus, Methodenüberladung, etc.
Javascript ist als Sprache aufgrund seiner dynamischen Typisierung für grosse Projekte (100k Zeilen +) zudem fast nicht wartbar. Einer Methode können zur Design-Time zB. falsche Datentypen übergeben werden. Keine Fehlermeldungen, muss ja auch nicht compiliert werden. Der Fehler tritt dann meist erst in Produktion auf, sobald die Methode dann mal von nem Kunden aufgerufen wird. Bei kleinen Projekten wo 1 Programmierer einen Überblick über seinen Code hat ist das meist kein Problem. In einem Team von 5+ Leuten mit unabhängigen Modulen und X Ebenen kommt das jedoch sehr schnell vor.
Warum wir es dann trotz all dem verwendet?
Weil es die einzige Client-Seitige Sprache ist, welche alle Mainstream-Browser unterstützen (hier aber auch immer mit Vorsicht, da nicht alle Browser alle ES-Versionen unterstützen).
Projekte wie zB. TypeScript versuchen die Nachteile von JS aus zu gleichen und es auch für grössere Projekte brauchbar zu machen. Persönlich würde ich NIE in reinem JS entwickeln. Mit TS könnte ich es mir eher überlegen.
Java hat als Entwicklungsumgebung genauso wie .Net trotzdem weiterhin seine Daseinsberechtigung, da beide eine sehr solide Basis bieten, mit der sich von kleinen Anfänger-Projekten bis zu verteilten Mega-Systemen alles realisieren lässt. Die Entwicklergemeinde ist in beiden fällen sehr aktiv und bringen ständig neue interessante Technologien hervor.
Zu sagen, dass Java und oder .Net keine Daseinsberechtigung haben ist sehr Naiv.
To be clear, we haven’t migrated “everything” to JS and Node. We have backend infrastructure which is Java based.
The legacy website stack was a monolithic Java application mostly maintained by UI engineers.
Geht offenbar nur darum, dass die UI-Leute mit Node arbeiten, da diese einfacher mit JS zurecht kommen als mit Java.
Zur Qualität von JS als Sprache kann ich nur folgendes sagen: eine Sprache, welche bei einer simple Addition von 0.1 und 0.2 ein falsches Resultat liefert ist nur bedingt geeignet um seriöse Applikationen zu entwickeln https://jsfiddle.net/94j394zg/.
Dazu kommen diverse Sprachkonstrukte, welche in JS einfach fehlen, zB. Interfaces, Generics, Polymophismus, Methodenüberladung, etc.
Javascript ist als Sprache aufgrund seiner dynamischen Typisierung für grosse Projekte (100k Zeilen +) zudem fast nicht wartbar. Einer Methode können zur Design-Time zB. falsche Datentypen übergeben werden. Keine Fehlermeldungen, muss ja auch nicht compiliert werden. Der Fehler tritt dann meist erst in Produktion auf, sobald die Methode dann mal von nem Kunden aufgerufen wird. Bei kleinen Projekten wo 1 Programmierer einen Überblick über seinen Code hat ist das meist kein Problem. In einem Team von 5+ Leuten mit unabhängigen Modulen und X Ebenen kommt das jedoch sehr schnell vor.
Warum wir es dann trotz all dem verwendet?
Weil es die einzige Client-Seitige Sprache ist, welche alle Mainstream-Browser unterstützen (hier aber auch immer mit Vorsicht, da nicht alle Browser alle ES-Versionen unterstützen).
Projekte wie zB. TypeScript versuchen die Nachteile von JS aus zu gleichen und es auch für grössere Projekte brauchbar zu machen. Persönlich würde ich NIE in reinem JS entwickeln. Mit TS könnte ich es mir eher überlegen.
Java hat als Entwicklungsumgebung genauso wie .Net trotzdem weiterhin seine Daseinsberechtigung, da beide eine sehr solide Basis bieten, mit der sich von kleinen Anfänger-Projekten bis zu verteilten Mega-Systemen alles realisieren lässt. Die Entwicklergemeinde ist in beiden fällen sehr aktiv und bringen ständig neue interessante Technologien hervor.
Zu sagen, dass Java und oder .Net keine Daseinsberechtigung haben ist sehr Naiv.