Programmiersprachen handout - Wiki Informatik Grundkurs Abi 2017

Werbung
Programmiersprachen und
Programmierkonzepte
Die Geschichte der Programmiersprachen:
•
Anfänge vor 200 Jahren
•
Programmierbare Webmaschinen von Jacquard (Lochkartensteuerung)
•
Mit den Entwicklungen von Konrad Zuse und John von Neumann zur
Computerarchitektur fiel Startschuss zum Aufstieg der Informatik und
Programmierung (1940er Jahre)
Zwischen Null und Eins - 1. Generation:
•
CPU (Hauptprozessor) arbeitet nur mit den Zuständen Strom an und Strom aus, jede
Anweisung muss mit Symbolen 0 und 1 als Synonym auskommen
•
Daten und Befehle wurden binär eingegeben (lange Reihen von Nullen und Einsen)
→ Maschinensprache
•
Nachteil: Komplexe Aufgaben zu notieren nahe zu unmöglich
•
Erste Programmierer mussten Code schreiben, die lang und unübersichtlich waren
→ Für mäch?ge Programme untaugliches Prinzip
•
zweite Stufe der Programmiersprachenentwicklung wurde schnell erklommen
Assemblersprachen – 2. Generation:
•
assemble – montiernen, zusammensetzen
1. Stark an der Maschine orientiert
2. Befehle als Buchstabenkombination nach Regeln der Mnemotechnik
•
Verknüpfung von neuen mit vorhandenen Programmteilen
→ exe-Datei
•
bis in 90er – Jahre des 20. Jahrhunderts wurden Betriebssysteme, Computerspiele
etc. in Assemblersprache geschrieben (heute teilweise auch noch)
•
Vorteil: Assembler ist maschinennah, Übersetzung wesentlich weniger Zeit als in
Hochsprachen, manche Aufgaben auch präziser und schneller zu formulieren
•
Nachteil: Zu langer Code, geschränkte Einsatzmöglichkeit
Die Hochsprachen – 3. Generation:
•
komplexere Aufgaben und maschinenarchitekturen erforderten neue
Programmiersprachen, mussten folgenden Ansprüchen genügen:
1. Maschinenunabhängige Programmierung – Einsatz der Programme
unterschiedliche Rechnern
auf
2. Projekte und Programme besser strukturiert, auch um Lesbarkeit zu
verbessern
3.Programmierer sollte von Rechnerspezialkenntnissen entlastet werden, um sich auf
die Aufgabenstellung für die Programmierung und deren Lösung zu konzentrieren
•
erste Hochsprache FORTRAN für technisch-wissentschaftliche Anwendungen,
entwickelt 1954 von John Bacus
•
es folgten LISP ( 1959 von John Mc Carthy) und COBOL (1959 von Grace Hopper)
•
großer Schritt war die Entwicklung von ALGOL, etliche Sprachen basieren darauf wie
Pascal, Basic oder C
Die 4. Generation:
•
Fourth Generation Language (4GL) vereint Programmiersprachen und
Programmierumgebungen, die unterschiedliche Zwecke verfolgen
Die wichtigsten Programmiersprachen unserer Zeit:
C (C++ und C#)
•
häufigste eingesetzte Programmiersprache
•
Betriebssysteme wie Windows, Linux oder Mac OS X überwiegend in C verfasst
•
Erfinder: Dennis Ritchie (Oktober 2011 verstorben)
•
Entwicklung: 1969 bis 1973
Java
•
Erfinder: Computerhersteller Sun Microsystems
•
Entwicklung: 1991 bis 1995
•
zweithäufigste Programmiersprache
•
Vor allem im Internet, aber auch bei Spielen etc. eingesetzt
•
Weitere wichtige Programmiersprachen sind PHP, JavaScript und Python
Programmiersprachen Definition:
•
Sind aus Wörtern oder Wortteilen meist aus dem Englischen und Trennzeichen
zusammengesetzt
•
Von Sprache zu Sprache gibt es für gleiche Zeichen verschiedene Bedeutungen
•
Kommen mit geringem Wort-und Zeichensatz aus
•
Ihre Zeichen kommen in der Regel aus der Mathematik
Imperative Programmierparadigmen:
•
Programm mit linearer Folge von Befehlen arbeitet der Rechner in definierter
Reihenfolge ab
•
Durch auf Prozessorebene angegebenen Mikrocode verfährt der Rechner mit
jeweiligen Daten
•
Befehle manipulieren den Zustand der Speicherbereiche, die Daten zur Verarbeitung
vorhalten
•
Zeitliche Abfolge ist durch Reihenfolge im Programm vorgegeben
Objektorientierte Programmierung:
•
Daten und Funktionen werden möglichst eng in einem Objekt zusammengefasst und
nach außen hin gekapselt
•
Implementierungsdetails werden bewusst verborgen, damit Methoden fremder
Objekte diese Daten nicht versehentlich manipulieren können.
•
Objektorientierte Programmierung ist heute das am weitesten verbreitete Prinzip
Deklarative Programmierparadigmen:
•
Eine Idee der jüngeren Programmiergeschichte
•
Im Gegensatz zu den imperativen Programmierparadigmen fragt man in der
deklarativen Programmierung nicht nach dem „Wie“, sondern nach dem „Was“
•
Der Lösungsweg wird nicht programmiert, sondern man gibt an, welches Ergebnis
erzielt werden soll
Herunterladen