Erste Grundbegriffe der Programmierung. [formale Sprache, Quelltext, Quelldatei, Entwicklungssystem, Übersetzungseinheit, Übersetzer, compiler, Kompilat, Objektdatei, Prozeß, Programm] (formale Sprache, Quelltext, Quelldatei, Entwicklungssystem, Übersetzungseinheit, Übersetzer, compiler, Kompilat, Objektdatei, Prozeß, Programm), Lesson, Seite 722196
http://www.purl.org/stefan_ram/pub/grundbegriffe-programmierung (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram

Erste Grundbegriffe der Programmierung

Formale Sprachen und Quelltexte

Eine genau definierte Sprache, wie eine Programmiersprache, wird auch formale Sprache  genannt.

Ein von einem Menschen verfaßter Text einer formalen Sprache kann als Quelle  für weitere Verarbeitungsschritte dienen und wird daher auch als Quelle  oder Quelltext  bezeichnet. Die Zeit, während der ein Quelltext geschrieben wird, nennt man manchmal auch dessen Schreibzeit. Eine Datei, die eine Quelle enthält, wird auch Quelldatei  genannt.

Prozesse

Ein Prozeß  ist ein Vorgang, also ein Geschehen oder ein Ablauf. Er kann summarisch durch die von ihm bewirkten Veränderungen (seiner Wirkung , seinem Verhalten ) beschrieben werden, also etwa durch eine Beschreibung des Zustandes der Welt vor dem Beginn des Prozesses (des Vorzustands, des Voraussetzung  oder der Vorbedingung ) und des Zustandes der Welt nach dem Ende des Prozesses (des Nachzustands).

Ein Prozessor  ist ein System, das einen bestimmten Prozeß bewirken kann. Ein Prozessor kann eine Maschine sein, also etwa ein elektronischer Schaltkreis.

Prozesse sollen meist in Abhängigkeit von Vorzustand ablaufen: Beispielsweise soll eine bestimmte Heizung nur dann eingeschaltet werden, wenn die Temperatur unter einem bestimmten Wert liegt. Eine Regel, welche einen Prozeß in Abhängigkeit von Vorbedingungen ganz oder teilweise bestimmt, wird eine Operation  genannt.

Eine Operation
       Vorzustand
|
V
.---------------------.
| Operation |
| |
| |
'---------------------'
| Wirkung
V
Nachzustand

Die Wirkung einer Operation ist nicht bei jedem Prozeß, der von ihr bestimmt wird, dieselbe, sondern hängt auch von dem Zustand der Umgebung beim Start und Ablauf des Prozesses ab.

&    Beispiel einer Operation
Bei einer Blinddarmoperation  wird je nach dem Befund (also dem vorgefundenen Zustand, also dem Vorzustand) eine Zieldrainage eingebracht oder nicht eingebracht. Diese Operation hat also nicht immer denselben Ablauf (also Prozeß) und Nachzustand: Ob nach der Operation eine Zieldrainage vorhanden ist oder nicht, hängt vom Vorzustand ab.

Programme

Eine Aufzeichnung (Niederschrift), die eine Operation angibt (bestimmt, festlegt), wird ein Programm  genannt.

&    Beispiele für Programme
Eine Anleitung für eine Blinddarmoperation kann als Programm  für diese Operation aufgefaßt werden.
Die Zivilprozeßordnung (ZPO) kann als ein Programm für Zivilprozesse  verstanden werden.
Ausführung eines Programms
                          Vorzustand
|
V
.---------------------.
| Operation |
Programm --------> | |
| |
'---------------------'
| Wirkung
V
Nachzustand

Wenn der Prozessor ein Programm (eine Operation) umsetzt, indem er einen mit den Festlegungen dieses Programms verträglichen Prozeß bewirkt, sagt man auch der Prozessor führe das Programm (die Operation) aus  oder er arbeite es (sie) ab, oder das Programm (die Operation) würde (ab-)laufen.

