Zunächst einmal herzlich willkommen zu diesem Blogbeitrag, „Coding Terminology Guide“, über eine einfache Einführung in die Terminologie des Programmierens. Wir haben diesen Beitrag über den Leitfaden zur Programmier-Terminologie entworfen, um die komplexe Welt des Programmierens für Anfänger zu vereinfachen und klare Erklärungen zu grundlegenden Begriffen und Konzepten zu liefern, die jeder Programmierer kennen sollte. Von den Grundlagen wie Syntax und Variablen bis hin zu fortgeschritteneren Begriffen wie Funktionen und Schleifen stellt unser Leitfaden sicher, dass Sie mit Selbstvertrauen mit dem Programmieren beginnen können.
Wir haben diesen Blogbeitrag für das EU-finanzierte Projekt Code For Future (Referenznummer: 2022-3-DE04-KA210-YOU-000092666) erstellt.
Xient GmbH coordinates the project with L4Y Learning for Youth GmbH and Seyhan Danisment Gazi Anadolu Lisesi.
During this project, we will share more content regarding coding, which you can check through this link.
Lernziele
- Grundlegende Programmierkonzepte wie Variablen, Funktionen, Schleifen und bedingte Anweisungen verstehen und erfahren, wie diese in verschiedenen Programmiersprachen wie Python, JavaScript und C++ angewendet werden.
- Ein Verständnis für verschiedene Programmierparadigmen entwickeln, darunter imperatives, deklaratives, prozedurales, objektorientiertes und funktionales Programmieren, und erkennen, wie diese Paradigmen Struktur und Verhalten von Code beeinflussen.
- Einen strukturierten Ansatz zur Softwareentwicklung kennenlernen, der Planung, Design, Implementierung, Test und Wartung umfasst, sowie die Bedeutung von Debugging, Versionskontrolle und Refactoring in diesem Prozess verstehen.
- Wissen über fortgeschrittene Programmierwerkzeuge und -konzepte wie APIs, Frameworks, Bibliotheken und Algorithmen erwerben und deren Rolle und Anwendung beim Aufbau komplexer Softwaresysteme verstehen.
- Erkunden, wie Programmieren praktisch in verschiedenen Bereichen wie Datenanalyse, digitales Marketing, Projektmanagement und Technisches Schreiben angewendet wird und wie das Beherrschen dieser Fähigkeiten die Karrierechancen und Effizienz in diesen Rollen steigern kann.
Leitfaden zur Programmier-Terminologie: Einführung
Programmieren, auch als Codierung bezeichnet, ist die Fähigkeit, ausführbare Computerprogramme zu entwickeln, die bestimmte Ergebnisse erzielen oder spezielle Aufgaben ausführen. Diese zentrale Tätigkeit umfasst das Schreiben, Testen, Debuggen und Pflegen des Quellcodes von Computerprogrammen. Programmierer schreiben diesen Quellcode mithilfe verschiedener Programmiersprachen, die formale Anweisungssätze darstellen und eine Vielzahl von Ausgaben erzeugen können. Diese Sprachen sind unerlässlich für die Entwicklung von Softwareanwendungen, Systemsoftware, Maschinensteuerung und komplexen Berechnungen.
Grundsätzlich gibt es viele verschiedene Programmiersprachen, jede mit ihrer eigenen Syntax und ihren Anwendungsfällen. Einige beliebte Sprachen sind zum Beispiel Python – bekannt für seine Einfachheit und breite Anwendung in der Datenanalyse –, JavaScript – die Sprache des Webs – und C++, eine leistungsstarke Sprache, die in der Systemsoftware und Spieleentwicklung verwendet wird.
Tatsächlich beinhaltet das Programmieren auch Problemlösung, da man herausfinden muss, wie man eine gewünschte Aufgabe auf möglichst effiziente Weise vom Computer ausführen lässt. Es erfordert außerdem ein gutes Verständnis der verwendeten Sprache sowie die Fähigkeit zum Debuggen, wenn etwas nicht wie geplant funktioniert.
Das Programmieren zu erlernen kann zahlreiche Möglichkeiten eröffnen – vom Erstellen eigener Anwendungen bis hin zum Einstieg in die Technologiebranche. In der heutigen digitalen Welt ist es eine stark gefragte Fähigkeit.
Grundlegende Programmierkonzepte
Es gibt grundlegende Dinge, die man beim Erlernen des Programmierens wissen sollte:
Variable
Variablen sind wie Behälter, die Daten speichern. Die Daten können unterschiedliche Typen haben, wie … age = None and age = 25

