Ich glaube wir hatten das Thema hier schon mal. Die Forensuche könnet also ggf. auch noch ein paar Pro/Kontra Argumente bringen.
Ich persönlich denke, dass man Java und JavaScript+Node.js nicht vergleichen kann. Java war schon immer für umfangreiche, große Business-Projekte mit vielen Anforderungen gedacht. Node hingegen gelänzt darin, dass man damit einfache und kleine Projekte schneller umsetzen kann. Für alles, was dem Umfang eines Blogs (ggf. plus Chat o.ä.) übersteigt würde ich Node.js nie benutzen (wegen besagter JavaScript schwächen).
Die Frage war ja aber breiter gefasst (plattformunabhängig) und daher will ich noch ein paar andere Sprachen / Technologien beleuchten:
Für den Backend-Bereich (APIs, Datenverarbeitung ohne UI, etc.) würde ich, ginge es jetzt um ein neues Projekt, noch folgende Sprachen in Erwägung ziehen:
- D: native Sprache mit plattformunabhängiger, z.T. OO Library; kann fast so mächtig sein wie C, bietet aber noch mehr Sicherheiten und Features als Java (als die Sprache Java, nicht die Library. Die Java-Libraries sind deutlich umfangreicher als die von D).
Link zur Webseite.
- HHVM/PHP7: IWenn man sich die neueren Entwicklungen ansieht (Dependency Management, Unit-Testing, ...) und was mit PHP7 demnächst dazu kommt (typisierung, JIT), kann es sich durchaus mit Java messen. Für Projekte mittlerer Größe wahrscheinlich die bessere Wahl.
Wie die anderen schon sagten, hängen die Vor- und Nachteile einzelner Technologien stark von den Anforderungen ab; deshalb kann man da keine Pauschal-Aussage machen. Aus meiner Sicht sprechen folgende Dinge im Backend für Java (aber nicht gegen andere Sprachen, weil die das zum Großteil auch können):
- Mächtige Libraries, neben den EE Libraries z.B. Apache Commons
- Mächtige Application-Server für die EE-Edition
- Strikte Typisierung
- Laufzeitgeschwindigkeit (mit JIT, etc)
- Plattformunabhängigkeit
P.S.: Die Auswahl für eine neues Projekt ist natürlich noch größer. Allerdings sieht es mit der Plattformunabhängigkeit bei den anderen Kandidaten (z.B. Ruby, C#) eher düster aus.