Will man betonen, daß ein bestimmtes Programm in diesem Sinne von einem bestimmten Prozessor ausgeführt werden kann, dann nennt man es auch ein „von diesem Prozessor ausführbares Programm “. Man spricht kurz nur von einem „ausführbaren Programm “, wenn aus dem Zusammenhang klar ist, welcher Prozessor dabei vorausgesetzt wird.

&    Beispiele für Ausführbarkeit
Eine Anleitung für eine Blinddarmoperation  kann von einem Chirurgen ausgeführt werden, aber normalerweise nicht von anderen Personen.
Die Zivilprozeßordnung  kann von Zivilrichtern in einem Zivilprozeß ausgeführt werden, aber normalerweise nicht von anderen Personen.

Ein ausführbares Programm enthält also Festlegungen für die Ausführung eines Prozesses. Den Start eines von einem ausführbaren Programm gesteuerten Prozesses nennt man auch vereinfachend den Start  dieses ausführbaren Programms. Der Start eines ausführbaren Programms führt also zu einem Prozeß, der durch dieses Programm gesteuert wird. Dabei wird—soweit wie möglich—das umgesetzt, was im ausführbaren Programm verlangt wurde.

Denn von einem Programm gesteuerten Prozeß setzt man oft auch – nicht ganz korrekt – mit diesem Programm gleich; so sagt man beispielsweise „Das Programm gibt einen Text aus.“ anstatt „Der von diesem Programm gesteuerte Prozeß gibt einen Text aus.“

Einen Zeitraum, zu dem ein Programm ausgeführt wird, nennt man auch „eine Laufzeit des Programms “. Ein Programm kann mehrmals ausgeführt werden, also mehrere Laufzeiten haben. Es kann auch niemals ausgeführt werden, also keine Laufzeit haben, Trotzdem spricht man manchmal auch von „der Laufzeit“ des Programms, so als würde ein Programm immer genau einmal ausgeführt werden.

Die gesamte Welt, wie sie sich während des Ablaufs eines Programms zeigt, wird auch als die Laufzeitumgebung  dieses Programms bezeichnet. (Auch hier müßte man eigentlich von einer  Laufzeitumgebung sprechen.)

Ein Programm steht nicht für einen bestimmten Prozeß, sondern für eine Operation, deren Wirkungen ja von der Laufzeitumgebung des Programms abhängen können. Dementsprechend ist es eine wichtige Eigenschaft von Programmen, daß sie nicht bei jedem Ablauf dasselbe tun, sondern ihr Verhalten von der Laufzeitumgebung abhängen kann.

Programmieren

Das Schreiben eines Programms wird auch als programmieren  bezeichnet. Der Autor eines Programms wird auch als „Programmierer“ bezeichnet.

Programmieren ist also die Planung von Prozessen, die auch von beim Schreiben noch gar nicht bekannten Umständen der Laufzeitumgebung abhängen können.

Damit ist es ein wichtiger Aspekt der „Kunst des Programmierens“ alle Möglichkeiten der späteren Laufzeitumgebung vorhersehen zu können, und für alle das gewünschte Verhalten festgelegt zu haben. Denn, wenn das Programm läuft, muß der Programmierer nicht anwesend sein. Das Programm kann dann also keine Rückfragen mehr an den Programmierer stellen.

Syntax und Semantik

Die Syntax  einer Programmiersprache ist die Menge aller Programme, die in einer Programmiersprache formuliert werden können.

Die Semantik  einer Programmiersprache legt dann die Bedeutung eines Programme dieser Programmiersprache fest. (Die Bedeutung eines Programms ist normalerweise eine bestimmte Operation.)

Die Syntax und die Semantik einer Programmiersprache wird in einem Text festgelegt, der auch als die Spezifikation  (also Festlegung, Bestimmung) dieser Programmiersprache bezeichnet wird.

Übersetzer

Quelltexte können meist nicht direkt als Prozeß ausgeführt werden, sie sind also oft keine für den Prozessor eines Computers direkt ausführbare Programme. Sie können aber zu einem solchen Programm übersetzt  werden.

Ein Quelltext kann von einem Übersetzer  (engl.: compiler, „Kompilierer“) in ein ausführbares Programm übersetzt  werden. Das Ergebnis der Übersetzung wird allgemein Kompilat  (also „das Kompilierte“) genannt.