Funktion
Funktionen sind wiederverwendbare Codeabschnitte, die eine bestimmte Aufgabe ausführen. Sie können Eingaben, sogenannte Parameter, entgegennehmen und eine Ausgabe zurückgeben. Zum Beispiel könnte eine Funktion zum Addieren zweier Zahlen in Python folgendermaßen aussehen: def add(a, b): return a + b.

Dieser Python-Code in Abbildung 3 definiert eine Funktion namens „factorial“, die die Fakultät einer nicht-negativen ganzen Zahl berechnet. Die Funktion gibt eine Nachricht zurück, dass wir die Fakultät für negative Zahlen nicht definiert haben, wenn sie eine negative Eingabe erkennt. Bei einer Eingabe von 0 gibt sie 1 zurück, da wir die Fakultät von 0 als 1 definiert haben.
Für positive Zahlen berechnet die Funktion die Fakultät mithilfe einer Schleife, indem sie jede Zahl von 1 bis zur Eingabezahl multipliziert, um den Fakultätswert zu erhalten.
Schleife
For
Wir verwenden Schleifen, um einen Codeblock mehrfach auszuführen.
Zum Beispiel könnte eine for-Schleife in Python zur Berechnung der Gesamtsumme von Zahlen folgendermaßen aussehen:

Sie beginnt damit, die Gesamtsumme auf null zu setzen. Dann überprüft sie jede Zahl in der Liste einzeln. Für jede Zahl addiert sie diese zur Gesamtsumme mithilfe einer Schleife namens „for“. Diese Schleife durchläuft jede Zahl in der Liste einzeln, beginnend beim Anfang und geht von Zahl zu Zahl, bis sie das Ende erreicht. Nachdem alle Zahlen überprüft wurden, gibt sie uns die Gesamtsumme als Ergebnis zurück.
Zum Beispiel: Wenn wir die Zahlen 1, 2, 3, 4 und 5 in einer Liste haben, addiert dieser Code sie mit der „for“-Schleife zusammen und sagt uns, dass die Summe dieser Zahlen 15 beträgt.
While
In diesem Code hilft uns das Python-Programm, alle positiven Ganzzahlen bis zu einer angegebenen Zahl „n“ auszugeben.
Es beginnt damit, eine Variable „i“ auf 1 zu setzen. Dann tritt es in eine Schleife namens „while“ ein, die so lange ausgeführt wird, wie der Wert von „i“ kleiner oder gleich „n“ ist.
Innerhalb dieser Schleife gibt es den aktuellen Wert von „i“ aus, der eine positive Ganzzahl darstellt.
Das Programm erhöht den Wert von „i“ um 1, um nach der Ausgabe zur nächsten positiven Zahl überzugehen.
Dieser Vorgang wiederholt sich: Der Wert von „i“ wird nach jeder Ausgabe erhöht, bis er „n“ überschreitet – so wird sichergestellt, dass alle positiven Ganzzahlen bis „n“ ausgegeben werden.
Wenn wir zum Beispiel „n“ auf 5 setzen, gibt dieser Code die positiven Ganzzahlen 1, 2, 3, 4 und 5 einzeln mithilfe der „while“-Schleife aus.

Bedingte Anweisungen
Wir verwenden bedingte Anweisungen, um verschiedene Aktionen basierend auf bestimmten Bedingungen auszuführen.
Die gebräuchlichsten bedingten Anweisungen sind if, else und elif.
Zum Beispiel könnte eine if-Anweisung in Python, um zu überprüfen, ob eine Zahl positiv ist, folgendermaßen aussehen:if num > 0: print("Positive")

Dieser Code prüft effektiv, ob eine Zahl positiv ist, und wenn ja, gibt er „Positive“ aus.
Programmierparadigmen:
Programmierparadigmen sind eine Möglichkeit, Programmiersprachen anhand ihrer Merkmale zu klassifizieren.
Sie repräsentieren unterschiedliche Stile oder Philosophien des Programmierens. Hier ist ein kurzer Überblick:
Imperatives Programmieren – Ein Leitfaden zur Programmier-Terminologie
Imperatives Programmieren ist ein Paradigma, das Anweisungen verwendet, um den Zustand eines Programms zu verändern.
Außerdem besteht es aus Befehlen, die der Computer ausführen soll.
Imperatives Programmieren konzentriert sich darauf, zu beschreiben, wie ein Programm arbeitet.
Die gebräuchlichste Methode zur Umsetzung imperativen Programmierens erfolgt über Prozeduren oder Routinen, und wir finden diesen Ansatz in Sprachen wie C, Java und Python.

