Hobbit oder Gandalf? | 3m5.

17. Januar 2020

Welche Programmiersprache passt zu meinem Projekt? Die Antwort kann von vielen Faktoren abhängen. Und manchmal ist sie falsch.

Wie viele Programmiersprachen es gibt, weiß keiner so genau. Fest steht nur, dass es Sprachen gibt, die besonders häufig verwendet werden. Verschiedene Indices versuchen, diese Veränderung abzubilden. Doch wie entscheiden Entwickler, Projektleiter und Kunden darüber, welche Sprache bei einem konkreten Projekt eingesetzt wird?

Bei 3m5. gibt es viele Best-Practice-Ansätze, die beim Set-up eines Projektes herangezogen werden. Erfahrung ist genauso wichtig wie ein Entwicklerteam, das mehrere Sprachen beherrscht und kritisch nach der optimalen Lösung für ein Problem sucht. Das beginnt zunächst damit, dass bei 3m5. nur Projekte bearbeitet werden, die sich im Internet abspielen. Damit scheiden viele Sprachen aus.

In der Webentwicklung unterscheiden wir zwischen zwei wesentlichen Anwendungsgebieten: der server- und der clientseitigen Entwicklung. In diesen Bereichen werden unterschiedliche Technologien und Programmiersprachen verwendet. Serverseitig haben wir es meist mit den Sprachen PHP, Java, C# und Python zu tun, clientseitig eher mit JavaScript. Der Bereich der Desktopentwicklung (Standard Windows oder Apple GUIs) befindet sich aus unserer Sicht auf dem Rückzug. Mittlerweile gibt es auch eine Vielzahl von Mischarchitekturen, die einen fließenden Übergang von der einen zur anderen Sprache ermöglichen. Hier haben wir es mit NodeJS kombiniert mit JavaScript zu tun, oft auch mit JSF/Java.

Welche Sprachen gerade besonders gefragt sind, kann man an dem Index ablesen, der besonders häufig für Rankings von Programmiersprachen herangezogen wird. So untersucht das nierländische Unternehmen TIOBE jeden Monat, wie viele Abfragen Suchmaschinen zu Programmiersprachen verzeichnen. Und wertet das als Hinweis darauf, mit welchen Sprachen Entwickler auf der ganzen Welt versuchen, ihre Programmierprobleme zu lösen. Auf den vorderen Plätzen landen regelmäßig die Sprachen Java, JavaScript, C, C++ oder C#, auch PHP ist dabei.

Aus Sicht eines Entwicklers ist es oft eine Grundsatzentscheidung, welche Sprache er lernt. Dass es da nicht nur nüchtern sondern auch mal emotional zugeht, zeigt die Analogie zu Filmcharakteren, die ein indischer Entwickler vor etwa vier Jahren auf der Plattform Quora aufstellte. Wie in „Herr der Ringe“ kämpfen im Code-Universum verschiedene Charaktere miteinander – friedlich und kooperativ wie Gandalf (Java), eher unansehnlich wie ein Orc (PHP), oder stets unterschätzt wie ein Hobbit (JavaScript).

Da Webprogrammierung die Softwareentwicklung dominiert, verwundert es nicht, dass auch die großen Internetkonzerne wie Google, Facebook, Twitter Einfluss haben auf Programmiersprachen. Der Fokus liegt auf Big Data, eigenen Datenbanken und eigenen Technologien. Das ist deutlich im TIOBE-Index erkennbar: Dort steigt die Nutzung von Go (alias Gollum) an, das aus dem Google-Umfeld stammt, ebenso die von Swift, eine Sprache zur Programmierung von Apples Betriebssystem iOS. Facebook-Projekte erfordern das JavaScript-Framework React.

In vielen Fällen ergibt sich die Sprache auch aus dem Tech Stack, den der Kunde in das Projekt einbringt. Etwa mit der Vorauswahl eines bestimmten Content Management Systems. So erfordern TYPO3, Drupal und Wordpress eher PHP, CoreMedia verlangt eher Java. In der Vielzahl der Enterprise-Entwicklungsprojekte, mit denen es wir zu 90 Prozent zu tun haben, hat der Kunde bereits Grundsatzentscheidung zwischen Windows und Linux getroffen. Wenn Windows beispielsweise die Grundlage ist, führt das in der Regel zur Verwendung von C# und ASP.NET.

In den letzten drei bis vier Jahren haben wir in unserer Arbeit mit Webprojekten eine Best-Practice-Architektur etabliert. Diese ist vor allem durch die rasante Entwicklung im Bereich Mobile getrieben und durch die Heterogenität der Devicegrößen bestimmt. Dabei wird auf der Serverseite mit einer Technologie wie Java oder PHP gearbeitet. Alle wesentlichen Funktionen werden über REST-Services mit JSON-Daten abgebildet. Das Frontend arbeitet auf Basis dieses Backends und lädt die verwendeten Daten über die REST-Schnittstelle. Wie auch immer die Entscheidung für eine bestimmte Programmiersprache und die Technologie fällt – sie muss zum Projekt und zur Problemstellung passen. Die Beratungsleistung des Technologiepartners sollte also unbedingt in ausreichendem Maß bei der Planung des Projekts eingeholt werden.

Unsere Standorte

Autorin des Beitrags
Anne Schneider
presse@3m5.de
Die meistgelesenen Artikel der letzten Monate