Blog 4 Min. Lesezeit

Vorsicht vor dem Dominanzsyndrom bei Programmiersprachen

Artikel teilen
Beware of Programming Language Domination Syndrome

Wenn wir jahrelang dasselbe Betriebssystem, dieselbe Programmiersprache, dieselben Technologien und Werkzeuge verwenden, können wir irgendwann überzeugt sein, dass unsere Entscheidungen die besten sind, und Alternativen vorschnell ablehnen. Gewissermaßen werden wir zu Gefangenen unserer eigenen Gewohnheiten. Unabhängig von der Art des Projekts oder den Anforderungen des Kunden treffen wir immer wieder dieselben Entscheidungen.

Das lässt sich leicht beobachten, wenn man in einem Forum eine hitzige Diskussion provoziert: Man muss nur behaupten: „.NET ist besser als Java“ oder „Windows ist Linux überlegen“. Die Reaktionen können erstaunlich sein. Viele Entwickler verteidigen eine Seite mit großer Leidenschaft und lehnen die andere kategorisch ab, während nur wenige darüber sprechen, dass jede Lösung ihre eigenen Stärken und Schwächen hat.

Am Ende kann ein Entwickler zum Gefangenen einer bestimmten Programmiersprache werden und zulassen, dass die Sprache seine Entscheidungen bestimmt.

Wir wissen, dass es keine universelle Lösung für jedes Problem gibt. Windows kann in manchen Fällen die beste Wahl sein, in anderen jedoch nicht. Ebenso eignet sich C++ für bestimmte Projekte hervorragend, für andere weniger. Tappen Sie daher nicht in die Falle zu glauben, ein bestimmtes Betriebssystem, eine Sprache oder eine Technologie sei grundsätzlich immer die beste Wahl. Bleiben Sie offen, erkunden Sie Alternativen und überlegen Sie, wo deren Einsatz sinnvoll sein könnte.

Es lohnt sich immer, die Entwicklung anderer etablierter Sprachen zu verfolgen und neue Programmiersprachen kennenzulernen.

Die Entwicklung etablierter Programmiersprachen

C++: Viele Entwickler halten C++ für sehr kompliziert und schwer zu erlernen – eine Sprache vor allem für Experten. Seit 2011 hat sich jedoch vieles verändert. Ein Blick auf die zahlreichen neuen Funktionen könnte die Meinung vieler Entwickler verändern.

.NET und C#: Jede neue Version bringt zahlreiche interessante Funktionen mit sich. Zudem hat sich das Framework grundlegend verändert: Mit dem Open-Source-Framework .NET Coreist eine wichtige neue Plattform entstanden. Es lohnt sich sehr, sie näher anzusehen und ihre Vorteile kennenzulernen.

Java: Vor Java 9 stagnierte Java über viele Jahre. Umso erfreulicher war für viele Java-Entwickler die Nachricht, dass Java 10 in dieser Woche veröffentlicht wurde. Das ist ein gutes Zeichen und zeigt, dass die Weiterentwicklung von Java wieder deutlich an Fahrt aufgenommen hat.

Neue Programmiersprachen entdecken

Rust

Rust ist eine von Mozilla Research unterstützte Systemprogrammiersprache, die als „sichere, nebenläufige und praxisorientierte Sprache“ beschrieben wird und sowohl funktionale als auch imperativ-prozedurale Paradigmen unterstützt. Die Syntax von Rust ähnelt C++, doch die Sprache wurde mit dem Ziel entwickelt, eine höhere Speichersicherheit bei gleichzeitig hoher Leistung zu bieten.

Rust ist eine Open-Source-Programmiersprache. Ihre Entwickler haben die Sprache anhand der Erfahrungen weiterentwickelt, die beim Schreiben der Layout-Engine Servo für Webbrowser gesammelt wurden

[

und beim Rust-Compiler. Ein großer Anteil der heutigen Beiträge zum Projekt stammt aus der Community.

Rust belegte in den Stack-Overflow-Entwicklerumfragen 2016, 2017 und 2018 jeweils den ersten Platz als „beliebteste Programmiersprache“.

Crystal

Crystal ist eine universell einsetzbare Programmiersprache mit dem Motto „So schnell wie C, so elegant wie Ruby“.

Es handelt sich um eine kompilierte, statisch typisierte und vollständig objektorientierte Hochsprache mit fortgeschrittener Typinferenz und Garbage Collection.

Zu den Designzielen von Crystal gehören:

  • Eine Ruby-ähnliche Syntax, ohne jedoch Kompatibilität mit Ruby anzustreben.
  • Statische Typprüfung, ohne dass die Typen von Variablen oder Methodenargumenten explizit angegeben werden müssen.
  • C-Code über in Crystal geschriebene Bindings aufrufen zu können.
  • Auswertung und Codegenerierung zur Kompilierzeit, um Boilerplate-Code zu vermeiden.
  • Kompilierung zu effizientem nativen Code.

Clojure

Clojure ist eine dynamische, universell einsetzbare Programmiersprache. Sie verbindet die Zugänglichkeit und interaktive Entwicklung einer Skriptsprache mit einer effizienten und robusten Infrastruktur für Multithreading. Obwohl Clojure kompiliert wird, bleibt die Sprache vollständig dynamisch – sämtliche Funktionen stehen auch zur Laufzeit zur Verfügung. Clojure ermöglicht einen einfachen Zugriff auf Java-Frameworks und bietet optionale Typhinweise sowie Typinferenz, sodass Java-Aufrufe ohne Reflection auskommen können.

Go

Go (häufig auch als golang) ist eine Programmiersprache, die 2009 bei Google von Robert Griesemer, Rob Pike und Ken Thompson entwickelt wurde. Sie ist eine kompilierte, statisch typisierte Sprache in der Tradition von Algol und C und ergänzt diese um Garbage Collection, eingeschränkte strukturelle Typisierung, Mechanismen zur Speichersicherheit und Nebenläufigkeit nach dem CSP-Modell. Der ursprünglich von Google entwickelte Compiler und die weiteren Sprachwerkzeuge sind vollständig frei und Open Source.

Fazit

Bleiben Sie stets offen für neue Möglichkeiten und verfolgen Sie, was sich in der Branche entwickelt. Genau darin liegt ein Teil der Faszination des Entwicklerberufs: Es gibt kaum Routine, und jeder Tag bringt etwas Neues.

Artikel teilen