Der Code definiert eine Funktion in Python, die eine Liste von Zahlen mithilfe des Bubble-Sort-Algorithmus in aufsteigender Reihenfolge sortiert. Er durchläuft die Liste wiederholt, vergleicht benachbarte Elemente und vertauscht sie, wenn sie in der falschen Reihenfolge stehen. Wir haben diesen Vorgang so lange wiederholt, bis die Liste sortiert war, und dann erhielten wir die sortierte Liste.
Trotz ihrer Einfachheit ist diese Methode bei großen Listen nicht sehr effizient.
Deklaratives Programmieren – Ein Leitfaden zur Programmier-Terminologie
Deklaratives Programmieren hingegen ist ein Paradigma, das die Logik einer Berechnung ausdrückt, ohne deren Kontrollfluss zu beschreiben. Insbesondere konzentriert es sich darauf, was das Programm erreichen soll, ohne anzugeben, wie das Programm dieses Ergebnis erzielt. Viele Sprachen, die diesen Stil verwenden, sind domänenspezifisch und umfassen SQL (für Datenbankabfragen), HTML (für die Struktur von Webseiten) und CSS (für das Styling von Webseiten).

Es handelt sich um eine Abfrage, die Datensätze aus einer Datenbanktabelle namens Customers auswählt.
Die Anweisung SELECT * FROM Customers wählt alle Spalten für jede Zeile in der Tabelle Customers aus.
Die Klausel WHERE age > 20 filtert diese Datensätze so, dass nur Kunden einbezogen werden, die älter als 20 Jahre sind.
Schließlich sortiert die Klausel ORDER BY last_name; die resultierende Ergebnismenge alphabetisch nach der Spalte last_name in aufsteigender Reihenfolge. Die unter dem SQL-Code angezeigte Ausgabe zeigt die nach Nachnamen sortierten Kundendaten, wobei alle Kunden älter als 20 Jahre sind.
Prozedurales Programmieren – Ein Leitfaden zur Programmier-Terminologie
Wir bezeichnen dieses Programmierparadigma als „Prozeduraufrufe“, das Anweisungen in Prozeduren strukturiert, auch bekannt als Unterprogramme oder Funktionen. Jede Prozedur besteht aus einer Reihe von Berechnungsschritten. Prozedurale Programmiersprachen sind unter anderem C, Go und Python.

Der Python-Code definiert eine Funktion namens calculate_average, die den arithmetischen Mittelwert einer Liste von Zahlen berechnet.
Sie initialisiert einen Summenspeicher mit null, durchläuft die Liste, um jede Zahl zur Summe hinzuzufügen, und teilt dann die Gesamtsumme durch die Anzahl der Elemente in der Liste, um den Durchschnitt zu berechnen.
Wir rufen diese Funktion mit einer Zahlenliste [2, 4, 6, 8, 10] auf und geben den berechneten Durchschnitt in der Konsole aus, was bei dieser Liste den Wert 6,0 ergibt.
Objektorientiertes Programmieren (OOP) – Ein Leitfaden zur Programmier-Terminologie
OOP ist ein Programmierparadigma, das auf dem Konzept von „Objekten“ basiert, die sowohl Daten als auch Code enthalten können: Daten in Form von Feldern (oft als Attribute bezeichnet) und Code in Form von Prozeduren (oft als Methoden bezeichnet).
Ein Merkmal von Objekten ist, dass ihre eigenen Prozeduren auf ihre Datenfelder zugreifen und diese oft auch verändern können (Objekte haben ein Konzept von „this“ oder „self“).
Sprachen, die OOP unterstützen, sind unter anderem Java, C++ und Python.

Der Code definiert eine Car-Klasse in Python mit Methoden, um die Automarke, das Modell und das Baujahr festzulegen sowie die Geschwindigkeit über Beschleunigung und Bremsen zu steuern.
Ein Autoobjekt wird mit der Marke „Tesla“, dem Modell „Model S“ und dem Baujahr 2020 initialisiert. Die Anfangsgeschwindigkeit wird auf 0 gesetzt, und es gibt Methoden, um die Geschwindigkeit um 5 zu erhöhen (beschleunigen) oder um 5 zu verringern (bremsen).
Die Methode get_speed wird verwendet, um die aktuelle Geschwindigkeit des Autos abzufragen.
Im Beispiel wird das Auto einmal beschleunigt (Geschwindigkeit steigt auf 5) und anschließend einmal gebremst (Geschwindigkeit sinkt wieder auf 0), wobei die Geschwindigkeit nach jeder Aktion in der Konsole ausgegeben wird.
Funktionales Programmieren – Ein Leitfaden zur Programmier-Terminologie
Funktionales Programmieren ist ein Programmierparadigma, bei dem Programme durch das Anwenden und Kombinieren von Funktionen aufgebaut werden.
Es handelt sich um ein deklaratives Programmierparadigma, bei dem Funktionsdefinitionen Bäume von Ausdrücken sind, die jeweils einen Wert zurückgeben – im Gegensatz zu einer Abfolge imperativer Anweisungen, die den Zustand des Programms verändern.
Im funktionalen Programmieren sind Funktionen „First-Class Citizens“, was bedeutet, dass sie an Namen gebunden (auch an lokale Bezeichner), als Argumente übergeben und von anderen Funktionen zurückgegeben werden können – genauso wie jeder andere Datentyp auch.
Funktionale Programmiersprachen sind unter anderem Haskell, Erlang und Scala.