Übersetzung und Ausführung einer Quelle
                                                            Vorzustand
|
V
.------------------. .------------------.
| Uebersetzer | ausfuehrbares | Operation (durch |
Quelle ----->| |----- Programm ----> | den Prozessor |
| | | verwirklicht) |
'------------------' '------------------'
| Wirkung
V
Nachzustand

Da eine Quelle ein ausführbares Programm beschreibt, wird die Quelle manchmal auch selber als Programm  bezeichnet. Solch ein „Programm“ ist aber nicht immer sofort ausführbar, wie ein ausführbares  Programm es ist. (Man kann den Übersetzer aber auch gedanklich als einen Teil eines erweiterten Prozessors ansehen, für den der Quelltext dann ausführbar ist.)

Der Quelltext wird manchmal in Teile unterteilt, die jeweils einzeln übersetzt werden können und auch als Übersetzungseinheiten  bezeichnet werden. Das Kompilat ist daher nicht immer gleich ein ausführbares Programm, da die Kompilate der einzelnen Übersetzungseinheiten eines Programms nach dem Übersetzen dann in einem weiteren Verarbeitungsschritt noch zu einem ausführbaren Programm verbunden werden müssen.

Interpretierer

Eine Prozessor muß kein Gerät sein, sondern kann auch durch ein Programm gebildet werden.

Falls ein als Gerät existierender Prozessor durch ein Programm nachgebildet (simuliert) wird, spricht man von einer Emulation  dieses Prozessors und nennt das Programm einen Emulator.

Wenn ein Programm Programme ausführen kann, spricht man von einer Interpretation  dieser Programm und das Programm wird es dann als Interpretierer  (dieser Programme) bezeichnet.

Damit kann ein zunächst nicht von einem Gerät ausführbares Programm dann ausgeführt werden, ohne daß es zuvor übersetzt wird. Ob ein Programm ausführbar ist oder nicht, hängt also immer davon ab, auf welchen Prozessor sich dieses Attribut „ausführbar“ beziehen soll.

Implementationen

Die Techniken der Übersetzung und der Interpretation werden manchmal auch kombiniert, etwa, wenn eine Quelle zuerst übersetzt  wird und das Kompilat dann noch interpretiert  wird.

Will man allgemein ein System bezeichnen, das es erlaubt, einen Quelltext in einer Programmiersprache auszuführen, egal ob dieses System nun ein Übersetzer, ein Interpretierer oder eine Mischung von beidem ist, so spricht man von einer Implementation  (also einer „Einrichtung“, „Umsetzung“ oder „Verwirklichung“) dieser Programmiersprache.

Entwicklungssysteme

Einen Arbeitsprozeß, in dem ein neuartiges Produkt bis hin zu Plänen und Prototypen, die dann eine Massenfertigung erlauben, erfunden und konstruiert wird, nennt man auch die Entwicklung  dieses Produkts. Das Wort „Entwickeln“ wird aber manchmal auch einfach wie ein Synonym für das Programmieren verwendet.

Ein System (Programm oder Gerät), das bei der Entwicklung von Quelltext hilft, nennt man auch Entwicklungssystem . Meist erlaubt ein Entwicklungssystem es, Quelltext zu bearbeiten und diesen laufen zu lassen.

Übungsfragen

/    Schreibzeit und Laufzeit
Welche der folgenden Aussagen trifft zu
o Es gibt keine bestimmte Reihenfolge von Laufzeit und Schreibzeit.
o Die Laufzeit eines Programms liegt vor seiner Schreibzeit.
o Die Schreibzeit eines Programms liegt vor seiner Laufzeit.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722196 stefan_ram:722196 formale Sprache, Quelltext, Quelldatei, Entwicklungssystem, Übersetzungseinheit, Übersetzer, compiler, Kompilat, Objektdatei, Prozeß, Programm Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722196, slrprddef722196, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten.
http://www.purl.org/stefan_ram/pub/grundbegriffe-programmierung