Seiten

Freitag, 15. April 2011

Blogplan 15-04-2011

Programmiersprachen und Vertreter verschiedener Konzepte

Teil 4


Nachdem nun die ersten höheren Programmiersprachen das Licht der Welt erblickt haben folgte der erste Kompiler, entwickelt von Grace Hopper. Dieser war eine Ansammlung von von ihr auf ein Band geschriebener Funktionen, welche über einen Index adressiert waren. Die Bezeichnung lautete A-0. Eine weitere bekannte Sprache, die zu dieser Zeit entstanden war Algol ( 60 ) die ebenfalls, wie Fortran in erster Linie für Wissenschaftliche Zwecke entwickelt wurde. Desweiteren gab es Fortschritte in der Theorie durch die Einführung der Backus-Naur Form zur Beschreibung des Syntax einer Programmiersprache ( Typ 2 Grammatik der Chomsky Hierarchie ).

In den 60er Jahren wurden weitere Fortschritte gemacht. Ursache dafür war nicht zu letzt die Erfindung des Transistors, der die sperrigen Röhren ablöste und wesentlich effizienter mit Energie umging. Aus dieser Zeit stammen auch die ersten Betriebssysteme. Das Bekanteste war das von IBM für sein System 360 entwickelte OS/360.

Nach der Erfindung der Mikroprogrammierung welche von einem fest integrierten Befehlssatz der Elektronik ausgeht wurden auch Compiler verstärkt eingesetzt um die Programmierung auf bestimmten Systemen in den entsprechenden Sprachen zu erleichtern.

Gegen Ende der 1970er Jahre wurde auch das beliebte BASIC entwickelt. Das Akronym B.A.S.I.C. steht übrigens für "Beginner’s All-purpose Symbolic Instruction Code".

Donnerstag, 14. April 2011

Blogplan 14-04-2011

Programmiersprachen und Vertreter verschiedener Konzepte

Teil 3

Nachdem nun die erste universelle Programmiersprache das Licht der Welt erblickt hatte ( leider konnte ich keine Entwicklungsumgebung finden, ausserdem dient es noch der Aufwandswabschätzung bei Funktionen ) fehlte es noch an der notwendigen Hardware welche in der Lage war die Programme, die sich die Mathematiker wie Alan Turing ausgedacht hatten tatsächlich automatisch umzusetzen. 
Einer der ersten Computer, der dazu in der Lage war, war der von dem Bauingenieur Konrad Zuse entwickelte Z1, welcher mit Telefonrelais arbeitete. Später folgte dann als Meilenstein der bekannte ENIAC, welcher durch den Einsatz der Röhrentechnologie, welche wie Transistoren eingesetzt wurden und eine imense Menge an Energie verbrauchten, schon bedeutend schneller arbeitete.


Zu dieser Zeit wurden auch die ersten höheren Programmiersprachen entwickelt. Eine davon war die bis heute gebräuchliche FORTRAN, welche von Naturwissenschaftlern eingesetzt wird und die Sprache LISP, der ich später auch noch einen Blogeintrag widmen möchte.

Hier eine Methodendeklaration aus FORTRAN (Quelle:Wikipedia)

SUBROUTINE test( Argument1, Argument2, Argument3 )
   REAL,              INTENT(IN) :: Argument1
   CHARACTER(LEN= *), INTENT(IN) :: Argument2
   INTEGER,           INTENT(IN), OPTIONAL :: Argument3
   ! Hier was sinnvolles.
END SUBROUTINE
Hier werden einige Datentypen, die die Sprache verwendet mit den an die Methode ( oder Funktion ) übergebenen Werten belegt. 

Dienstag, 12. April 2011

Blogplan 12-04-2011

Programmiersprachen und Vertreter verschiedener Konzepte

Teil 2

In dieser Zeit waren verschiedene Muster ebenfalls eine Modeerscheinungen, und der Adel und Hochadel, der diese Muster bevorzugt trug ( weil nur er sie sich leisten konnte ) verursachte eine so hohe Nachfrage, dass diese kaum befriedigt werden konnte. Somit erdachte sich Monsieur Joseph Marie Jacquard eine Möglichkeit auf ein und dem selben Webstuhl verschiedene Muster vollautomatisch weben zu lassen. Diese automatisch gewebten Muster sollten was Qualität und Bearbeitungsgeschwindigkeit angeht den in der aktuellen Produktion befindlichen um nichts nachstehen.

Es existierten bereits vollautomatische Webstühle, die Muster von Lochkarten übertragen konnten, allerdings wurde das Prinzip von Jacquard weiter verbessert. In diesem Zusammenhang zeigte sich erstmals die Möglichkeit eines Programmes, welches von einer Maschine umgesetzt wird.

Außer der technischen Nutzung, wurden ende des 19. Jahrhunderts die ersten Mechanischen Rechenmaschinen entwickelt. Die bekannteste darunter ist die Analytical Engine von Charles Babbage, die zur Berechnung der Lösung Polynimoaler Funktionen erfunden wurde. Die "Programmierung" erfolgte damals über Lochkarten.

Der nächste Schritt folge dann neben technischen Entwicklungen in den 1930er Jahren mit der Entwicklung des Lambda-Kalkülhs. Einer universellen Programmiersprache, die, so theoretisch nachgewiesen, bereits in der Laeg war genau so mächtige Programme zu schreiben wie mit jeder modernen Programmiersprache. Selbstverständlich darf man dabei nicht vergessen, dass die Entwicklung mit alten Sprachkonzepten praktisch schon vor langer zeit an Ihre Grenzen gestoßen ist.


Weiter in Teil 3

Montag, 11. April 2011

Blogplan 11-04-2011

Programmiersprachen und Vertreter verschiedener Konzepte

Teil 1 
 
Heute werde ich mit den Programmiersprachen im allgemeinen beginnen und das bedeutet im Klartext eine Maschine dazu zu bringen Anweisungen die vorher Festgelegt wurden abzuarbeiten. Hierzu werde ich mich auch an dem entsprechenden Artikel in der deutschen Wikipedia halten und nebenher frei formulieren.

Ursprünglich vor dem Einsatz auch der einfachsten Maschinen wurden alle Tätigkeiten vom Menschen ausgeführt. Durch den einsatz von Maschinen konnten diese Tätigkeiten schneller, günstiger und präziser ausgeführt werden. Die Planung der Tätigkeit unterlag dabei immer noch demjenigen, der die einfache Maschine bediente.

Als Beispiel ist der Webstuhl gut geeignet. In seiner einfachsten form ist er sogar noch fast ein Wekzeug. Durch die Industrielle Revolution konnten Webstühle mechanisch angetrieben werden und viele Weber verloren Ihren Arbeitsplatz aber auch ihre Funktion als Antrieb das Webstuhls. Maschinell wurden anfangs auch nur einfache Gewebe gefertigt. Muster wurden immer noch von Hand in das Gewebe eingebracht werden, oder die gesamt Maschine wurde exklusiv für ein Muster gefertigt.

Stoffe mit besonders extravaganten Mustern waren damals sehr beliebt und sehr kostbar. Die Gewinnspanne bei der Fertigung konnte aber, so dachte sich ein Erfinder aus Lyon, dem französischen Zentrum der Webkunst der damaligen Zeit, durch den Einsatz "Programmierbarer" Webstühle, die wechselnde Muster produzieren konnten, stark erhöht werden.

Weiter geht's im 2. Teil