Der Codeausschnitt definiert eine Funktion namens increment_by_n, die eine Lambda-Funktion erstellt und zurückgibt – also eine anonyme Funktion in Python.
Diese Lambda-Funktion nimmt ein Argument x und gibt x + n zurück, wobei n der Parameter ist, der beim Aufruf von increment_by_n übergeben wurde.
Die Funktion increment_by_n wird dann verwendet, um eine spezifische Inkrement-Funktion increment_by_2 zu erstellen, die zu jeder Zahl, mit der sie aufgerufen wird, 2 addiert.
Schließlich wird increment_by_2 mit dem Argument 5 aufgerufen – wie erwartet, gibt sie 7 zurück, was dann in der Konsole ausgegeben wird.
Dieser Code demonstriert einen funktionalen Programmierstil, bei dem Funktionen verwendet werden, um andere Funktionen zu erzeugen.
Entwicklungsprozess
Der Entwicklungsprozess ist ein strukturierter Ansatz zur Erstellung von Software.
Er umfasst mehrere Phasen: Planung, Design, Implementierung, Test und Wartung.
Jede Phase hat spezifische Aufgaben und Ergebnisse, die zum Endprodukt beitragen.
Das Ziel ist sicherzustellen, dass die Software von hoher Qualität ist, den Benutzeranforderungen entspricht und rechtzeitig geliefert wird.
Debugging
Debugging ist der Prozess des Identifizierens und Behebens von Fehlern oder „Bugs“ in einem Softwareprogramm.
Er umfasst das Reproduzieren des Fehlers, das Verstehen des Problems, das Auffinden des fehlerhaften Codes, dessen Behebung und anschließend das Testen, um sicherzustellen, dass das Problem behoben wurde.
Debugging-Tools helfen Entwicklern dabei, Fehler effizienter zu finden und zu lösen.
Versionskontrolle
Versionskontrolle – auch bekannt als Quellcodeverwaltung – ist ein System, das Änderungen an einer Datei oder einer Gruppe von Dateien über die Zeit hinweg aufzeichnet, sodass bestimmte Versionen später wiederhergestellt werden können.
Sie ermöglicht es Entwicklern, gleichzeitig an einem Projekt zu arbeiten, ohne gegenseitig Änderungen zu überschreiben.
Zudem bietet sie eine Änderungshistorie, die beim Debugging oder beim Nachvollziehen der Projektentwicklung nützlich sein kann.
Refactoring
Refactoring ist der Prozess der Umstrukturierung vorhandenen Codes, ohne dessen äußeres Verhalten zu verändern.
Ziel ist es, das Design, die Struktur oder die Implementierung der Software zu verbessern und dabei die Funktionalität zu erhalten.
Refactoring kann den Code lesbarer, wartbarer und erweiterbarer machen.
Es ist ein integraler Bestandteil agiler Entwicklungsprozesse und testgetriebener Entwicklung (TDD).
Fortgeschrittene Konzepte
API (Application Programming Interface)
Eine API (Programmierschnittstelle) ist eine Sammlung von Regeln und Protokollen für die Erstellung und Interaktion mit Softwareanwendungen.
Sie definiert die Methoden und Datenformate, mit denen ein Programm mit anderer Software oder Komponenten kommunizieren kann.
APIs werden sowohl für die Programmierung grafischer Benutzeroberflächen (GUIs) verwendet als auch dafür, Software mit Betriebssystemen, Datenbanken oder anderen Diensten zu verbinden.
APIs vereinfachen den Programmierprozess erheblich, da sie alle Bausteine bereitstellen, die ein Programmierer dann zusammensetzt.
Sie sind unverzichtbare Werkzeuge in der Softwareentwicklung und werden im verteilten Rechnen zur Modifikation und Wartung von Software eingesetzt.
APIs können für Webanwendungen, Betriebssysteme, Datenbanken, Hardware oder Softwarebibliotheken erstellt werden.
Frameworks und Bibliotheken
Ein Framework ist eine Plattform zur Entwicklung von Softwareanwendungen.
Es bietet eine Grundlage, auf der Softwareentwickler Programme für eine bestimmte Umgebung erstellen können.
Ein Framework kann vordefinierte Klassen und Funktionen enthalten, die z. B. zur Verarbeitung von Eingaben, zur Steuerung von Hardwaregeräten oder zur Interaktion mit Systemsoftware verwendet werden.
Dies ist besonders hilfreich für Entwickler, da sie sich dadurch auf die übergeordnete Funktionalität ihrer Anwendung konzentrieren können, anstatt sich mit niedrigschwelligen Systemdetails zu beschäftigen.
Eine Bibliothek ist eine Sammlung vorkompilierter Routinen, die von einem Programm verwendet werden können.
Diese Routinen – auch Module genannt – liegen im Objektformat vor.
Bibliotheken sind besonders nützlich für häufig genutzte Routinen, da sie nicht explizit mit jedem Programm verlinkt werden müssen, das sie verwendet.
Der Linker durchsucht automatisch Bibliotheken nach Routinen, die andernorts nicht gefunden wurden.
Wenn eine Routine aus einer Bibliothek mit einem Programm verlinkt wird, wird sie Teil dieses Programms.
Bibliotheken sind ein wesentlicher Bestandteil der meisten Programmiersprachen, darunter C++, Java, Python und viele andere.
Algorithmus
Ein Algorithmus ist ein schrittweises Verfahren zur Lösung eines bestimmten Problems.
Insbesondere in der Informatik ist ein Algorithmus eine Abfolge von Anweisungen, die ein Computer interpretieren kann, um eine spezifische Aufgabe auszuführen.
Diese Aufgabe kann z. B. das Sortieren einer Liste von Zahlen, das Suchen eines bestimmten Elements in einer Datenbank oder das Rendern einer 3D-Grafikszene sein.
Tatsächlich sind Algorithmen ein grundlegender Bestandteil der Informatik und Softwaretechnik.
Sie bilden das Rückgrat jedes Programms und Systems, das wir verwenden – vom Google-Suchalgorithmus, der aus Milliarden von Webseiten relevante Ergebnisse findet, bis hin zum GPS-System, das die kürzeste Route zwischen zwei Orten berechnet.
Es gibt viele Arten von Algorithmen, jede mit eigenen Stärken und Schwächen.
Einige sind universell einsetzbar und können eine breite Palette von Problemen lösen, während andere speziell für eine einzelne Aufgabe entwickelt wurden.
Manche Algorithmen sind schnell und effizient und können große Datenmengen zügig verarbeiten, während andere möglicherweise langsamer sind, dafür aber weniger Speicher benötigen oder andere vorteilhafte Eigenschaften aufweisen.
Quellen (References)
- Geeksforgeeks(2024). Introduction of Programming Paradigms. URL: https://www.geeksforgeeks.org/introduction-of-programming-paradigms/
- German Cocca(2022). Programming Paradigms – Paradigm Examples for Beginners. URL: https://www.freecodecamp.org/news/an-introduction-to-programming-paradigms/
- Ma-Keba Frye(2024). What is an API? URL: https://www.mulesoft.com/resources/api/what-is-an-api
- Brandon Wozniewicz(2019). The Difference Between a Framework and a Library. URL: https://www.freecodecamp.org/news/the-difference-between-a-framework-and-a-library-bd133054023f/
- GCFGlobal(2024). Algorithms. URL: https://edu.gcfglobal.org/en/computer-science/hardware-and-software/1/
Leitfaden zur Programmier-Terminologie: Fazit
Insgesamt ist das Verständnis der Programmier-Terminologie ein entscheidender erster Schritt für alle, die in die Welt des Programmierens einsteigen möchten.
Dieser Leitfaden zur Programmier-Terminologie hat Ihnen grundlegende Programmierkonzepte und wichtige Begriffe wie Entwicklungsprozess, Debugging, Versionskontrolle, Refactoring, API, Frameworks, Bibliotheken und Algorithmen nähergebracht.
Tatsächlich bilden diese Begriffe das Fundament Ihrer Reise in die Programmierung.
Und während Sie weiter lernen und als Programmierer wachsen, werden Ihnen diese Konzepte in Fleisch und Blut übergehen.
Denken Sie daran: Jeder Experte war einmal ein Anfänger.
Also: Viel Spaß beim Programmieren!
Und vergessen Sie nicht, uns in den sozialen Medien zu folgen!
