Warum sollte ein Java-Entwickler eine zusätzliche JVM-Sprache lernen?

7

Ich bin ein Java Entwickler und ich möchte wissen, Was ist der Hauptvorteil beim Erlernen einer Sprache wie Scala oder Groovy?

    
Radi 14.01.2010, 14:12
quelle

9 Antworten

10

Sie können den gleichen Vorteil daraus ziehen, dass Sie eine andere JVM-Sprache lernen, wenn Sie eine neue Sprache lernen. Es erhöht Ihr Verständnis von Programmierung im Allgemeinen und, was noch wichtiger ist, fügt Ihrer Toolbox ein weiteres Werkzeug hinzu.

Wenn Sie also das nächste Mal ein Problem lösen müssen, greifen Sie statt eines Hammers nach einer Nagelpistole.

Um genauer zu sein, Groovy ist eine gute Sprache, um schnell Code nachzubauen, und Scala, während ich es noch nie benutzt habe, eignet sich aufgrund seines funktionalen Ansatzes hervorragend zum Schreiben von parallelen Anwendungen. Wie bereits erwähnt, können die JVM-Sprachen mit Java-Code interagieren. Dies kann nützlich sein, um Legacy-Systeme hinzuzufügen oder um Teile einer Anwendung schnell zu kopieren.

    
James McMahon 14.01.2010, 14:15
quelle
5

Einige gute Gründe, die Ihnen einfallen:

  • Sie haben Funktionen, die Java nicht hat und die Sie unter bestimmten Umständen nützlich finden können.
  • Sie verwenden verschiedene Programmierparadigmen, unterschiedliche Denkweisen.
  • Das Erlernen anderer Sprachen öffnet deine Gedanken.
  • Das Erlernen von Sprachen macht Sie sich ihrer jeweiligen Stärken und Schwächen bewusst.
  • Sie bekommen mehr und mehr Aufmerksamkeit und besseren JVM-Support (mit Java 7).

Vielleicht sollten Sie sich die umgekehrte Frage stellen:

  • Warum nicht eine zusätzliche JVM-Sprache lernen?
Pascal Thivent 14.01.2010 15:16
quelle
3

Die anderen Antworten hier haben sehr gute Punkte, aber eine Sache fehlt mir.
Ein guter Programmierer identifiziert sich selten als "Java-Entwickler", "Python-Entwickler" oder "Entwickler". Das Erlernen einer anderen Sprache (sei es eine JVM-Sprache oder nicht) wird Sie verstehen lassen, dass es viel mehr in der Welt zu lernen gibt.

Wenn Sie mit nur einer Sprache zufrieden sind, bedeutet dies normalerweise, dass Sie die Probleme, die es hat, nicht beachten und dass es viele Aufgaben gibt, die besser für andere Sprachen geeignet sind.

Deshalb ermutigen die Pragmatischen Programmierer jeden Programmierer, eine Sprache pro Jahr zu lernen.

    
abyx 14.01.2010 14:48
quelle
2

Die Sprachen, die Sie erwähnt haben, üben ein anderes Programmierparadigma, das Ihnen helfen könnte, produktiver zu sein. Es macht auch mehr Spaß mit ihnen zu arbeiten.

Sprachen wie Scala und Clojure laufen auf der JVM und zeigen eine großartige Leistung in Multicore-Systemen, ohne dass Synchronisationsanforderungen auferlegt werden.

Und natürlich können Sie immer noch die volle Fülle von Bibliotheken nutzen, die für Java verfügbar sind.

    
kgiannakakis 14.01.2010 14:19
quelle
1

Weil du dann eine neue Sprache kennst, was eine breitere Kompetenz und eine andere Sichtweise auf Probleme bedeutet. Da Groovy und Scala auf der JVM laufen und Sie Java beherrschen, können Sie vorhandene Bibliotheken und Code integrieren, wenn Sie möchten oder müssen.

    
Kaleb Brasee 14.01.2010 14:15
quelle
1

von Ссылка :

"Groovy ist wie eine Super-Version von Java. Es kann die Enterprise-Fähigkeiten von Java nutzen, verfügt aber auch über produktive Funktionen wie Schließungen, Builder und dynamisches Tippen. Wenn Sie Entwickler, Tester oder Script-Guru sind, müssen Sie Groovy lieben. "

In vielen Fällen ist es sinnvoll, Groovy über Java zu verwenden; Zum Beispiel in Java Unit Tests!

    
code-zoop 14.01.2010 14:15
quelle
0

Skriptsprachenvorteile innerhalb von jvm. Nahtlose Interaktion mit kompiliertem Java-Code.

    
Kai Huppmann 14.01.2010 14:14
quelle
0

Ich weiß, dass Sie mit Groovy Skripte (aus Dateien) zur Laufzeit von Ihrer Java-Anwendung laden können. Dadurch kann ich das Verhalten von Anwendungsaktionen auf einer Client-Site anpassen, ohne dass ich Code neu kompilieren muss. Es ist ziemlich schön.

    
Jason Nichols 14.01.2010 14:18
quelle
0

Entschuldige mehr Fragen und Antworten.

  • Womit würdest du deine Zeit verbringen, wenn du keine neue Sprache lernst?
  • Warum beschränken Sie sich auf JVM-Sprachen?
  • Wäre es von Vorteil, testgetriebene Entwicklung zu lernen?
  • Was ist mit dem Lernen von Standarddesign-Patenten?
  • Was versuchen Sie mit Ihrer Investition Zeit zu erreichen?

Eine Sprache zu lernen ist immer gut, aber wenn du sie nicht gut lernst und sie verwendest, erhältst du keinen großen Vorteil, da du in der Lage sein solltest, " in einer Sprache zu denken" > "Um Ihre Meinung zu erweitern.

Die Verwendung von mehr als einer Sprache in einem Unternehmen führt zu vielen zusätzlichen langfristigen Kosten, so dass Sie mehr davon lernen können, wie Sie in Ihrer Hauptsprache besser programmieren können, nur Sie können entscheiden.

    
Ian Ringrose 14.01.2010 15:07
quelle

Tags und Links