Coding

Im Folgenden eine Auswahl an Programmiersprachen, die in unseren Projekten eingesetzt werden:

Angefangen mit C zu Beginn der 80er Jahre, entwickelte es sich in den 90er Jahren zu C++ weiter. Allerdings wird C immer noch weiterentwickelt und beschränkt sich durch den kleineren Umfang an Features auf Embedded Systems. C++ hingegen, welches C als Basis nutzt ist deutlich größer. Bei C++ kam das Konzept der Objektorientierung (OOP) und Templateprogrammierung dazu.

Gerne spricht man bei C++ von vier Untersprachen: C, Klassen, Templates und STL (Standard Template Library). Es existieren zahlreiche syntaktische Unterschiede zwischen diesen. Da diese auch kombinierbar sind, ist es im Ermessen der Entwickler, ob alle diese Untersprachen eingesetzt werden oder nicht.

Durch den Standard C++11/14 kamen neuartige Konzepte, wie funktionales Programmieren mit z.B. anonymen Funktionen, dazu. Diese Syntaxe und Konzepte stammen z.T. aus Sprachen wie Java oder Haskell.

Java ist Mitte der 90er Jahre entstanden und wurde von Sun Microsystems entworfen. Hier sollte das Problem der Inkompatibilität verschiedener Rechner-Architekturen entgütlig gelöst werden.

Die Syntax hat mit C++ vieles gemeinsam, allerdings wurden einige Sprachelemente reduziert. Zeiger und die dazugehörge Speicherverwaltung existieren nicht. Dank einer virtuellen Maschine durchlaufen die Programme einen prüfenden Interpretationsvorgang. Mit Hilfe eines Garbage Collectors werden ungenutze Bereiche automatisch deallokiert, ganz anders als in der einfachen Zeigerverwaltung, die in C/C++ vielen Entwicklern noch heute Kopfzerbrechen bereitet.

Allerdings birgt das auch Nachteile. Java-Code der von einer VM ausgeführt wird, ist im Vergleich zu Kompilaten aus C/C++ oftmals langsamer. Natürlich kommt das auch auf den Entwickler an.

Die Design-Philosophie hinter Python ist vom Entwickler einen lesbaren Code zu erzwingen. Dieser ist leicht erlernbar, allerdings auch streng strukturiert.

Als Skriptsprache wird sie interpretiert und durch die syntakisch hohe Abstraktion existieren sehr wenige Sprachelemente. Dadurch ist sie leicht erlernbar. Speicher- und Datentypen-Management werdem dem Benutzer direkt abgenommen.

Python ist eine Sprache, die das Motto 'Getting your work done!' trägt. Bei Mathematikern sehr beliebt, wird sie für viele Projekte im Bereich KI und Deep Learning eingesetzt.

Mit dieser Sprache werden auschließlich Tabellen verwaltet. Auch wenn diese sich mit Tabellenkalkulation wie Excel vergleichen lässt, ist der Umfang deutlich größer. Dazu zählen Zwangsbedingungen, Relationen, Datentypen in Zellen, die Art der Zugriffe, usw.

Gerade weil es hier um massiv viele Daten geht, ist SQL bei Firmen sehr beliebt.

Man kann diese Daten sehr flexibel in Tabellen einpflegen oder extrahieren, um es in andere Tabellen-Systeme zu übertragen. In dieser Hinsicht bietet das dahinterliegende Konzept einen hohen Grad an Flexibilität.

Für den Inhalt von Websites gibt es HyperTextMarkupLanguage (kurz HTML), um sie zu gestalten, CascadingStyleSheets (kurz CSS).

Die vom Webbrowser festgelegten Farben und Schriftarten können mit Hilfe von HTML geändert werden. Möchte man eine Vorlage definieren, bietet die CSS Sprache eine flexible Struktur an.

Netscape merkte schon in den 90er Jahren, dass statische Websites mit HTML nicht die Zukunft sind. Also entwickelten Sie eine Sprache, deren Inhalte nachgeladen werden, Benutzerinteraktionen effizienter abgewickelt werden können und sich sogar grafische Effekte abbilden lassen.

Der Name ist etwas irreführend. Man hat es nur Javascript genannt, weil die Syntax sehr ähnlich zu Java ist. Ansonsten hat es nichts mit der Sprache zu tun.

PHP, a Hypertext Preprocessor: Daten werden auf dem Webserver verarbeitet, bevor daraus ein HTML Code erzeugt wird. Anders als bei Javascript wird der PHP-Code nicht vom Webserver heruntergeladen.

PHP ist aber nicht eingeschränkt auf HTML und kann somit auch in anderen Bereichen eingesetzt werden. Weswegen es im Web Verbreitung findet, hängt damit zusammen, dass Webserver-Programme leistungsstarke Module anbieten, mit denen PHP Skripte verarbeitet werden.

Auch wenn PHP Code nicht vom User gesehen werden kann, lässt der generierte HTML Code Rückschlüsse zu. Zahlreiche Hacker haben durch Exploits den PHP Interpreter so manipuliert, dass Sie sich den Server aneignen konnten. Darum ist es wichtig, dass PHP-Code möglich wenig fragil geschrieben ist.

Da PHP einfach zu lernen ist, bleibt es im Web nach wie vor die populärste Sprache.