Samstag, 11. Februar 2012


News

Donnerstag, 9. September 2010 | News

"Scala wird niemals ein Ersatz für Java sein"

(Link zum Artikel: http://www.entwickler.de/jaxenter//056910)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Enttäuschung ist die häufigste Reaktion auf die Ankündigung Mark Reinholds, JDK 7 werde erneut verschoben werden müssen. Typisch sind Kommentare wie:

I can't deny I'm very disappointed project JigSaw is delayed again. And that the lack of support for this project this last year amazes me really. Jan Goyvaerts

Both schedules are disappointing. Of course everyone knows this and no-one is surprised by that statement. Talden

Nicht selten münden die Unmutsäußerungen in eine offene Kritik an dem Führungsstil Oracles:

So this is what Larry meant by investing a whole lot of money in Java?! Walter Chang

To me, "JDK 7 minus Lambda, Jigsaw and part of Coin" doesn't sound much like "Getting Java moving again" :-( This schedule is very disappointing.Cedric

Werden die Entwickler vor die Wahl gestellt, eine schnelle JDK 7 Version ohne die Projekte Jigsaw und Lambda (=Closures) im Jahr 2011 zu veröffentlichen oder eine späte, aber komplette Version im Jahr 2012, so scheint die Mehrzahl zur ersten, schnellen Variante zu tendieren.

I'm waiting from 2008, I cannot wait any longer! I understand that without Lambda, Jigsaw, and part of Coin, we have to call it Java 6 & 1/2, but IMHO it is better than wait other two years... Claudio De Sio Cesari

We can all agree that it's disappointing that the schedule slipped! Even though I would love to get my hands on lambdas, I would much rather prefer a new release of Java to keep the kettle from freezing... Jeppe Cramon

Eine häufig geäußerte Meinung ist auch, dass durch die Stagnation bei Java andere JVM-Sprachen einen Schub bekommen könnten – allen voran Scala:

One more reason to go for Groovy, Ruby, Python, Scala, .NET or whatever. 95.136.52.32

Neither A nor B is particular compelling and I think alternatives to Java will get yet another boost; meaning, having to endure even more Scala evangelism. Casper

How many years do you think will java can be alive if there is a much much better language alternative "scala" !

Oracle should freeze java in 6 and shift all java lang. efforts to scala in my honest opinion to make java platform state of art again. Serdar Irmak

JRuby-Chefentwickler Charles Nutters Kommentar ist lesenswert. Vieles von dem, was er als Anwender in JDK 7 sehen wollte, sei bereits umgesetzt. Aus der Perspektive des Implementierers dynamischer Sprachen vermisse er allerdings Method handles, die als Bestandteil von Projekt Lambda umgesetzt werden sollten.

So would I be willing to give up Jigsaw, Lambda, and Coin? Jigsaw and Coin, perhaps, though they'd certainly be missed. As for Lambda...if it can't be done "right" in a short term, with a real function type and integration with method handles and invokedynamic, it should be delayed until it can be done right. Charles Nutter

Und Scala? Für Nutter keine Alternative! Insbesondere sei das Problem von Scala, dass die dort implementierten Closures nicht mit anderen Sprachen oder mit Java interoperabel seien.

Oh, and for folks crowing about Scala...please explain to me how Scala solves any of the missing features that "Plan B" would omit. Yes, it has closures, but they're generally not interoperable with other languages or regular Java code (unless you limit your design considerably), which makes them useless for all but Scala developers. Charles Nutter

Das Urteil Charles Nutters lautet deshalb: Scala wird niemals ein Ersatz für Java sein!

There's nothing to address the goals of Jigsaw. And most of the bits of Coin that Scala provides are (I believe) already ready to go. Scala is not a substitute for Java as the lingua franca of the JVM, and it never will be. Charles Nutter

(hs)

Kommentare

Gravatar james 09.09.2010
um 16:02 Uhr
Scala wird auch niemals ein Ersatz für Java sein?! Hat es den jemals den Anspruch erhoben?
Scala hat einen komplett anderen Ansatz als Java - Java wurde als einfach zu erlernende/lesbare Sprache entwickelt. Viele mächtigen Strukturen aus C wurden bewusst weggelassen um Fehlerquellen zu verringern und Lesbarkeit zu steigern. Scala hingegen geht einen anderen weg, sie ist mächtiger und flexibler... büßt dafür aber wieder die Stärken von Java ein.

Blablabla haben wir ja alles schon gehört etc. der eigentliche Punkt auf den ich zurückkommen möchte ist: Was ist das Problem mit Java 6 ? Wenn man jetzt ein Projekt beginnt kann man sich doch entscheiden ob einem JAVA reicht?! Bei einem bestehenden Projekt läuft schon alles auf SDK6 und eine Umstellung auf z.B. Closures währe eher umständlich /unwirtschaftlich... Also warum das ganze Getöse? kann mir das jemand erklären? Langsam komme ich in den Verdacht das einige einem nur unbedingt ihre Sprache aufzwingen möchten und ständig mit dem Closure Kram ankommen. Closures sind "nice" keine Widerworte aber für meine Projekte kein "MUST HAVE" Ich brauche ein stabiles und gut getestetes Java! Liefert es mir egal wann und ich bin zufrieden!
#zitieren
Gravatar steve 09.09.2010
um 17:34 Uhr
Ich hab ja viel Respekt vor Charles Nutter, aber irgendwie ist die Realität doch eine andere: Es gibt genug Leute, die Scala exakt als "besseres Java" einsetzen und damit extrem glücklich sind.

So langsam würde ich dann auch doch gerne mal ein Beispiel für die These sehen, dass Java weniger komplex als Scala ist.
Das behaupten eine Menge Leute, aber wenn man mal nach einem konkreten Beispiel fragt, ist auf einmal Funkstille.

Bezüglich: "Yes, it has closures, but they're generally not interoperable with other languages or regular Java code [...]"
Ja wie denn auch? Die VM-Leute scheinen sich ja nur für Features zu interessieren die Java braucht. Und so lange Java keine Closures hat, kann man da wohl kaum etwas dran ändern. Vor ein paar Monaten sah es ja auch so aus als ob Java da den gleichen Ansatz wie Scala wählen würde ... also so falsch kann das, was Scala macht auch nicht gewesen sein.
#zitieren
Gravatar HAL 9000 10.09.2010
um 08:08 Uhr
@james: Ja, hier ist ab und an schon mal zu lesen, dass "Scala die Zukunft von Java" ist. Ob das einzelne Meinungen sind oder die Sichtweise der Community kann ich aber nicht beurteilen.

An der Klippe größerer Projekte zerschellt die Welle der funktionalen Sprachen bisher noch meistens. Dabei ist es egal, ob man sich enthusiastisch für Ruby, Groovy oder Scala einsetzt, abgelehnt wird der Einsatz auch aus den Gründen, die Du genannt hast. In Java hast Du eben stabile Entwicklungsumgebungen, ausgeknautschte Frameworks und vor allem die Erfahrung der Entwickler mit den Tücken des Objekts.
Und Scala (oder Ruby oder Groovy oder ...) kennt nun mal nicht jeder, da ist die Frage mit dem Ersatz ganz spannend, wenn der Scala Evangelist nicht im Haus ist wegen Urlaub und so.
Und es gibt viele Entwickler, die das ganze als Beruf und nicht als Berufung sehen, die interessieren sich nicht für neue Sprachen. (Also auch hier eine Annäherung von Java an Cobol-Verhältnisse ;-)
#zitieren
Gravatar Diethold 10.09.2010
um 13:38 Uhr
hype, hype, hype. der alltag besteht dann aber doch aus refactoring in ausgenudelten alt-anwendungen, jenseits des java 1.5 spektrums. clojures, closures und fitze-fatze hin oder her: a job is job is a job und programmierung bedient sich bestehender dinge und setzt aufgaben um. so what? #zitieren
Gravatar nero 10.09.2010
um 14:01 Uhr
@ Diethold: Klar, der Alltag besteht aus 0 8 15 Zeugs. Aber interessierst du dich denn nur für den Alltag? #zitieren

Folgende Links könnten Sie auch interessieren