Fachbegriffe in der Programmierung?

... komplette Frage anzeigen

8 Antworten

Ach herrje, das ist ja eine Liste :-D Ich werde versuchen es so einfach wie möglich zu halten, was teilweise auf Kosten der Korrektheit gehen wird. Aber für den Anfang sollte es wohl reichen.

Algorithmus: Das ist eine Kochanleitung um zu einem Ziel zu kommen. Stell dir vor, du hast eine Liste, die du sortieren möchtest. Dann hast du eine Reihe von Befehlen, die du nacheinander ausführst, um das zu schaffen. Das ist ein Algorithmus, quasi die Logik deines Programms. Für viele Probleme gibt es schon Algorithmen, die du nutzen kannst, für andere musst du sie selbst erfinden.

Platformunabhänige Programmiersprache: Eine Plattform ist eine Betriebssystem, also Windows, Linux, MacOS, Android etc. In der Regel funktionieren Programme für eine Plattform nicht automatisch auch auf einer anderen. Die Ausnahme sind eben diese plattformunabhängigen Programmiersprachen. Beispiele dafür wären Java oder Python.

Bibliothek: "Es gibt sehr viele Sachen, die nicht zum "Kern" gehören. Also etwas zum arbeiten mit Internet, graphische Oberflächen und so weiter. Diese sind in Bibliotheken ausgelagert (englisch library und kurz lib)." Von diesen Bibliotheken gibt es schon sehr viele für alle möglichen Zwecke, aber du kannst auch selbst welche schreiben.

API: Hast du eine Bibliothek, musst du ja auch irgendwie auf sie zugreifen. Dafür gibt es meistens Anleitungen (documentation, kurz doc), in denen drinsteht: Diese Funktion hat diese Parameter und wenn du dies oder das reinsteckst, wird dies oder das rauskommen.

Objektorientiere Programmierung: Das ist (mir persönlich) ehrlich gesagt etwas zu komplex, als es in wenigen verständlichen Worten erklären zu können. Es geht darum, dass du dein Programm in Teile (Klassen) aufteilst, die bestimmte Eigenschaften und Fähigkeiten haben, die du ihnen gibst. Alles, was zusammengehört bündelst du so. Du kannst dann auch Abwandlungen von diesen Klassen machen, ohne alles kopieren oder neu schreiben zu müssen. Java oder C++ wären Beispiele.

Prozedurale Programmierung: Das ist ein bisschen das Gegenteil zur objektorientierten Programmierung. Es gibt keine Klassen, sondern nur Variablen und Funktionen. Ein Beispiel wäre C.

Ich hoffe, ich konnte das etwas verständlich machen, sonst frag einfach noch mal nach :-)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Tobihogh
11.07.2016, 18:53

Super Antwort, aber in c geht auch oop

0

Dann solltest du dir eine richtige Lernquelle (sprich: Buch oder Tutorial suchen) und dieses von Anfang an durcharbeiten. Wenn du gerade erst mit dem Programmieren anfängst, dann musst du noch nicht wissen, was eine API oder "Objektorientierte Programmierung" ist, das kommt erst im Laufe der Zeit. Es bringt wenig, die Begriffe völlig ausserhalb vom Kontext zu erklären, zumal man schon etwas längere Antworten schreiben muss, wenn man es richtig erklären will. Bei den anderen Antworten sieht man, dass sie sich damit schwer tun, vor allem OOP zu erklären (was kein Vorwurf ist, das Thema ist komplex) und teils neue Fachbegriffe verwenden, die du sicherlich auch nicht kennst.

Wenn du kochen lernen willst, dann übst du am Anfang auch erstmal, wie man Spiegeleier bratet. Was du alles für ein Festtagsmenü mit 5 Gängen in der Küche haben musst, ist dir am Anfang völlig egal. Und genauso ist es in der Programmierung.

Antwort bewerten Vielen Dank für Deine Bewertung

Die Abkürzung API steht für Application Programming Interface

Man versteht darunter den Teil eines Programms, der notwendig ist (und den man im Detail kennen muss), um dieses Programm aus anderen Programmen heraus aufrufen zu können.

Viele Programme haben nur ein GUI - ein sog. Graphical User Interface (zu deutsch: eine Dialogschnittstelle). Sie können dann also nur im Dialog aufgerufen werden, aber nicht aus anderen Programmen heraus.

Antwort bewerten Vielen Dank für Deine Bewertung

API ist eine Programmierschnittstelle. Eine Schnittstelle ist ganz einfach eine bestimmte Festlegung, wie Daten zwischen zwei unterschiedlichen Systemen ausgetauscht werden sollen.

Solche Schnittstellen kommen z.B. vor zwischen unterschiedlichen Firmen,  Programmen, Programmteilen, Technologien.

Sinn und Zweck einer Schnittstelle ist es, dass beide Seiten genau wissen, wie sie aufeinander reagieren müssen.

.

Prozedurale und objektorientierte Programmierung sind unterschiedliche Arten zu programmieren. Man kann sagen, dass objektorientierte Programmierung eine höherer evolutionärer Schritt ist.

Bei der prozeduralen Programmierung denkt man in Algorithmen. Also eine Abfolge von Befehlen, die irgendetwas erreichen sollen. Da ein Programm aus abertausenden Zeilen Code bestehen kann unterteilt man diesen Code bereits in Teilprogramme ("Funktionen" oder "Methoden" genannt), die auch mehrmals aufgerufen werden können. Damit wird das Programm kleiner (weil man Code nicht mehr doppelt schreiben muss) und übersichtlicher.

