Welche Programmiersprache für Backend (Web)?

Das Ergebnis basiert auf 15 Abstimmungen

Java 53%
C# 27%
PHP 20%
Python 0%
Node.js 0%
Weitere 0%
wrglbrmpft  15.02.2024, 01:02

Was willst du denn eigentlich? Einen guten Job? Wie ist deine Qualifikation?

GamersGame 
Fragesteller
 15.02.2024, 01:18

Qualifikation: AWS, Ubuntu Nginx, Gunicorn (für Django), HTML, CSS, JavaScript - alle sehr gut, habe damit einige sehr komplexe Tools umgesetzt, also bin wirklich nicht unerfahren

7 Antworten

PHP

Es gibt leider viele Trends die man nicht immer folgen sollte oder die man hinterfragen darf. Beispiel Tailwind.

Die viele CMS-Lösungen mit PHP arbeiten(Drupal, Joomla, Typo3, WordPress, NEOS, usw.) und auch fast alle Webhoster PHP unterstützen und diese Sprache in der Arbeitswelt weit verbreitet ist, darfst du gerne dir mal PHP anschauen. Die Kritik gegenüber PHP liegt mit den alten Versionen der Sprache zusammen und der Sicherheitsarchitektur die man selbst erstellen darf. Aber PHP ist mit der Version 8.1 leistungsfähig und wurde speziell für die Webentwicklung entwickelt - sprich du hast den kompletten Funktionsumfang um eine komplexe Webanwendung zu entwickeln.

Da ich schon mit allen Sprachen die oben erwähnt hast gearbeitet habe, kenne ich die Vor- und Nachteile jeder einzelnen Sprache sehr gut. Jede Sprache bringt unterschiedliche Fähigkeiten mit sich.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)
Java

Wer "Webanwendungen" baut, baut meistens mehr Web als Anwendung. Will sagen, das "Backend" ist eigentlich nur ein kleines Anhängsel mit wenig Logik und bisschen Datenbank und API-Calls. Dafür bieten sich die Djangos und Rails dieser Welt gut und gerne an.

Wer aber große, komplexe, skalierbare Anwendungen baut, die halt unter anderem auch ein Web-UI haben, sieht die Welt völlig anders. Und ja, dort dominiert Java und ein bunter Strauß an anderen Sprachen kommt natürlich dazu.

Du musst dich also erst entscheiden, was du machen willst.

Die Empfehlung ist: nimm Python (Django oder Flask), Ruby, GO, etc. (eben die neuen Sprachen).

LOL. Python und Ruby sind deutlich älter als Java & Co! Go ist natürlich jünger, aber hat sich wie die vorgenannten auch nur eine Nische besetzt. Gerade die Nennung von Ruby finde ich amüsant: der große Hype um Ruby ist mindestens 15 Jahre vorbei. Klar, dank Rails ist es nach wie vor für die obigen "Webanwendungen" in manchen Unternehmen beliebt. Aber sonst ist es weitgehend irrelevant, außer vielleicht noch ein bisschen in asiatischen Märkten.

Fazit: man sollte solche Entscheidungen nicht von irgendwelchen YouTubern abhängig machen. Die schwafeln viel Blödsinn, wenn der Tag lang ist, das ist ihr Geschäftsmodell.

Diese "alt/neu"-Diskussion ist sowieso Unfug. Fast jede Sprache entwickelt sich weiter, nicht immer sinnvoll (wie man etwa am "Kitchen Sink"-Ansatz von C# erkennt, bei dem jedes Modefeature in eine immer planloser aufgeblähte Sprache gestopft wird), aber doch. Es spielt letztlich wenig Rolle, wann eine Sprache entstanden ist, sondern wie gut und aktiv sie entwickelt und verwendet wird. Und natürlich, wie gut sie für den jeweiligen Anwendungsbereich passt.

Vor 20, 30 Jahren glaubte man noch, dass es die eine Sprache geben wird, die alle anderen ablösen wird. Das genaue Gegenteil ist eingetreten.

Palladin007  15.02.2024, 11:29
Wer "Webanwendungen" baut, baut meistens mehr Web als Anwendung.

Sorry - Nein.

Vielleicht ist das bei deinen Projekten bisher so gewesen, aber es hängt schon von der Art des Projektes ab. Bei einem aktuellen Projekt, an dem ich arbeite, ist der Backend-Teil umfangreicher, als das Frontend.

Es gibt natürlich auch Projekte, bei denen man eigentlich nur mehr oder weniger stumpf Daten anzeigt, aber eben auch solche Projekte, bei denen die Business-Logik im Backend ziemlich komplex sein kann.

Odeer meintest Du das mit "große, komplexe, skalierbare Anwendungen"? Dann ist deine anfängliche Formulierung "Wer "Webanwendungen" baut" aber mehr als missverständlich ;)

