Arten von Programmiersprachen

Erste Klassifizierung

  • Maschinensprachen (bestehen aus der Zeichen 0 und 1 und kann vom Computer direkt verarbeitet werden)
  • Assemblersprachen (sind nahe am Maschinensprachen)
  • Höhere Programmiersprachen (C#,  C++, Java, FORTRAN, COBOL, VisualBasic, Kotlin, Go)
  • Skriptsprachen(Python, Perl, Ruby, JavaScript, TypeScript, PHP, awk)
  • Sprachen mit visuellen Programmierumgebungen (DocBook, DITA)
  • Grafische (visuelle) Programmiersprachen (Scratch, Snap!)

Zweite Klassifizierung

  • Imperative Sprachen (BASIC, TurboPascal, C, COBOL, FORTRAN, Ada)
  • Funktionale Sprachen (LOGO, LISP,  Haskell)
  • Prädikative (logische) Sprachen (PROLOG)

  • Objektorientierte Sprachen (C++, C#, Objective-C, Java, Python, Delphi, VisualBasic, Simula, SMALLTALK 80, F#, Scala, Haskell)

Qualitätsmerkmale von Software

  • Wartbarkeit
  • Funktionalität
  • Benutzerfreundlichkeit
  • Effizienz
  • Änderbarkeit
  • Überprüfbarkeit
  • Performance
  • Interoperabilität/Kompatibilität
  • Verlässlichkeit (Robustheit)
  • Sicherheit
  • Portabilität (Übertragbarkeit)
  • Wiederverwendbarkeit

Charakterisierung der Programmiersprachen (1)

  • Assembler (Reverse Engineering)
  • Bash (Unix-Shell und Befehlssprache)
  • Batch (Skriptdateien in Microsoft Windows)
  • C++ (eine sehr leistungsfähige Programmiersprache, die fast überall verwendet wird)
  • Java (Leistungsstarke plattformübergreifende Sprache, native Android-Programmiersprache)
  • JavaScript (Sprache des Internets)
  • PHP (ebenfalls eine sehr leistungsfähige und weit verbreitete serverseitige Skriptsprache)
  • PowerShell (Befehlszeilen-Shell für Microsoft Windows)
  • Python (Eine sehr einfache, aber dennoch leistungsstarke Programmiersprache auf hohem Niveau)
  • SQL (Fast alles, was mit Datenbanken zu tun hat)
  • Unix Shell (Befehlssprache für UNIX)
  • ASP.NET (serverseitiges Rahmenwerk für
  • Webanwendungen von Microsoft)
  • C (Eine Menge Computersoftware und -systeme wurden in diese Sprache geschrieben)
  • C# (alles für Microsoft Windows)
  • Haxe (sehr nützlich)
  • Lisp (überall einsetzbar, wo Python oder Ruby verwendet wird)
  • Perl (Systemadministration, Netzwerkprogrammierung, Finanzwesen, Bioinformatik und andere Anwendungen, z. B. für GUIs)
  • Ruby (Muttersprache des Metasploit-Frameworks und unterhaltsame Sprache zum Erlernen)
  • ActionScript (Flash und Website-Animation)
  • Swift (iOS-Programmiersprache)
  • Tcl (wird auf Plattformen für eingebettete Systeme verwendet)
  • ActionScript (Flash und Website-Animation)
  • Ada (eingebettete Systeme, z. B. Avionik, Flugsicherung, Eisenbahn, Bankwesen, Militär und Raumfahrttechnik)
  • COBOL (wird in Geschäfts-, Finanz- und Verwaltungssystemen für Unternehmen und Regierungen verwendet)
  • Erlang (Telekommunikationssysteme und Anwendungen wie WhatsApp)
  • Fortran (wissenschaftliches Rechnen, nicht mehr so populär wie früher)
  • Lua (Spieleprogrammierung)
  • Objective-C (früher iOS-Programmierung, jetzt durch Swift ersetzt)
  • Pascal (Bildungszwecke)
  • PostScript (Drucken)
  • Visual Basic (wird in Zukunft nicht mehr benötigt)

Charakterisierung der Programmiersprachen (2)

  • C: Die langweilige und richtige Wahl.
  • C++: Dachten, es sei kompliziert.
  • Objective-C: Jetzt mit noch verwirrender Syntax!
  • C#: Es ist nicht Java.
  • Swift: Es ist kein JavaScript.
  • Java: Die praktische Wahl von Middleware-Entwicklern auf der ganzen Welt.
  • Ruby: Weil Programme Spaß machen und nicht effizient sein sollten!
  • Groovy: Einfacher als Ruby in der JVM zum Laufen zu bringen.
  • Python: Nicht zwischen funktionalem, prozeduralem und objektorientiertem Stil wählen.
  • PHP: HTML, CSS und SQL eingefügt und überall installiert.
  • JavaScript: Single-Threaded, nativ asynchron, auf jedem modernen Computer installiert.
  • Go: Vorrang für Typ- und Thread-Sicherheit
  • Rust: Viel einfacher als C, aber immer noch mit all den Syntaxfehlern.
  • Typescript: Das JavaScript des Java-Entwicklers.
  • Elm: Ist das wie Lisp oder nicht?
  • Clojure: Betrieb der schnellsten Middleware, die jemals entwickelt wurde auf der JVM.
  • Schema: Lisp für die 90er.
  • Perl: Kostenlose, etwas überstrapazierte Skriptsprache. Einmal geschrieben, nie gedebuggt.
  • Haskell: Die endgültige Schlussfolgerung zur Typsicherheit als Designprinzip.
  • Elixier: Was wäre, wenn Ruby Haskell übernehmen und dafür sorgen würde, dass Erlang läuft?

Wo wird welche Programmiersprache eingesetzt?

  • Python ist eine hochentwickelte, allgemeine Programmiersprache, die in den Bereichen Datenwissenschaft, maschinelles Lernen, künstliche Intelligenz, Webentwicklung und wissenschaftliche Berechnungen weit verbreitet ist. Ihre Beliebtheit hat in den letzten Jahren aufgrund ihrer Einfachheit, Lesbarkeit und Vielseitigkeit erheblich zugenommen. erfreut sich aufgrund seiner Einfachheit und Lesbarkeit großer Beliebtheit bei der Entwicklung von Cloud-Anwendungen. Die umfangreichen Bibliotheken und Frameworks von Python wie Django und Flask machen es zur idealen Wahl für die Erstellung webbasierter Cloud-Anwendungen. Darüber hinaus erhöht die Kompatibilität von Python mit verschiedenen Cloud-Plattformen wie AWS Lambda, Google Cloud Functions und Microsoft Azure Functions seine Attraktivität zusätzlich. Python wird häufig bei der Entwicklung von Backend, Webanwendungen, Desktop Softwareentwicklung, in der Datenwisenschaft, bei der KI und im ML. Python gilt als eine leicht zu erlernende Sprache.
  • Java ist eine klassenbasierte, objektorientierte Programmiersprache, die häufig für die Entwicklung von Anwendungen auf Unternehmensebene, mobilen Anwendungen und Spielen verwendet wird. Java ist bekannt für ihre Stabilität, ihre Sicherheitsfunktionen und ihre plattformübergreifende Kompatibilität. Java ist seit Jahren ein Eckpfeiler von Cloud-Anwendungen auf Unternehmensebene. Seine starke Typisierung, plattformübergreifende Kompatibilität und eine große Auswahl an Bibliotheken und Frameworks wie Spring Boot machen es zu einer zuverlässigen Wahl für die Cloud-Entwicklung. Das ausgereifte Java-Ökosystem gewährleistet außerdem eine nahtlose Integration mit verschiedenen Cloud-Plattformen wie Amazon Web Services (AWS) und Google Cloud Platform (GCP). Java wird wegen seiner Plattformunabhängigkeit auf vielen verschiedenen Geräten verwendet.Neben Desktop-Computern sind auch Tablets, Smartphones, Spielekonsolen oder auch TV-Geräte sowie Haushaltsgeräte mit Java ausgestattet. Laut Aussagen von Oracle wird Java auf über 3 Milliarden Geräten weltweit verwendet. Java wird in einer Vielzahl von Software-Projekten und auch in der Webentwicklung stark eingesetzt.
  • JavaScript ist eine clientseitige Skriptsprache, die für die Erstellung interaktiver Webseiten und Anwendungen verwendet wird. Sie wird auch für die serverseitige Programmierung mit Node.js verwendet. Mit der Zunahme der Webentwicklung und der steigenden Nachfrage nach dynamischen Benutzeroberflächen ist JavaScript zu einer der beliebtesten Programmiersprachen geworden. ist für seine Vielseitigkeit bekannt und die erste Wahl für die Erstellung von Cloud-Anwendungen mit einer wichtigen Front-End-Komponente. Node.js, eine Laufzeitumgebung für JavaScript, ermöglicht serverseitiges Scripting und ermöglicht so die Erstellung durchgängiger Cloud-Lösungen in einer einzigen Sprache. Mit Frameworks wie Express.js und React können JavaScript-Entwickler schnell skalierbare Cloud-Anwendungen erstellen.
  • C# wird in vielen Anwendungen verwendet, unter anderem bei der Programmierung von Webanwendungen, mobilen Apps und Computerspiele. C# ist eine vielseitige Sprache, die hauptsächlich mit Microsoft-Technologien in Verbindung gebracht wird. Es ist eine gute Wahl für die Erstellung von Cloud-Anwendungen auf der Azure-Plattform. Mit dem .NET Framework können Entwickler robuste und skalierbare Cloud-Lösungen erstellen.
  • Kotlin ist eine moderne Sprache, die eine leichtgewichtige Syntax, eine verbesserte Ausdrucksfähigkeit und ein verbessertes Typsystem bietet. Sie ist quasi Standard bei der Android-Programmierung. Kotlin ist eine platformunabhängige, statisch typisierte Programmiersprache, die in Java, JavaScript und Maschinencode umgewandelt werden kann. Kotlin, oft als modernere Alternative zu Java angesehen, hat aufgrund seiner Prägnanz und Ausdruckskraft in der Cloud-Entwicklung an Bedeutung gewonnen. Es ist vollständig mit Java kompatibel, was bedeutet, dass Kotlin-Entwickler das umfangreiche Ökosystem und die Bibliotheken von Java für Cloud-Projekte nutzen können. Kotlin bietet die gleiche Leistung wie Java bei weniger Code. Die Google Cloud Platform hat Kotlin als eine ihrer offiziellen Sprachen übernommen und damit ihre Rolle bei der Entwicklung von Cloud-Anwendungen weiter gefestigt. Sie ist daher sehr vielseitig und kann in viele Projekte einfach eingebunden werden. Die Integration erfolgt ganz ohne Kompatibilitätsprobleme und benötigt außerdem keine Schnittstellenprogrammierung.
  • Go auch bekannt als Golang, ist für die Erstellung hochleistungsfähiger und skalierbarer Cloud-Anwendungen konzipiert. Go wurde von Google entwickelt und zeichnet sich durch gleichzeitige Programmierung aus, was es ideal für die Bewältigung von Cloud-Workloads macht. Kubernetes, eine führende Container-Orchestrierungsplattform, die in Cloud-Umgebungen weit verbreitet ist, ist in Go implementiert, was seine Bedeutung für die Entwicklung cloudnativer Anwendungen unterstreicht.
  • Rust hat aufgrund seines Schwerpunkts auf Sicherheit und Leistung an Popularität gewonnen. Rust erfreut es sich bei der Entwicklung cloudnativer Anwendungen immer größerer Beliebtheit, insbesondere in Szenarien, in denen hohe Leistung und Systemzugriff auf niedriger Ebene von entscheidender Bedeutung sind.
  • VBA ist Microsoft's skriptorientierte Programmiersprache die in Microsoft Office integriert ist und die Möglichkeit bietet, die Funktionen von Excel, Access, Word etc. zu erweitern oder automatisierte Abläufe zu programmieren.
  • FORTRAN is eine Computersprache die Anweisungen nah an der englischen Sprache benutzt. Sie ist bis heute die meisbenutzte Sprache in der Wissenschaft und Forschung.
  • COBOL wird in kaufmännische Anwendungen eingesetzt. Eine Studie von 1997 schätzt das es über 200 Milliarden Zeilen COBOL-Sourcecode gibt (80% von den gesamten Code in diesem Bereich).
  • Elixir ist eine funktionale Programmiersprache, die ihre Stärke aus der virtuellen Maschine von Erlang bezieht, auf der sie ausgeführt wird. Da sie per Design immutable ist, hilft sie Entwicklern, testbaren Code zu schreiben.
  • ABAP (proprietäre Programmiersprache, die für die Programmierung von Anwendungen im SAP-Kontext entwickelt und Ähnlichkeit zu COBOL aufweist)
  • HTML ist der Standard für die Darstellung von Internetseiten durch Browser auf verschiedenen Endgeräten, wie Personal-Computern, Notebooks und Smartphones. Die Sprache wird heute von dem World Wide Web Consortium (W3C) weiterentwickelt.
  • PHP ist seit Jahrzehnten eine beliebte Wahl für die Webentwicklung und bleibt auch im Cloud-Zeitalter relevant. Das PHP-Ökosystem mit Frameworks wie Laravel bietet eine solide Grundlage für die Erstellung von Cloud-Anwendungen. Darüber hinaus kann PHP problemlos auf Cloud-Plattformen wie AWS Elastic Beanstalk und Google App Engine bereitgestellt werden.
  • C++ und C werden bei der Programmierung von eingebetteten Systemen, bei der Systemprogrammierung und bei der Spieleprogrammierung eingesetzt.
  • Ruby ist eine Skriptsprache, die speziell für die Front- und Backend-Webentwicklung sowie ähnliche Anwendungen entwickelt wurde. Es ist eine robuste, dynamisch typisierte, objektorientierte Sprache mit High-Level-Syntax, die Programmierung mit ihm wirkt fast wie Codierung in Englisch. Ruby wird für seine elegante Syntax und seinen entwicklerfreundlichen Ansatz gefeiert. Ruby on Rails, ein robustes Webanwendungs-Framework, vereinfacht die Entwicklung von Cloud-Anwendungen, indem es Konventionen gegenüber Konfiguration in den Vordergrund stellt. Heroku, eine beliebte Cloud-Plattform, bietet nahtlose Unterstützung für Ruby-Anwendungen und ist damit eine ausgezeichnete Wahl für die Cloud-Entwicklung.
  • Scala (Scalable Language) ist eine Hybridsprache, die objektorientierte und funktionale Programmierung kombiniert und einen präziseren Programmierstil unterstützt als andere Allzwecksprachen wie Java. Das reduziert die Menge an Code, die Entwickler schreiben müssen. Scala eignet sich gut für die Erstellung skalierbarer und belastbarer Cloud-Anwendungen. Es läuft auf der Java Virtual Machine (JVM) und bietet nahtlose Interoperabilität mit Java, was es zu einer guten Wahl für die Cloud-Entwicklung macht. Die Parallelitätsunterstützung von Scala und das Akka-Framework sind für den Aufbau verteilter Cloud-Systeme von Vorteil.
  • Swift ist eine objektorientierte, robuste und intuitive Programmiersprache von Apple zum Entwickeln von Apps für iOS, Mac, Apple TV und Apple Watch. Sie wurde entwickelt, damit Entwickler mehr Freiheiten haben als je zuvor. Sie ist benutzerfreundlich und Open Source.
  • R ist eine Open-Source-Software sowie eine flexible Programmiersprache für statistische Datenanalyse- und Visualisierung sowie für Grafikerstellung.
  • Im Jahr 1970 entwarf der emeritierte Professor Niklaus Wirth die Programmiersprache Pascal. Sie wurde zu einer der populärsten Lehrsprachen und prägte die Entwicklung weiterer Programmiersprachen.
  •  Delphi's erste Version wurde 1995 veröffentlicht und erzeugte nur Code für 16-Bit-Anwendungen für Windows 3.x. Heute ist Delphi im Vergleich zu Oberon und jeder anderen von Pascal abgeleiteten Sprache immer noch äußerst erfolgreich und bleibt nach den meisten Quellen eine der 20 am häufigsten verwendeten Programmiersprachen.
  • Hack ist eine Skriptsprache für die HipHop Virtual Machine (HHVM). Hack erweitert die Programmiersprache PHP u. a. um statische Typisierung und Generics.
  • Erlang ist eine Open Source Programmiersprache, die heutzutage gerne für (massiv) parallele Programmierung und verteilte Systeme genutzt wird. Die Ursprünge liegen aber Anwendungen im Bereich Telekommunikation, entwickelt wurde die Sprache für und bei Ericsson.
  • Haskell ist eine funktionale Programmiersprache dessen funktionale Ansatz stellt eine andere Art der Problemlösung (Paradigma) im Gegensatz zu einer imperativen Programmiersprache dar.
  • LISP (List Processing - Listenverarbeitung) ist eine funkionale Programmiersprache die für die einfache Manipulation von Data Strings (Zeichenketten) entwickelt wurde. Als eine der ältesten Programmiersprachen, die immer noch verwendet wird, bietet Lisp mehrere verschiedene Dialekte und hat die Entwicklung anderer Sprachen beeinflusst.
  • Kubernetes ist eine Open-Source Software die es ermöglicht, Anwendungen in Containern automatisiert zu verwalten, zu skalieren und zu Orchestrierung. Die Idee für Kubernetes hate Google. Er gilt als die beliebteste und ausgereifteste Lösung für die Container-Aneendungen. Container und Microservices werden in vielen Unternehmen genutzt.
  • Bei Docker handelt es sich um eine Technologie für die containerbasierte Virtualisierung von Software-Anwendungen. Der Einsatz von Docker hat in den letzten Jahren die Anwendungsentwicklung vorangetrieben.
  • Apache Kafka ist ein verteiltes Streaming-System mit Open-Source-Lizenz, das für Stream-Verarbeitung, Echtzeit-Daten-Pipelines und Datenintegration im hohen Maßstab verwendet wird. Kafka wurde 2011 bei LinkedIn für den Umgang mit Echtzeit-Daten-Feeds entwickelt.
  • Grafana ist eine von Grafana Labs entwickelte Open Source-Plattform zur interaktiven Datenvisualisierung, mit der Nutzende ihre Daten in Form von Diagrammen und Graphen sehen können, die in einem Dashboard (oder mehreren Dashboards) zusammengefasst sind und so die Interpretation und das Verständnis erleichtern. Man kann Informationen und Metriken abfragen und Warnmeldungen einstellen, unabhängig davon, wo diese Informationen gespeichert sind, ob es sich um traditionelle Serverumgebungen, Kubernetes-Kluster oder verschiedene Cloud- Services usw. handelt. So kann man die Daten leichter analysieren, Trends und Inkonsistenzen erkennen und letztlich die Prozesse effizienter gestalten.
  • Camunda ist eine Software zur Automatisierung von Prozessen. Sein Einsatzgebiet ist auch die Orchestrierung von Microservices.
  • Apache ist ein kostenloser Open Source Webserver. Der Apache Webserver ist der populärste Webserver, der aktuell von rund 46 % aller Webseiten weltweit genutzt wird. Die erste Version wurde 1995 veröffentlicht. Entwickelt und verwaltet wird dieser Webserver von der Apache Software Foundation (ASF).
  • Mit C#, Java, Swift, Kotlin, C, C++ und Python werden Desktop-Anwendungen entwickelt. Bei Programmen, die nur auf Windows laufen müssen, wird die Sprache C# oft verwendet, da sie besonders gut mit Windows integriert ist.
  • Für die Programmierung von mobilen Apps und Webanwendungen werden bevorzugt Java, JavaScript, TypeScript, PHP, HTML, Kotlin, Swift und Objective-C angewendet.
  • Für die Backend-Software (Software, die auf einem Server läuft) kommen meist Java, Python, PHP, Ruby, Javascript, Go und Kotlin zum Einsatz.
  • Zusammen mit CSS und anderen Techniken dient HTML dazu, Webseiten in Webbrowsern anzuzeigen.
  • In der Wissenschaft und Forschung wird am häufigsten folgende Software eingesetztPython, MATLAB, Mathematica, Labview, IDL, LaTeX, Julia, Stata und R. Numerische Berechnungen in der Wissenschaft werden meist in Fortran oder in C programmiert. Bis in die 80er Jahre hinein war Fortran nahezu die einzig benutzte Programmiersprache, während neuere Programme oft in C geschrieben wurden. Fortran hat gegenüber anderen Programmiersprachen einige Vorteile: Es ist leicht zu schreiben, und beim Compilieren kann ein effizienter und schneller Maschinencode erzeugt werden, zudem wird Fortran ungefähr alle zehn Jahre erneut standardisiert. Bei jeder Standardisierung werden nützliche Techniken aus anderen Sprachen übernommen, z.B. wurden in Fortran 90, dem im Jahre 1990 weltweit etablierten Standard, rekursive Prozeduren und Pointer implementiert. Ein Vorteil von Fortran und C ist auch dass sie über umfangreiche Programmbibliotheken verfügen.
  • Die am meisten eingesetzte Programmiersprachen 2022 waren:
  1. Python (26%)
  2. Java (21%)
  3. JavaScript (8,3%)
  4. C# (7,6%)
  5. PHP (7,4%)
  6. C/C++ (6.3%)
  7. R (4%)
  8. Objective-C (3,1%)
  9. Swift (2,6%)
  10. Matlab (2%)

Welche bekannter Software wurde in welcher Sprache geschrieben?

  • Linux, MS Windows (C)
  • Apple OS X, MS Office, Mozilla Firefox, MySQL, Adobe Photoshop (C++)
  • Skype, Sharepoint, MS Visual Studio, die meisten Apps im Windows Store (C#)
  • SAP, LinkedIn, Eclipse, MathLab, Teile von OpenOffice, NetBeans (Java)
  • Google Suchmaschine, YouTube, Netflix, Spotify, Instagram, Pinterest (Python)
  • Google, Facebook, Amazon, YouTube, Wikipedia, Yahoo und Twitter - alle Clientseitig (JavaScript)
  • Google Serverseitig (C, C++, Go, Java, Python, PHP)
  • Facebook Serverseitig (Hack, PHP, Python, C++, Java, Erlang, D, XHP, Haskell)
  • Amazon Serverseitig (Java, C++, Perl)
  • YouTube Serverseitig (C, C++, Python, Java, Go)
  • Wikipedia Serverseitig (PHP, Hack)
  • Yahoo Serverseitig (PHP)
  • Twitter Serverseitig (C++, Java, Scala, Ruby)