Objektorientierte Programmierung ist eine massive Weiterentwicklung. Hier denkt man nicht mehr in einer Abfolge von Programmschritten, sondern in Objekten. Objekte (besser gesagt eigentlich Klassen (Klassen sind die Baupläne für Objekte)) sind logische Programmeinheiten, die fachlich zusammengehörende Funktionalitäten inklusive der dazugehörigen Daten vereinen. Außerdem bietet Objektorientierung noch zahlreiche andere Konzepte. Das lernst du dann aber nach und nach.

.

Ein Algorithmus ist wie in der Mathematik eine Abfolge von Befehlen, um irgendetwas bestimmtes zu erreichen.

.

Bibliotheken sind Programmteile, die man für sein eigenes Projekt nutzen kann. Es sind also keine eigenständige lauffähige Programme, sondern nur Teile, die man bei sich mit einbauen kann. Die meisten Programmiersprachen haben selbst auch zahlreiche Bibliotheken. Meist um fundamentale Sachen zu machen. Wie z.B. die Umwandlung verschiedener Datentypen. Oder um mathematische Funktionalitäten zur Verfügung zu stellen.

.


Plattformunabhänige Programmiersprache. Kurz: Programmiersprachen, deren Programme auf unterschiedlichen Betriebssystemen lauffähig sind.

Antwort bewerten Vielen Dank für Deine Bewertung

API ist eine Schnittstelle an der sich ein Programmierer mit fertigen Bausteinen ranhängen kann. Meist sehr spezifisch zu einem Thema/Programm

Prozeduale Programmiersprache sind Sprachen die Schrit für Schritt nacheinander Befehle ausführen. Beispiel C

Objektorientierte Sprachen haben zudem noch Klassen. Und diese Klasen kann man instanzieren. Das sind dann Objekte. In OOP arbeitet man eben mit Objekten.

Algorithmen sind eine Art Ausschnitt von Befehlen. Es kann mehrere Eingangsparameter haben und mehrere Ausgangsparameter. Ein Algoritmus zeichnet sich dadurch aus, dass man ihn tausendfach wiederholen kann und IMMER die gleichen Ergebnisse liefert, sofern die gleichen Eingangsparameter genutzt werden.

Eine Bibliothek ist ein Sammlung von Klassen.

Plattformunabhängige Programmierung ist das Programmieren, dass es unter jeder Plattform funktioniert. Das kann man in zwei Formen sehen. Entweder man nutzt Sprachen, wo der Compiler sich an die Plattform anpasst (z.B. Java) oder man macht das als Programmierer selbst (z.B. durch Präcompilerdirektiven unter C)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von SirNik
11.07.2016, 17:45

Prozedurale Programmierung wird oft als Synonym für imperative Programmierung genommen, ist aber eigentlich eine Erweiterung der Imperativen Programmierung. D.h.: Schritt für Schritt = imperativ und prozedural wird es dann, wenn man diese Schritt für Schritt teile eines Programmes in Prozeduren (z.B. Methoden) auslagert.

0

API: Programmierschnittstelle: Dein Programm benutzt ein anderes Programm, z.B. einen Drucker. Den Druckertreiber hast du ja nicht selbst geschrieben, das hat Microsoft oder Apple schon für dich gemacht. Aber der Druckertreiber muss mit bestimmten Befehlen angesprochen werden. Diese Befehle nennt man API.

Prozeduale Programmierung. Dein Programm soll bestimmte dinge öfters machen, z.B. Eingaben annehmen. Um den gleichen Vorgang nicht immer wieder neu zu programmieren, packt man das Ganze in eine separate Prozedur (oder auf Funktion), die immer wieder neu aufgerufen werden kann.

Objektorientiert: dazu solltest du erst mal die prozeduale Programmierung erlernen. OOP ist eine abstrakte Erweiterung dazu, die man ohne Programmmierkenntnisse nicht so einfach erklären kann. 

Algorithmen: sind Rechenwege, die zum gewünschten Ergebnis führen. Um eine Liste zu sortieren gibt es z.B. verschiedene Möglichkeiten. Jeden dieser durchaus verschiedenen Rechenwege nennt man Algorithmus.

Bibliothek: Dein eines Programmteil ist so toll geworden, dass du es auch in anderen Programmen nutzen willst. Dann kannst du es als Bibliothek auslagern, dann können mehrere Programme gleichzeitig darauf zugreifen.

Plattform unabhängig: Dein Prog. läuft ohne wesentliche Änderungen auf Windows, Mac und Linux. Ist meist abhängig von der Programmiersprache, die du nutzt.

Antwort bewerten Vielen Dank für Deine Bewertung

Mal einfach und nicht vollständig gesagt:

API Application Programming Interface => Fertige Schnittstelle, über die Funktionen aufgerufen werden.

Proceduale Programmiersprache => Es wird eine Aufgabe in Teilaufgaben zerlegt und diese so aufgerufen, so dass eine Gesamtlösung entsteht.

Objectorientierte Sprache => Es wird vieles über Objekte realisiert. Beispiel ist eine Schaltfläche. Dort gibt es Eigenschaften und Methoden. Eigenschaften sind z.B. der Text der Schaltfläche, die Farbe, die Position.

Algorithmus => Handlungsvorschrift => Teile deines Programms

Bibliothek => Fertige Teillösungen (können von Dir sein, müssen aber nicht)

Plattformunabhängigkeit heist, Du schreibt Dein Programm und es ist nicht an ein Betriebssystem / Prozessor gebunden.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?