Die Auswahl der richtigen Programmiersprache ist keine leichte bei der Umsetzung einer Idee. Gleich vorweg: Es gibt nicht die richtige oder perfekte Programmiersprache. Für jedes Projekt sollte die Entscheidung der richtigen Programmiersprache individuell getroffen werden. Dabei kann zum Beispiel folgendes betrachtet werden:

Bestehende Kenntnisse der Entwickler

Wenn Ihr schon Entwickler habt oder selbst entwickelt gibt es Wissen und vielleicht schon bestehenden Quellcode. Es macht dann keinen Sinn sich von bewährten Methoden zu verabschieden und zu wechseln. Gerade wenn ihr euch von der neuen Programmiersprache keine signifikanten Vorteile erwartet.

NodeJS bietet zum Beispiel den Vorteil in JavaScript zu programmieren. Da die Benutzeroberfläche eurer Web-Anwendung ebenfalls mit JavaScript-Unterstützung laufen wird habt ihr nur eine Sprache für das Frontend (was der Kunde sieht) und Backend (was bei euch läuft und die Geschäftslogik abbildet). Somit kann es auch eine Entscheidung für NodeJS geben, sofern eure Strategie beispielweise die Einbindung der Entwickler für alles ist. Man nennt das dann Full-Stack-Entwickler, also Entwickler die sowohl Frontend als auch Backend betreuen.

Verbreitung der Programmiersprache

Bei der Verbreitung der Sprache steht die Suche nach Talenten im Vordergrund. Stellt euch vor ihr habt eine Anwendung in einer hippen Sprache geschrieben. Nun gründet ihr ein Unternehmen und seid sehr erfolgreich. Die Anwendung wächst und ihr braucht Hilfe dieses Wachstum so schnell wie möglich fortzuführen. Nun sucht ihr am Markt nach Entwicklern und findet niemanden der die neue, hippe Programmiersprache kann. Nun müsst ihr erst einmal eigene Entwickler ausbilden oder teure externe Unternehmen beauftragen. Natürlich könnt ihr die Anwendung auch einfach neu entwickeln. So oder so solltet ihr auf eine gewisse Verbreitung achten.

Einsatzbereich der Programmiersprache

Werden viele Berechnungen durchgeführt? Bei CPU-intensiven Web-Anwendungen eignet sich eine kompilierte Programmiersprache wie Golang oder eine Just-in-Time-Compiler Sprache wie Java am besten. Skript-Sprachen wie PHP oder Python arbeiten hier langsamer bzw. müssen stark optimiert werden um eine ähnliche Leistung zu erreichen.

Bei vielen Anfragen oder gleichzeitigen Verbindungen kann die Auswahl der richtigen Programmiersprache ebenfalls viel Geld sparen. Je weniger effizient die Programmiersprache mit der jeweiligen Anforderung bzw. Situation umgehen kann, desto mehr müssen wir in unsere Infrastruktur investieren. Wer sich für einen Vergleich der Leistung mehrerer Programmiersprachen interessiert kann hier nachschauen: https://www.toptal.com/back-end/server-side-io-performance-node-php-java-go

Geschäftsmodell

Baut Ihr eine Plattform auf die eure Kunden zentral zugreifen oder läuft die Anwendung lokal bei eurem Kunden bzw. stellt ihr jedem Kunden eure Anwendung separat bereit? Das hängt stark von eurem Geschäftsmodell ab. Bei einer Plattform ist es wichtig das sie gut skaliert, je mehr Kunden ihr gewinnen könnt. Bei lokalen Anwendungen beim Kunden sollte der Betrieb möglichst einfach sicher gestellt werden.

Einsatzort

Im Geschäftsmodell ist das schon ein wenig angerissen worden. Eine Plattform betreibt ihr wahrscheinlich in einem eigenen oder fremden Rechenzentrum mit spezialisierten Servern (Datenbank-, Applikations- und Web-Server).

Wenn ihr statt einer Plattform die Anwendung pro Kunden bereitstellt oder diese beim Kunden selbst läuft sollte die Anwendung einfach bereitgestellt werden. Eine Kompatibilität zu einfachen Hosting-Paketen macht hier am meisten Sinn. Hier wird meistens mindestens PHP unterstützt.

Fazit

Ich persönlich arbeite mit dem PHP-Framework Laravel für normale Web-Anwendungen. Es erlaubt eine schnelle Erstellung von Web-Anwendungen, ist gut wartbar und kann auch wachsenden Anforderungen standhalten. Ich nutze es insbesondere bei Kundenprojekten, die einfach, schnell und kostengünstig umgesetzt werden sollen.

Bei einer Plattform nutze ich meistens Golang. Es ist eine einfache und sehr stringente Programmiersprache. Sie skaliert gut und bietet die Möglichkeit gute Micro-Services zu erstellen. Das sind kleine Programme, die nur eine spezielle Aufgabe übernehmen, dafür aber sehr effizient. Besonders bei einer Plattform ist es wichtig die Komplexität auf mehrere kleine Programme aufzuteilen, um die Wartbarkeit sicherzustellen.

Ich hoffe der Artikel unterstützt euch dabei, die richtige Programmiersprache für euer Projekt zu finden!