Programmieren Grundlagen

Sinn und Zweck

Jede Maschine, die automatische Vorgänge ausführen kann, wird programmiert

Programme können zwischen Maschinen ausgetauscht und für andere Maschinen angepasst wiederverwendet werden

Durch die Trennung von Operationen, Basislogik und Daten können virtuelle Universalmaschinen umgesetzt werden

Beispiele:

Werkzeug und Begriffe

Programmiersprachen erlauben es Menschen, in ihrer eigenen Sprache(fast immer Englisch) Anweisungen für Computer zu schreiben.

Die Basislogik, die die Anweisungen in Maschinensprache übersetzt, wird in Compilern umgesetzt(Binärprogramm) und/oder von vorkompilierten Basisanweisungen bereitgestellt(Bibliotheken). Fast immer wird beides kombiniert. Assemblersprachen können auch direkt für die Maschine kompiliert werden.

Scriptsprachen werden von einem Interpreter ausgeführt. Der Interpreter ist ein Binärprogramm, der meist eine Kombination aus einem Quasi Kompiler und einer Basisbibliothek darstellt und weitere Bibliotheken einbinden kann

Was wann eingesetzt wird, hängt von einer Vielzahl von Faktoren ab:
Scriptsoftware verbraucht mehr Ressourcen und ist langsamer als Binärprogramme, kann aber viel flexibler sein und oft leichter/schneller programmiert und vor allem angepasst werden. Systemnah programmierte Binärprogramme sind an eine Zielplattform gebunden, können aber aus dieser alle Leistungsreserven herausholen.


Profis kombinieren nach Bedarf...

Sprachtypen und Elemente

Programmiersprachen können zu lauffähigen Binärprogrammen kompiliert werden oder als Scriptsprache direkt aus menschenlesbaren Quellcodes laufen.

Programmiersprachen bieten fast immer die folgenden Elemente:

Paradigmen

Der Grundtyp der Sprache spielt für das Paradigma keine wichtige Rolle, Binärsoftware kann prozedural sein, Scriptsprachen können funktional oder objektorientiert arbeiten.
Paradigmen können in einer Sprache gemischt verwendbar sein,
In Java Script kann prozedural, objektorientiert oder funktional programmiert werden.

Einige Sprachen erzwingen weitgehend ein bestimmtes Paradigma um Ordnung zu schaffen ;-).
Java ist immer objektorientiert.

Spezialisierte und Hilfssprachen

Es gibt Sprachen in der IT, die keine vollständigen Programmiersprachen sind oder als solche nur sehr selten verwendet werden, die aber für eine bestimmte Aufgabe besonders gut geeignet sind.

Viele dieser Spezialsprachen sind dazu gedacht, Daten auszulesen, zu strukturieren und zu durchsuchen.
Daten können Speicherobjekte(meist Variablen), Dateien(auch Netzwerkverbindungen und Hardwareports), Datenbankabfragen oder Streams(HTTP, Audio, Video) sein.

   Pro-Tipp: 
   alles, was logisch vorstellbar ist,
   wird von irendwem irgendwie praktisch umgesetzt...
   

Praxis

Programmierer beherrschen die Logik des Programmierens, die spezifischen Werkzeuge (Sprachen und Bibliotheken) sind sekundär und werden nach Bedarf erlernt.

Bei der Programmierung von Anwendungen werden immer mehrere Sprachen gleichzeitig verwendet. Meist eine Hauptsprache, in die andere spezialisierte Sprachen eingebettet werden.

Beispiele:

    Pro Tipp: 
    In der Praxis wird jeder Projektleiter davon ausgehen,
    dass ein Programmierer mit einem ganzen Zoo verschiedener
    Sprachen vertraut ist und voraussetzen, dass ein
    Programmierer oder eine Programmiererin
    eine Sprache, die sie noch nie gesehen hat, 
    innerhalb von 1-2 Wochen lernen kann.
   

Was wir in diesem Kurs praktisch kennenlernen:

Da die Zeit sehr begrenzt ist, werden wir nur wenig vertiefen und stattdessen den Schwerpunkt auf absolut unverzichtbare Grundprinzipien legen. Das geht am besten, wenn man diese in verschiedenen Umgebungen ausprobiert.

Folgende Themen sind verfügbar:

Folgende unverzichtbare Grundprinzipien müssen klar werden:

Folgende unverzichtbare handwerkliche Fähigkeiten werden erworben und trainiert:


Für Nachfragen per Email stehe ich gern zur Verfügung: zettberlinthe symbollinuxuse.de

...