0
Java

Java, wenn du in etabliertere schon länger bestehende Unternehmen willst. PHP ist auch sehr stark vertreten, allerdings dann eher für so Online Shops oder Plattformen und wahrscheinlich meistens eher als Dienstleistung.

Eigenprodukte sind vermutlich meistens mit Java geschrieben, beliebt bei Eigenprodukten ist aber auch b und zu mal C#. Für neuere Entwicklungen gibt es viel JavaScript based stuff. Da jedes Unternehmen gefühlt gerade „AI“ schreit, ist Python aber wohl auch keine allzu schlechte Wahl, allerdings nur wenn man sich dann auch sehr tief in die Mathematik und danach in ML Frameworks wie PyTorch einarbeiten will. Wahrscheinlicher ist allerdings, dass viele Unternehmen dort eher oberflächlicher bleiben und sich in ihrer bestehenden Umgebung eine API dafür schnappen.

Woher ich das weiß:eigene Erfahrung
Java

In dem Unternehmen in den ich arbeite wird verschiedenes eingesetzt, in meinem Bereich mit einigen Dutzend Projekten wird hauptsächlich die Kombination Java und Angular eingesetzt.

Mit C++ und C# machst du aber auch keinen Fehler, auch das wird vielfach eingesetzt.

Was Frameworks angeht ist es das wichtigste mit Javascript, CSS und HTML vertraut zu sein und sich schnell einarbeiten zu können. Dann bist du da flexibel.

Kenntnisse in Python oder Ruby sind sicher auch gut, ist aber meinen Eindruck nach eher selten bei großen Unternehmen, eher bei kleinen.

Woher ich das weiß:Berufserfahrung – Software Entwickler
C#
sagen die meisten Java - nein, C# (.Net) - veraltet

Das verstehe ich nicht?
C# oder .NET soll veraltet sein?
Ich wüsste keine Technolodie, die aktueller ist, Microsoft haut Updates und neue Funktionen im Rekord-Tempo raus und bezieht dabei permanent die Community mit ein.

Wenn dann ist Java veraltet, soweit ich gehört habe, wird/wurde das von Oracle ein wenig stiefmütterlich behandelt, wenn es nicht für Datenbank-System relevant ist.

Das heißt natürlich nicht, dass Java schlecht ist, wer KnowHow mit Java hat und mit C# nicht, darf gerne bei Java bleiben, für die meisten Projekte ist das völlig in Ordnung. Aber ich rechne damit, dass Java auf einem absteigenden Ast ist und es nur noch eine Frage der Zeit ist, bis es immer mehr an Bedeutung verlieren wird.

dann gibt es aktuell 14 Jobangebote in Deutschland

Es gibt definitiv deutlich mehr Jobangebote.
Viele Firmen arbeiten aber mit Recruiting-Firmen und Headhuntern zusammen und kümmern sich nicht (mehr) selber um ihre Jobangebote. Und diese Dienstleister arbeiten mit XING, LinkedIn und Co. und pflegen ihr eigenes persönliches Netzwerk und "kaufen" die Bewerber dann aus anderen Firmen raus.

Wie man Java einordnen kann, weiß ich nicht, aber Du kannst ja mal bei ein paar Recruitern durchtelefonieren, wie viele Java- und wie viele C#-Stellen sie suchen. Beachte aber, dass ggf. manche sich auf eine Technologie spezialisiert haben könnten.

Denn laut den Jobangeboten ist Java an erster Stelle und dann kommt C# an zweiter Stelle, für alle weiteren gibt es dann kaum Angebote.

