Wussten Sie, dass es weltweit bereits mehr als 700 verschiedene Programmiersprachen gibt? Diese Zahl klingt ganz schön beeindruckend, obwohl nur einige wenige von 99% aller Programmierer verwendet werden. Und selbst wenn wir von den TOP-10-Sprachen sprechen, wissen wir eigentlich im Allgemeinen nicht, welche zum Erfolg von Facebook beigetragen hat und welche zur Erstellung Ihres Lieblingsvideospiels verwendet wurde.
Mit der Frage „Mit welcher Programmiersprache wurde eigentlich Instagram / mein Handyspiel / oder diese bestimmte Webseite erstellt?“ wollen die meisten Internetnutzer nur ihre Neugier befriedigen. Aber wenn es um angehende Entwickler geht, werden sie diese Frage wahrscheinlich häufiger stellen müssen, vor allem dann, wenn Sie herauszufinden wollen, welche Sprache sie lernen müssen, um an der einen oder anderen Software weiterarbeiten zu können.
Unabhängig davon, welcher „Sprachgruppe“ Sie angehören, erhalten Sie in diesen Artikel die vollständige Antwort auf die oben gestellten Fragen. Zusätzlich werden wir Ihnen eine umfangreiche Reihe von Beispielen präsentieren. Lassen Sie uns also herausfinden, mit welcher Programmiersprache welche Applikationen und welche Webseiten erstellt wurden…
Ganz einfache Webseiten
Die einfachsten Webseiten aller Zeiten, die Sie wahrscheinlich während Ihrer Schulzeit im Informatikunterricht selbst erstellt haben, werden Sie mit HTML erstellt haben. Diese sind jedoch ziemlich einfach aufgebaut und haben keinerlei funktionale Elemente. Ein Beispiel einer solchen Webseite kann folgendermaßen aussehen:
Dies ist nicht unbedingt das, was Sie von einer wunderschön gestalteten Webseite erwarten würden. Um sicherzustellen, dass Ihre Webseiten mit einem anständigen Design versehen sind, werden Sie möglicherweise CSS verwenden müssen. Diese sind dafür verantwortlich ist, dass die visuellen Elemente Ihrer Webseite speziell und einzigartig aussehen.
Wenn Sie auf Ihrer Webseite interaktive Elemente wie Formulare, Animationen, Schaltflächen, Popups, Quizfragen usw. hinzufügen müssen, dann werden Sie „JavaScript“ einsetzen müssen.
Die ersten beiden in diesem Abschnitt genannten Gestaltungselemente sind jedoch keine Programmiersprachen: HTML ist eine Seitenbeschreibungssprache, während CSS eine Formatvorlage ist. In deren Gegensatz dazu ist JavaScript als eine vollwertige Programmiersprache, mit der Skripte für Webseiten und einfache Anwendungen codiert werden.
Aber dies alles gilt nur für das Frontend, also jenen Teil der Webseite, den Sie auch tatsächlich sehen können. Wenn Sie tiefer in die Datenzugriffsebenen der vom Server und nicht von den Clients verarbeiteten Apps eintauchen, so werden Sie auf die unterschiedlichsten Arten von Skripten stoßen, die sich einem Anwendungsfall zu anderen unterscheiden.
Wenn wir uns die Statistiken zu diesen Technologien ansehen, so stellen wir fest, dass die Back-Ends von 78,9% der Webseiten mittels PHP erstellt wurden. Dies erklärt sich aus der Tatsache, dass rund 35% aller erstellten Webseiten „Wordpress“ als CMS verwenden und diese Seiten auf dieser Entwicklungsumgebung basieren und WordPress selbst basiert wiederum auf PHP.
Aber nicht nur die oben erwähnten Programmiersprachen kommen bei der Erstellung von Webseiten zum Einsatz: weitere verwendete Sprachen sind Java (3,5%), Ruby (3,3%) und Scala (1,6%) aber auch Python (1,4%) wird hierzu genutzt. So basiert beispielsweise „Airbnb“ auf Ruby, die Webseite von Apple setzt sich aus einer Kombination aus Java und Scala zusammen und „Reddit“ verwendet Python als primäre Backend-Sprache.
Die Sozialen Medien wie Facebook, Instagram und Twitter
Apropos „Reddit“, diese stellt eher eine Online-Community dar, als nur eine einfache Webseite und die ist irgendwo zwischen einem Nachrichten-Dienstleiter und einem Social-Media-Netzwerk anzusiedeln. Instagram, als zweitbeliebteste Social-Media Plattform, ist vollständig in Python geschrieben. Diese Sprache zeichnet sich durch eine einfache Syntax aus und wird daher oft als die Einstiegssprache für beginnende Softwareentwickler empfohlen.
Aber die Erfahrungswerte von Instagram haben uns auch gezeigt, dass Python nicht nur ein Kompromiss zwischen Einfachheit und Effizienz ist. Diese Sprache ist auch vollständig skalierbar für solch riesige Projekte wie Instagram, Pinterest oder Youtube, die sich durch ihre überaus umfangreichen Sammlungen an Grafiken, Bilder und Videos auszeichnen.
Facebook hingegen begann als PHP-Website, entwickelte aber später eine eigene PHP-Dialektsprache namens „Hack“. Gegenwärtig basiert Facebook hauptsächlich auf dieser Sprache, enthält aber auch einige Teile, die mit Python, C ++, Java und weniger bekanntem D oder Erlang erstellt wurden. Die ursprüngliche Oberfläche von Twitter verwendete anfänglich „Ruby on Rails“. Später wurde „Scala“ zu ihrer Basissprache, „LinkedIn“ hingegen bleibt bei Java und Scala.
Und was verwenden die Messenger-Systeme?
Hören Sie nicht auf diejenigen, die behaupten, „Instagram“ und „TikTok“ stehen an der Spitze der Bedürfnishierarchie der Social-Media Abhängigen. Dies ist nicht wahr, denn die Nachrichtensysteme haben in der Zwischenzeit die Vormachtstellung in der Nutzungsintensität übernommen. Die Beliebtheit von „WhatsApp“ wird nur noch von „Facebook“ und „Youtube“ übertroffen und ist gegenwärtig das drittbeliebteste soziale Medium weltweit. Unter den Nachrichtensystemen ist es unangefochten die Nummer eins, gefolgt vom „Facebook Messenger“ und „WeChat“.
Diese Messengersystem zeichnen sich dadurch aus, das sind schnell, einfach und bequem in der Handhabung sind, und sie ihren Benutzern unnötige Zusatzinformationen ersparen, die wir häufig in unseren Social-Media-Feeds finden. Auf diese Weise wurden sie zu ebenso effektiven Kommunikationsmitteln wie die herkömmlichen digitalen sozialen Plattformen, jedoch ohne die damit verbundene Überdosis an Informationen.
Der zum Erstellen dieser Software verwendete Tech-Stack unterscheidet sich ebenfalls. WhatsApp, WeChat und die frühe Version von Facebook Messenger verwenden „Erlang“ als Programmiersprache. Obwohl Erlang bei weitem nicht so bekannt ist wie andere Kodierungssprachen, ist sie dennoch eine Mehrzwecksprache, die auch von „Amazon“, „Ericsson“ und „Cisco“ für verschiedenste Anforderungen verwendet wird. Erlang kann gut mit mehreren gleichzeitigen aufgebauten Verbindungen umgehen und Nachrichten weiterleiten. Und gerade auf Grund dieser Vorzüge haben sich sehr viele Nachrichtenapplikationen schnell dieser Sprache bemächtigt
„Viber“ und „Telegram“ verwenden mehrere Sprachen gleichzeitig für ihr Backend. Für die Desktop-App verwendet Viber C, C ++ und Java. Telegramm ist in der verwendeten Technik relativ gleich; Der Tech-Stack umfasst C, C ++ und Qt. Für mobile Apps verwendeten beide offensichtlich Android-natives Java und Objective-C für iOS, das später auf Swift migriert wird.
Triple-A Games wie GTA, PUBG, RDR
In den 70er Jahren waren es die Softwareentwickler mit ihrem exklusiven Zugang zu Computern, die die ersten Videospiele veröffentlichten und populär machten. Es ist aber auch ziemlich klar, dass fast immer die gleichen Entwickler hinter jedem damals entwickelten Titel standen. Videospiele haben sich jedoch innerhalb der letzten – fast – 50 Jahren rasant weiterentwickelt und ein großer Teil der Softwareentwickler ist weiterhin diesem Softwarebereich geradezu verfallen. Einige von ihnen haben diesen Beruf sogar auf Grund ihrer Liebe zu Videospielen ergriffen.
„Wenn Sie möchten, dass noch mehr Leute mit dem Programmieren von Spielen beginnen, dann ermutigen Sie sie, mehr Videospiele zu spielen “- so Mark Zuckerberg, der Gründer von Facebook. Und da Videospiele offenbar ein Schlüssel zum Eintritt in einen Beruf sein können, sollten wir herausfinden, auf welchen Sprachen diese beruhen.
Und hier etwas beachtenswertes: Triple-A-Projekte wie „GTA“, „Red Dead Redemption“, „PUBG“ oder „Assassin’s Creed“ verwenden keine Programmiersprache im herkömmlichen Sinn. Sie verwenden sogenannte „Gaming-Engines“, das sind spezielle Frameworks für Computerspiele, die den Spielverlauf steuern und für die visuelle Darstellung des Spielablaufes verantwortlich sind. Diese Hauptentwicklungsumgebung basiert normalerweise auf C, C ++ oder Java. Diese Spiel-Engines definieren daher die im Spiel vorkommenden Grafiken, die Spiel-Physik, die Sounds und Animationen und sogar die Künstliche Intelligenz, der wir im letzten Kapitel dieses Artikels begegnen werden.
Sowohl „GTA 5“ als auch „RDR 2“ basieren auf der „Rockstar Advanced Game Engine“. Einige der vorherigen Spiele dieser Serie, insbesondere „GTA 3“, „Vice City“ und „San Andreas“ verwenden „Renderware“ als Spiele-Engine.
„PUBG“ basiert auf der „Unreal Engine 4“, die auch bei Titeln wie „Dead by Deadlight“, „Fortnite“ und „Tropico 6“ zum Einsatz gekommen ist. The „Witcher 3“ wird von „REDengine 3“ gesteuert, während „Assassins Creed: Odyssey“ „AnvilNext“ verwendet. Alle genannten Engines basieren auf C ++. Wenn Sie also ein Spieleentwickler werden möchten, dann wissen Sie jetzt, welche Sprache Sie sich aneignen müssen.
Online Casino Spiele
Apropos Online-Spiele: sieben von zehn Personen assoziieren bei Online-Casinospielen die Einarmigen Banditen, auch Spielautomaten oder Slotspiele genannt. Laut einer Studie bevorzugen 71% der Casino-Spieler Slotspiele oder Videopoker gegenüber allen anderen Arten von Casinospielen. Aus technologischer Sicht sind diese ebenfalls am interessantesten zu implementieren.
Moderne Spielautomaten müssen serverseitig ein starkes Fundament aufweisen, da eine permanente Kommunikation zwischen den Servern der Spieleanbieter, der Spieleproduzenten und den Onlinespielern erforderlich ist. Nur so kann sichergestellt werden, dass die Spieleautomaten ein zeitgerechtes Spielergebnis abliefern. Dieses wird durch speziell ermittelte Zahlen repräsentiert deren Kombinationen von den meisten Casinos durch eine dedizierte Hardware mit Zufallszahlengeneratoren (RNGs) berechnet wird.
Daher sollte jeder Spielautomat so programmiert werden, dass eine sofortige Datenübertragung zwischen Casinoservern und dem Backend des Spielautomaten gewährleistet ist. Daher müssen Sie, als Spieleentwickler, entweder mit C ++ oder Java vertraut sein, um ein solches Spiel erstellen zu können. Im Grunde unterscheiden sich diese Spiele nicht wesentlich von den anderen Spielen, die wir in dem zuvor beschriebenen Kapitel bereits erwähnt haben.
Casino-Spiele verwenden jedoch keine Spiele-Engines, sondern funktionieren eher wie Web-Applikationen. Theoretisch können Sie also neben diesen beiden genannten Programmiersprachen auch eine andere verwenden. Und selbstverständlich benötigen Sie auch JavaScript im Frontend. Und wenn Sie JavaScript, HTML5 und CSS3 miteinander kombinieren, so wird Ihr Spiel auf allen Geräten laufen, auch auf Smartphones und Tablets, und diese werden visuell unterhaltsam und schnell im Spielablauf sein.
Mobile Apps und Spiele
Im Jahr 2020 verbringen Benutzer rund 90% ihrer Zeit mit Apps und ziehen diese den mobilen Webversionen vor. Anstatt die betreffende Webseite für Mobilgeräte anzupassen (was übrigens immer standardmäßig erfolgen sollte), entwickeln Unternehmen eine eigenständige mobile App, die diesem speziellen Service gewidmet ist.
Das mobile Umfeld, so wie wir es kennen, wird stark von zwei Betriebssystemen dominiert: „Google Android“ und „Apple iOS“. Jede hat ihre eigene Betriebssprache für die App-Entwicklung. Wenn Sie zum Beispiel eine App oder ein Spiel für Android erstellen möchten, so werden Sie Java verwenden. Wenn Sie sich für iOS, also für Apple entscheiden, werden Sie „Swift“ und vorzugsweise „Objective-C“ beherrschen müssen.
Es gibt auch einige Frameworks für die plattformübergreifende Entwicklung mobiler Apps. Die mit ihrer Hilfe erstellten Apps werden als sogenanntes „Hybrid“ bezeichnet und können viel schneller, einfacher und daher auch kostengünstiger erstellt werden. Sie haben jedoch einige Nachteile wie zum Beispiel eine schlechtere Leistung als native Apps. Beliebte Frameworks für die Erstellung hybrider Apps sind Ionic, React Native und Apache Cordova.
Künstliche Intelligenz
KI ist das gegenwärtig komplexeste und zugleich aufstrebenste Produkt, das wir in diesem Artikel vorstellen werden. Es wird prognostiziert, dass dieser Markt in den nächsten fünf Jahren um 840% wachsen und enorm zur Steigerung des weltweiten Wirtschaftswachstums beitragen wird. Der Umsatzwert wird für das Jahr 2025 mit € 126 Milliarden geschätzt. Derzeit wird jedoch davon ausgegangen, dass es gegenwärtig insgesamt nur wenige Hundert KI-Spezialisten gibt, aber um dem aktuellen Tempo des Technologiewachstums Tribut zu zollen, werden jedoch Millionen von KI-Profis benötigt werden.
Daher ist KI eine sehr potenzielle Nische für diejenigen, die Softwareentwicklung langfristig als ihren Karriereweg betrachten. Die Beherrschung der KI-Fähigkeiten erfordert jedoch mehr Zeit und Ressourcen als in anderen Sektoren der Softwareentwicklung, aber das durchschnittliche Gehalt eines KI-Ingenieurs ist normalerweise doppelt so hoch wie das eines normalen Softwareentwicklers.
Und welche Programmiersprachen werden hier verwendet? Es überrascht nicht, dass auch Python die erste Wahl für KI-Lösungen ist. Zum Beispiel verwenden 57% der Branchenprofis eher Python als C ++, die ihrerseits die andere beliebte Sprache für AI-Software ist.
Das Fazit und die Zusammenfassung
Schauen wir uns die Stack-Overflow Entwicklerumfrage aus dem Jahr 2019 an. Dort gaben 69,7% der Befragten an, dass sie JavaScript für ihre täglichen Aufgaben verwenden, 63,1% verwenden HTML und CSS. Man kann also davon ausgehen, dass die meisten Entwickler auf der Welt eine Front-End-Ausrichtung haben. Die beliebtesten Server-Sprachen sind Python (wird von 39,4% der professionellen Entwickler verwendet) und Java (39,2%).
Diese Statistik zeigt auch, dass die Entwicklung von Spielen nicht sehr üblich ist, während die Entwicklung von Webseiten die höchste Verbreitung zeigt. Gleichzeitig erfordern aber komplexere Produkte wie das „Google-Ökosystem“ oder die künstliche Intelligenz die Erstellung eines erweiterten Tech-Stacks.