# "Learn A Different Language"



## Landei (9. Aug 2012)

... sagt JUG-Leader  Dave Fecak: Advice From A JUG Leader – Learn A Different Language | job tips for geeks

Und seine Antwort auf die unvermeidliche Kritik: Advice From A JUG Leader II ? Debate Breakdown | Javalobby


----------



## schlingel (10. Aug 2012)

Ich verstehe diese ganze Aufregung um Programmiersprachen nicht.

Die Paradigmen werden immer gleich bleiben. Es ist sehr zu empfehlen sich ein paar Sprachen anzusehen, die verschiedene Paradigmen unterstützen. Ich für meinen Teil arbeite hauptsächlich mit Javascript und Java (auf Android allerdings) und kann sagen, dass mich meine Erfahrungen in F#, Haskell, Ruby, C und sogar Assembler hier sehr unterstützt haben.

Die einen Sprachen bringen einem Techniken bei die man in seiner "Hauptsprache" immer übersehen hat, die andere zeigen einem wie's besser gehen könnte. (z.b. das Actor-Framework ist so ein Resultat)

Also weshalb hier überhaupt noch diskutiert werden muss ob es klug ist eine andere Sprache zu lernen finde ich sehr seltsam.


----------



## Landei (10. Aug 2012)

Es gibt besonders in "konservativen" Firmen genug Leute, die sehr auf eine bestimmte Sprache fixiert sind, und bei denen jeder Versuch, andere Lösungsmöglichkeiten auch nur in Betracht zu ziehen, unweigerlich kognitive Dissonanz samt passiv-aggressiven Verhalten hervorruft.


----------



## schlingel (11. Aug 2012)

Im Einführen von neuen Programmiersprachen ins System - jedenfalls ohne Not bzw. Sachzwang - halte ich auch wenig. Es muss zusätzlich viel Komplexität verstanden werden um zum einen stabilen Code und zum anderen ein funktionierendes CI-System aufzubauen.

Also ein wenig kann ich die Haltung verstehen. Allerdings sollte man immer bedenken, dass wenn die eigene Plattform gar nicht oder nur mit deutlichem Mehraufwand für ein Problem verwendet werden kann, dass ein anderes System hier helfen kann.

Bei "konservativen" Unternehmen beißt sich die Katze wohl in den Schwanz. Wie wird ein Unternehmen "konservativ"? In dem es ein gewisses Alter erreicht. Was passiert wenn es ein gewisses Alter erreicht? Es besitzt eine Palette an Produkten die beständig weiter entwickelt werden und dementsprechend nicht so einfach ersetzt werden können oder erweitert werden können.


----------



## Evil-Devil (17. Aug 2012)

Landei hat gesagt.:


> Es gibt besonders in "konservativen" Firmen genug Leute, die sehr auf eine bestimmte Sprache fixiert sind, und bei denen jeder Versuch, andere Lösungsmöglichkeiten auch nur in Betracht zu ziehen, unweigerlich kognitive Dissonanz samt passiv-aggressiven Verhalten hervorruft.



Das erinnert mich an einen Ex-Mitarbeiter, der einem mal direkt ins Gesicht sagte er wolle sich nicht mehr weiterbilden...

Neue Sprache lernen schön und gut, nur ganz ohne Anreiz wäre mir das auch zu viel des guten. Einen minimalen Anreiz brauch man schon. Zb. Skripte zur Automatisierung.


----------



## Java-Pelé (12. Okt 2014)

Evil-Devil hat gesagt.:


> Das erinnert mich an einen Ex-Mitarbeiter, der einem mal direkt ins Gesicht sagte er wolle sich nicht mehr weiterbilden...
> 
> Neue Sprache lernen schön und gut, nur ganz ohne Anreiz wäre mir das auch zu viel des guten. Einen minimalen Anreiz brauch man schon. Zb. Skripte zur Automatisierung.



Bildung und Weiterbildung sollte nicht zweckgerichtet sein. Wer nur zweckgerichtet lernt, ist ein Sackgassenmensch. Denn woher soll man wissen, dass man etwas nicht braucht, wenn man es nicht kennt?

Ich versuche es zu beherzigen, was im Buch "Pragmatischer Programmierer" empfohlen wird: In jedem Jahr eine neue Programmiersprache lernen. Natürlich geht es nicht darum, dass man eine neue Sprache projektbezogen gründlich anwendet, sondern dass man neue Konzepte und Paradigmen kennenlernt.

Ich kann auf 20 Jahre Programmiererfahrung zurückgreifen, obwohl ich erst 32 bin. Für mich war das Lernen einer neuen Programmiersprache immer mit einem Kenntnisgewinn verbunden, der sich positiv auf meine gesamten Entwicklerkenntnisse auswirkte.

Eigentlich könnte ich mich im Vergleich zu meinen Kollegen zurücklehnen, aber ich möchte es nicht, weil ich immer noch wissbegierig bin. Meine Kollegen sind teilweise wie dein Ex-Mitarbeiter. Was neues zu lernen, kommt da gar nicht in Frage. Ein Kollege tönt sogar rum und meckert auf andere, die würden nichts dazulernen, aber er selbst nutzt die freie Zeit am Arbeitsplatz (als es mal weniger zu tun gab) fürs Daddeln auf dem iPhone anstatt für die Weiterbildung. Dabei geht das in der IT so einfach: Buch zur Hand nehmen, Tutorials runterladen, losproggen, experimentieren. Jener Kollege scheint sogar zu glauben, er könnte mir das Wasser reichen. Dabei hat er die formell schlechtere Ausbildung, weniger Berufs- und auch weniger Programmiererfahrung. Und offenbar auch viel weniger Bildungseifer.

Die denken dann, sie könnte Java und sie wären sonst wer.

Und einem Ex-Kollegen habe ich mal was erklären wollen, da er ganz offensichtlich Defizite hatte. Seine Aussage: "Ich habe schon zu Ende studiert."


----------



## Java-Pelé (12. Okt 2014)

schlingel hat gesagt.:


> Bei "konservativen" Unternehmen beißt sich die Katze wohl in den Schwanz. Wie wird ein Unternehmen "konservativ"? In dem es ein gewisses Alter erreicht. Was passiert wenn es ein gewisses Alter erreicht? Es besitzt eine Palette an Produkten die beständig weiter entwickelt werden und dementsprechend nicht so einfach ersetzt werden können oder erweitert werden können.



Die Diskussionen kenne ich. Ich bin einem "konservativen" Unternehmen. Vor wirklich neuen Techniken, die einen weiterbringen können, hat man Angst. Man krebst seit Jahren mit Java herum, anstatt funktioniale Programmiersprachen punktuell einzusetzen. Ich habe in diesem Jahr eine DSL geschrieben. Ich wüsste zig Anwendungsfälle, wo wir firmeninterne DSLs entwickeln könnten, um uns viel Arbeit zu ersparen. Aber ich weiß ja jetzt schon die Ausreden... neue Programmiersprache wäre immer Risiko. So haben viele Assembler-Fricklerbuden von früher auch gedacht und sind pleite gegangen. Und mit Java wird's auch passieren. Und Java 8 zeigt ja ohnehin, dass Elemente funktionialer Programmierung Einzug erhalten und dann wird jeder damit konfrontiert werden. Aber das ist ein alter Hut und die Lisp-, Python-, Ruby-, Groovy- und Scala-Entwickler kennen das alle schon, weil sie sowas seit langem nutzen. Und diese Programmiersprachen sind produktiver, gerade wegen diese funktionialen Elemente, weil mit funktionialer Programmierung eine gewisse Stringenz Einzug erhält und das ganze schneller, sicherer, wartbarer macht.


----------

