Inhaltsverzeichnis
von Giovanna Franken
Wir betreiben bei Jobasoft nicht nur SEO oder die Optimierung Ihrer allgemeine Online-Präsenz, sondern wir sind vor allem die Schmiede für Programmierung und Anwendung. Deshalb möchten wir in diesem Blogartikel näher auf unser Handwerk und das nötige Werkzeug eingehen: Die Programmiersprache(n). Wir erklären konkret, welche Programmiersprachen es gibt und wofür sie eingesetzt werden.
In welchen Bereichen wird überhaupt programmiert?
Die weniger genaue Antwort drauf wäre, dass in fast jedem alltäglichen Bereich inzwischen programmiert wird. Wir unterteilen daher in fünf verschiedene Anwendungskategorien:
- Eingebettete Systeme
- Spielprogrammierung
- Mobile Apps
- Desktop Programme
- Webentwicklung
Bei der ersten Kategorie sind Computer in einem technischen Kontext eingebunden, was bedeutet, dass sie in Objekten wie Autos, Maschinen (z. B. Waschmaschinen, Spülmaschinen), Flugzeugen oder auch medizinischen Geräten verbaut sind. Aber auch viele weitere Alltagsgegenstände haben einen Computer mit einer entsprechenden Programmierung als Innenleben. Sicher dämmert es Ihnen spätestens jetzt, warum es immerzu heißt, dass Berufe im digitalen technischen Bereich immer stärker gebraucht werden. In diesen eingebetteten Systemen stecken Herausforderungen wie z. B. eingeschränkter Platz. In einer Smartwatch oder einem Laptop darf der Computer nicht zu groß oder zu schwer sein und muss möglichst wenig Strom verbrauchen. Auch die Kostenminimierung sowie die Robustheit eines Programms sind Faktoren, die Programmierer beachten müssen. Für das Schreiben eines solchen Programms werden meistens die objektorientierten Sprachen C und C++ verwendet.
Spielprogrammierung
Die zweite Kategorie ist die Spieleprogrammierung, die in der Regel auf PCs, Spielekonsolen und mobile Endgeräte wie Smartphones oder Tablets ausgerichtet ist. Die Herausforderung, die Hardware optimal zu nutzen, besteht auch hier, da moderne Computer äußerst ressourcenintensiv sein können. Das bedeutet, dass visuelle Effekte des Spiels wie Explosionen oder Spiegelungen im Wasser oder 3D-Effekte ziemlich viel Rechenleistung brauchen. Beim Gaming spielt zudem die Geschwindigkeit des Programms eine tragende Rolle, da lange Ladezeiten auf die Kosten der Nutzererfahrung gehen. Auch in der Spielprogrammierung, die dem Zweck der Unterhaltung dient, wird häufig C oder C++ genutzt.
Wie Sie sehen, wird für zwei Anwendungskategorien C und C++ verwendet, denn diese Programmiersprache ist in der Anwendung, also im Programm, sehr schnell und gewährleistet eine optimale Nutzung des Computers. Leider ist die Sprache selbst relativ kompliziert und weniger menschenorientiert, sondern eher auf den Computer ausgerichtet.
Programmierung mobiler Apps
Schauen wir uns die Programmierung von mobilen Apps an, wie z. B. von Facebook, Instagram, Twitter, Snapchat usw., stellen wir fest, dass andere Herausforderungen ein anderes Werkzeug benötigen. Wenn Sie ein Android Gerät nutzen, so wurden die Anwendung dafür sehr wahrscheinlich mit Kotlin oder Java geschrieben. Für iOS hingegen mit Swift oder Objectiv-C.
So, warum denn hier nicht C oder C++, wenn es doch auch Überschneidungen gibt, denn auf dem Handy hat man schließlich auch Spiele, oder nicht?
Es geht bei der Programmierung um die Anwendung, die zusätzlich heruntergeladen werden kann wie z. B. die WhatsApp- oder Facebook App. Hier haben Kotlin, Java, Swift und Objectiv-C den Vorteil, dass sie einfacher, komfortabler und menschenorientiert sind. Sie sind genau für den Zweck eines Smartphones ausgelegt, nämlich den direkten, aber vereinfachten Kontakt zwischen Programm und Nutzer. Ob die Bedienung von iPhone, Samsung, Huawei und Co. nun einfacher oder gar besser ist, darüber streiten sich ja bekanntlich die Geister. Die Programmiersprachen haben aber in jedem Fall den Vorteil, dass man sich nicht um die Speicherverwaltung kümmern muss und es wesentlich schwieriger ist, Sicherheitslücken in das System zu integrieren, sodass die Anwendungen sehr sicher sind.
Doch es gibt auch Nachteile gegenüber anderen Sprachen, denn Programmiersprachen für mobile Apps, haben einen höheren Arbeitsspeicher und eine geringere Geschwindigkeit.
Auch Desktopprogramme müssen programmiert werden
Auf Ihrem Laptop oder PC haben Sie eine Unmenge an Programmen, die Sie z. B. unter dem Namen Windows, Linux oder MacOS kennen. Diese objektorientierten Programme werden häufig mit C#, Java, Swift, Kotlin, C, C++, ocaml, Perl oder Python programmiert. Sie sehen also auch hier gibt es Überschneidungen, die aber in der Zweckdienlichkeit ihre Begründung finden. Daher liegt es in der Entscheidung des Programmierers, welche Sprache für den jeweiligen Zweck am besten passt und auch welche er beherrscht. Es kommt ganz darauf an, welches Programm geschrieben werden soll, denn ein Photoshop-Programm ist beispielsweise sehr ressourcenintensiv und man würde daher von C oder C++ Gebrauch machen. Ein Programm für Notizen benötigt diese Komplexität allerdings nicht und könnte daher mit Java oder Kotlin gut abgedeckt sein.
Zudem werden auch Betriebssysteme bei der Nutzung der Programmiersprachen beachtet. So wird C# für Programme genutzt, die hauptsächlich auf Windows laufen, da dieser Sprache besonders gut mit Windows integriert ist. Auf Linux oder MacOS funktionieren diese Programme dann natürlich nicht, weshalb Objective-C und Swift exklusiv für MacOS verwendet werden. Umso mehr stellt sich die Besonderheit von Kotlin und Java heraus, die für alle Betriebssysteme funktionieren. „Write once, run everywhere“ (Java). Java wurde übrigens 1995 von James Gosling und Patrick Nugghon unter der Firma Sun Microsystems entwickelt. Nach und nach rückte sie etwas in den Schatten von Javascript, fokussiert sich neben der Erstellung von Web Applikationen aber auf Big Data, Künstliche Intelligenz und IoT. Java hat eine Community von 9 Millionen Entwicklern weltweit.
Unser Liebling: die Webentwicklung
Kommen wir zur letzten, aber sehr großen Anwendungskategorie, dem Web und der Webentwicklung. Aktuell gibt es weltweit 1,83 Milliarden Websitea, hinzukommt, dass sich inzwischen auch viele Apps im Web befinden, wie z. B. Google Maps. Wenn wir vom Programmieren in der Webentwicklung sprechen, unterscheiden wir grundsätzlich in Frontend und Backend, wobei die Website auf Ihrem Bildschirm zum Frontend gehört und häufig mit HTML, CSS oder Javascript (Achtung nicht Java!) programmiert wird. Mit HTML und CSS lassen sich grafische Oberflächen einer Website verwalten, formatieren und organisieren. Hyper Text Markup Language (HTML) zeichnet sich seit der Einführung im Jahr 1991 durch ihre hohe Funktionalität und das Tag-System aus. Durch dieses können Elemente einer Website priorisiert werden und aktive Inhalte wie Bilder, Links, Videos und mehr beigetragen werden. Oft ergänzt Cascading Style Sheets (CSS) HTML, denn ohne dies ist die Darstellung der Website nicht ganz so schön. HTLM ist der Interpret, der mitteilt, welche Elemente sich auf der Website befinden und CSS bestimmt das Design wie Farben, Typografie und Textgröße. In der Umsetzung als Programmierer sind diese Sprachen inzwischen so untrennbar wie Grammatik und Vokabeln.
Der genutzte Browser wie z. B. Firefox, Chrome oder Safari holt sich den Code in der jeweiligen Programmiersprache von einem Server. Die Software, die auf diesem Server läuft, bezeichnet man als Backend, das Daten speichert und verwaltet. Das Backend kann im Prinzip in jeder beliebigen Sprache geschrieben werden. Häufig kommen Java, PHP, Go, Python, Ruby, Javascript oder Kotlin zum Einsatz.
Natürlich gibt es noch weitere Anwendungskategorien, z. B. Datenbanken, die wieder andere Anforderungen stellen und somit auch in anderen Sprachen geschrieben werden. Heute gibt weit über 600 verschiedene Programmiersprachen für nahezu jeden Zweck.
Wir sind sprachbegabte Entwickler
Wir hoffen sehr, dass wir etwas Licht in die Welt der dunklen Hintergründe bringen konnten und stehen Ihnen bei fachlichen Fragen gerne Rede und Antwort. Wenn Sie sich für die Webentwicklung oder Softwareentwicklung für Ihr Unternehmen interessieren, dann sprechen Sie uns doch gerne an:
Sie erreichen uns unter der Telefonnummer +49 2151 89335-0, schicken Sie eine Mail an