Avatar von legine
  • legine

360 Beiträge seit 21.05.2012

One Fits all Mentalität gefährlich

Wenn ich in Betrieben komme und dort auf die Einstellung treffe wir machen alles mit Java, muss ich immer die Stirn runzeln. Nach kurzen Nachhaken stellt sich dann heraus das dann (wiederwillig?) Ausnahmen gemacht werden. Diese Ausnahmen werden dann versucht möglichst begrenzt zu halten.
Als Hauptargument begnet mir dann eine Risiko abschätzung, das jeder eigene Entwickler jedes in Haus Projekt einspringen kann.

Ich finde durchaus, das die Mitarbeit in der Lage sein sollten in allen Bereichen der Hauseigenen Projekten einsetzbar sein ein anstrebbares Ziel ist.
Aber nur Java Kenntnisse reichen da meist nicht aus, für Web Anwendungen werden andere Frameworks und technologien eingesetzt als für Desktop oder Android Anwendungen.

Ich finde auch das JAVA heute nicht mehr als single Point of truth gelten kann. Es gab eine Zeit in der die Aussagen des Artikels zutrafen. Für Webentwicklung im Business Scale war Java lange Zeit alleinherscher. Das ändert sich gerade.
Zwar verbleibt die JVM als Basis erhalten, was durchaus Sinn macht um die Java Legacy nicht zu verlieren, aber sprachen wie Scala, Kotlyn erobern die Welt. Auch mit Ceylon ist ein weiterer Sprachnewcommer am start, der Java die allein herrschaft streitig machen kann.

Man könnte Meinen das mit Java ein durchaus konkurenzfähiges Werkzeugumfeld existiert und das Mithalten möglich ist. Allerdings der Umstand das die gennante Konkurenz in der JVM zu hause ist, bedeutet auch Wechselwirkungen zwischen dieser Familie.
Nehmen wir das Play Framework. Mir wurde dieses empfohlen als Bibliothek für Web Entwicklung. Dieses ist aber In Scala geschrieben. Meiner Meinung nach muss ich mich mit Scala in diesem Moment Auseinander setzen. Denn Bibliotheken bestimmen doch meine Problemzonen und Risiken.
Wenn ich eine Bibliothek einsetze die ich nicht verstehe und dessen implementierung nicht abschätzen kann, fliege ich in einer Gewissen weise einen Blindflug.

Ich halte auch nur Java zu nutzen auch aus einen anderen Grund für gefährlich. Leute die nur eine Sprache einsetzen haben irgendwann ihren Weg gefunden wie sie Probleme lösen. Das heißt aber auch ihre Entwicklung bleibt stehen.
Dieses Fänomen sehen wir in C++. Die Sprache hat sich maßiv weiter Entwickelt. Trotzdem verlassen sich viele Programmierer auf 30 Jahre alte Konzepte die Fehleranfällig und teilweise auch nicht mehr im Fokus stehen.
Ich sehe das gleiche Problem mit Java.

Wenn mehrere Sprachen eingesetzt werden, man kann sich ja auf 3-5 Sprachen Limitieren, bleibt man aufgeschlossen neuen Konzepten gegenüber. Mit der Zeit können auch einzelne Sprachen aus dem Portfolio entfernt und wieder hineingenommen werden.

Multilinguale Projekte:
Ich bin eigentlich ein Feind von solchen Ansatz, aber das legt ausschließlich daran das die Trennung und die Sprachen Schnittstellen nicht immer klar getrennt sind. Ist dies gegeben, steht eine vollkommene andere Welt offen.
Für mich ist eine offener Ansatz alternativlos. Nur so können Firmen mit der Zeit gehen und ihre Anwendungen Migrieren anpassen und am leben erhalten.

Häufig wird hier meiner Meinung nach auch nach falschen Paradigmen vorgegangen.
"Build Once run forever"
"Implement once run everywhere"

Ich finde folgende Paradigmen sollten genutzt werden:
"Build often for felxibility"
"Implement for continous maintenance"

meine 2 Cent

Bewerten
- +