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

Freitag, 8. April 2011

Themenideen Blogplan

Weitere Themenideen:
  • Exkurs: Lisp, eine der großen Unbekannten 
  • Actionscript, seine Eigenheiten und die Möglichkeiten von Flash
  • HTML 5
  • Adroid Applikationen?
  • Php Tutorial

Donnerstag, 7. April 2011

Blogplan 07-04-2011

Heute möchte ich mit der Entwicklung meines Blogplans beginnen.
Ziel ist es einen Plan aufzustellen, in dem Themen und Themengebiete für zukünftige Blogeinträge festgehalten werden.
Der Blog besteht aus vielen meistens relativ unzusammenhängenden Einzeleinträgen. Um die Einträge zusammenzufassen und einzelne Themengebiete über mehrere Einträge verteilt gründlich und wiederholungsfrei abzudecken. Angebrachte Stellen sollen mit Besipielen und Tutorials unterlegt werden.

Das ganze soll dabei so aufgebaut sein, dass der Tagessoll von 1,5k Zeichen eingehalten wird.
Als erstes habe ich vor die Themenbereiche und Inhalte vergangener Blogs aufzufassen und festzustellen was ausbaufähig ist und aufgegriffen wird.
Die Einträge bestanden meistens aus mehr oder weniger kurzen Zsammenfassungen der bisher gelaufenen Tätigkeiten zusammen mit verwendeten Tools, Editoren und Programmiersprachen. Sämtlichen angerissenen Einzelthemen konnten so nur sehr sporadisch angegangen werden.

Themen waren: PHP, der Java-Editor Eclipse, MySQL, Java , HTML und CSS, der Import von Daten mithilfe von Java in eine SQL Datenbank als Ausgangspunkt für Automatisierte Auswertungen, JAVA-Swing und AWT, Modulentwicklung für OXID-Shops (speziell Version 4), die eng damit verknüpte Smarty -Template - Engine, Objektorientierte Programmierung, Java Script und natürlich einfache Tätigkeitsbeschreibungen in anderen Bereichen.

Themenideen

Es bietet sich aufgrund der Programmiersprachen ein Einstieg über die Prinzipien der Objektorientierten Programmierung an. dazu gehören:
  • Vertreter im Kreise der Programmiersprachen
  • Varianten der Selben
  • Geschichte auch über ältere nicht Objektorientierte sprachen und die Entwicklung, damit verbunden auch verrückte Vertreter wie Brainfuck oder Klassiker wir Assembler
  • Vorteile und Nachteile
  • Bekannte Umsetzungen mit diversen Sprachen
  • Vergleich zwischen der Kostenentwicklung von Hard - und Softwareentwicklung und deren Bedeutung

Mittwoch, 6. April 2011

Attribute 6-4-2011

Um die Artikel im Webshop für unsere Kunden in ukunft zugänglicher zu machen wird ein neues System mit Attributen eingeführt.

Der Kunde kann dann die Artikel nach seinen persöhnlichen Wünschen filtern und gelangt so - hoffentlich - schneller und öfter an sein Ziel.
Problematisch dabei ist, das unsere Produktpalette nicht nur groß, sondern auch sehr vielfältig ist. Die einzelnen Artikel lassen sich in den meisten Fällen nur sehr schwer miteinander vergleichen. Deswegen werden die Attribute kategorienweise vergeben, da sich in einzelnen Kategorien einheitliche Produkte mit unterschiedlichen Spezifikationen befinden, für die man sich interessieren könnte.

Im moment sind wir also fast alle die meiste Zeit damit beschäftigt, die Kategorien durchzuarbeiten und Attribute zu finden. Um dies zu bewerkstelligen müssen erst alle Artikeltexte gesichtet werden. Anschließend kann man die Attribute aussuchen und anlegen. Danach werden sie den Kategorien und schließlich den Artikeln zugewiesen. Ganz zum Schluß hat ja jedes Attribut auch noch einen Attribut - Wert, der gesetzt werden muss.

Erschwerend kommt noch ein enger Zeitplan hinzu, bis die Attributvergabe abgeschlossen sein muss.

Die restlichen Tätigkeiten sowie wiederkehrenden Aufgaben gibt es natürlich immer noch und diese müssen ebenso gemacht werden. Ich gebe zu das mir das Multitasking das schon vorher nicht wenig war im Moment ziemlich zusetzt.