Hallo,
Zitat Zitat von Leo98 Beitrag anzeigen
Also haben sie 2 Sprachen nacheinander gelernt? Oder unterscheiden sich die zwei Sprachen nicht so sehr voneinander?
Nun, das ist der normale Weg!
Ich habe vor 40 Jahren mal mit 6502 Assembler angefangen, Dan folgten Wang-BASIC und danach CBASIC unter CP/M und 8080 Assembler. Dann kam Z80 Assembler. Das nächste war der PET mit einem MS-BASIC. Dann kam der APPLE ][ mit seinem Integer BASIC und einem MS-BASIC. Weiter ging es mit UCSD Pascal auf dem Apple und später Turbo Pascal auf dem IBM-PC. Dazwischen lag noch ein BASIC auf einem National Semiconductor Chip, da gab es Mitte der 80er so eine On-Chip Variante. Mit dem IBM-PC kam dann zuerst 8086 Assembler hinzu, später auch C.
Es folgten 8051 Assembler und PL/M51

FORTH war auch noch irgendwo Mitte der 80er und irgendwo war noch 6800- und 6301-Assembler.
Anfang 90er kamen dann die Hitachi, heute Renesas, H8/300- und H8/500-Assembler hinzu. Da kam dann auch Fuzzi Logic hinzu, auch eine Art Programmiersprache.
Irgendwo bei Windows kamen noch Visual BASIC und C++ hinzu.
Jetzt bin ich bei den PIC- und ARM-Prozessoren dran.

Achja, für einige spezielle Aufgaben habe ich auch eigene einfache Programmiersprachen entworfen und entsprechende Compiler gebaut. z.B. für einen speziellen Kreutzschienenverteiler mit um die 1'000 I/Os. Da wurde aus der Verbindungsliste, mit zusätzlichen möglichen logischen Verknüpfungen, ein Maschinenprogramm compiliert.

Und irgend etwas habe ich sicher noch vergessen.

Mit dem oben angeführten habe ich Projekte durchgezogen, d.h. Programmieren aus dem Kopf ohne jeden Befehl nachschlagen zu müssen.

In andere Programmiersprachen wie Cobol, Fortran, APL usw. habe ich mich eingelesen und kann auch entsprechende Programme einigermassen lesen, habe mit diesen aber nie etwas umgesetzt.

Bei den prozeduralen Sprachen sind so die ersten 2-3 noch etwas mühsam, weitere sind dann relativ einfach zu erlernen, das Konzept ist immer gleich, nur die Syntax und die Schlüsselworte sind unterschiedlich.

C++ und VB sind dann Objekt Orientierte Sprachen. Hier hängt es auch noch vom persönlichen Programmierstil ab, wie leicht man da rein findet. Objekt Orientiert geht auch in Assembler, nur besteht da kein Zwang und man kann immer auch mal schnell eine Routine schreiben, welche da quer schiesst. Ich hatte schon in Assemblerprogrammen z.B. die Funktionen für einen ADC in ein eigenes Modul gepackt und nur ein paar definierte Aufrufe dafür definiert. Irgendwelches direktes Gefummel aus anderen Modulen am ADC gab es dann einfach nicht. Ist auch einfacher zu Pflegen, wenn sich am ADC etwas ändert. Objekt Orientiert funktioniert da nicht anders, nur hat man entsprechende Unterstützung durch die Sprache.

Beim Assembler ist es ähnlich. Bei den Von Neumann Architekturen gibt es eigentlich nur zwei Lager, Intel und Motorola.
Bei Harvard-Architekturen muss man etwas umdenken, wobei schon der 8051 eigentlich eine Harvard-Architektur hat und 8080 und 8086 teilweise auch (im I/O-Bereich).

Neben den prozeduralen Sprachen gibt es noch andere, vor allem aus dem Bereich KI, welche gänzlich andere Ansätze verwenden. Z.B. wird bei LISP nicht zwischen Daten und Programmcode unterschieden. Das bringt dann aber die Stärke beim Lernen der KI-Maschine, das Programm kann verändert werden, wie die Daten in normalen Sprachen.

MfG Peter(TOO)