Ich bin nicht so Tief im Thema, was Java angeht, aber soweit ich gehört habe, liegt das (nur) daran, dass Java etwas früher entwickelt wurde, als C# und anfangs auch besser war und sich wegen der damals noch einzigartigen Technologie mit krassen Vorteilen eine enorme Reichweite erarbeitet hat. Das heißt, es gibt einfach noch extrem viele Java-Projekte oder Entwickler-Teams mit viel Java-KnowHow und wie werden natürlich auch bei Java bleiben.

Allerdings fährt C# - soweit ich das mitbekomme - aktuell auf der Überholspur, ist also nur noch eine Frage der Zeit, bis es Java überholt hat.

Ganz besonders im Web mit ASP.NET Core, Blazor und EFCore erfreut sich das .NET-Ökosystem und C# einer enormen Beliebtheit. Mir hat letztens ein Recruiter/Headhunter gesagt, dass immer mehr Firmen erfahrene Entwickler mit diesem Tech Stack suchen und er mich mühelos an eine Reihe Firmen zu deutlich besseren Gehältern vermitteln könnte, einfach nur weil ich viel Erfahrung damit habe. Ich glaube ihm das auch, klang nicht nach typischem Verkaufsgerede, wenn er dabei lacht :D

Die Empfehlung ist: nimm Python (Django oder Flask), Ruby, GO, etc. (eben die neuen Sprachen).

Ich kenne alles Genannte nicht.
Python ist unter Anfängern sehr beliebt (weiß Gott warum...), soweit ich gehört habe, bei Firmen aber eher weniger. Erfahrenere Entwickler tendieren meiner Erfahrung nach auch eher zu einer strengen Typisierung, da der Compiler auf diese Weise viele Probleme im Voraus aufdecken kann und außerdem zu besserem Code zwingt.

Und Ruby und Go sind meines Wissens nach (Vorsicht, halb geraten) noch relativ wenig verbreitet, also verstehe ich nicht, warum eine Firma darauf setzen sollte, wenn sie nicht gerade Vorteile braucht, die es nur damit gibt?

Was aber eine eher wenig verbreitete Sprache ist, die aber einen wesentlichen Vorteil hat: Rust
Das soll im Bezug auf Performance extrem gut sein, aber ohne dabei so extrem komplex zu werden, wie C/C++. Microsoft baut deshalb auch einige Kern-Services von Office mit Rust neu, weil sie einfach diese extreme Detail-Optimierbarkeit bei geringerer Komplexität brauchen, die mit einer managed Sprache wie C# nicht möglich ist. Das heißt nicht, dass C# langsam ist, aber man kann mit C/C++ oder Rust einfach sehr viel besser im Detail optimieren, das liegt in der Natur der Sache.
Rust könnte (muss nicht) also mittel- bis langfristig noch eine sehr wichtige Sprache werden.

oder auch PHP, aber die Firmen setzten dann meistens auf WordPress

Bitte kein PHP ...

Ich hab von vielen Stellen gehört, dass sie PHP abgeschafft haben oder es vor haben. Meine derzeitige Firma ist von PHP zu C# mit Angular und dann zu C# mit Blazor gewechselt.

Es gibt natürlich noch viele Firmen, die mit PHP arbeiten, aber nicht weil alle Firmen mit PHP arbeiten wollen, sondern wegen so Frameworks wie Wordpress oder weil sie uralt-Projekte in PHP oder große Teams mit viel PHP-Knowhow haben. PHP war lange sehr weit verbreitet, davon zehrt es noch heute, aber die Zeit ist vorbei.

Mit Frontend Frameworks ist das ja ein ähnliches Problem, es gibt gefühlt wöchentlich neuen Frameworks, aber bei Bewerbungen werden Angular (die meisten Job Angebote), dann React.js, dann Vue.js gefordert.

JavaScript-Frameworks haben den Vorteil, dass das Backend dahinter egal ist, aber auch den Nachteil, dass man JavaScript oder (was etwas besser ist) TypeScript nutzen muss.

Im aktuellen .NET-Umfeld gibt's eigentlich nur Blazor oder den Vorgänger Razor und zumindest Blazor versucht, dass man möglichst wenig JavaScript nutzen muss, der mit Abstand größte Teil des Codes ist also C#. Und dann gibt's natürlich noch Community-Projekte, aber die kommen meiner Meinung nach nicht an Blazor heran.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler