Um 1984 und 1985 herum konnte man den C64, den "Commodore64" kaufen. Ich hatte solch einen "Home-Computer" auf meinem Tisch in Essen. Damals gab es die schöne Idee, dass jeder seinen Personal Computer theoretisch komplett selbst programmieren könnte, wenn er's könnte: Na, wirklich alle haben ihn nicht selbst programmieren können!
Es war die Programmiersprache BASIC eingebaut. Ein Beispiel für den SHARP PC-1401:
10: CLEAR : RANDOM : WAIT Variable löschen, Zufall starten, und Wait-Modus
20: PRINT "RECHENTRAINER"
30: FOR F = 0 TO 8 0 bis 8
40: BEEP 1
49: REM ZEILE 50 SPRINGT 120, 240, 360, 480 AN:
50: GOTO RND 4*120
119: REM ADDIEREN:
120: WAIT 80
130: A = RND 9 : B = INT(RND(9-A))Ist das raffiniert?
140: PRINT A;"+";B;"="
150: C = A + B
160: GOTO 600
239: REM SUBTRAHIEREN:
240: WAIT 80
250: A = RND 50+10 : B = A - RND 9
260: PRINT A;"-";B;"="
270: C = A - B
280: GOTO 600
359: REM MULTIPLIZIEREN:
360: WAIT 80
370: A = RND 8
380: B = RND (10/A)
390: C = A*B : IF C > 9 THEN 370 Falls c größer als 9 ist, neu
400: PRINT A;"*";B;"="
410: GOTO 600
479: REM DIVIDIEREN:
480: WAIT 80
490: B = RND 10
500: A = B* (RND 8+1)
510: PRINT A;"/";B;"="
520: C = A / B
600: Z = 0
610: L$ = INKEY$: Z=Z+1 : IF L$="" THEN 610
612: WAIT 40
614: PRINT L$
620: K = VAL L$
630: WAIT 80
635: IF K = C LET Y = 3 + INT(30/Z) : PRINT "GUT:" : GOTO 660
640: Y = 0: BEEP 1 : PRINT "NEIN, ";C
660: PRINT "PUNKTE: "; Y
670: NEXT F
Quelle: tiobe.com/
Der PYPL-Index ist es auch wert, beachtet zu werden: Siehe diese Website!
Es folgt ein englischsprachiges Video:
Man müsste hier über die alteingesessenen und wieder "aktuellen" objektorientierten Programmiersprachen (wie
Ruby, Java und C++), über die auch zurzeit wieder in Mode kommenden funktionalen Programmiersprachen (wie Lisp, Miranda, Erlang, Scala und Haskell), unter dem Dach "deklarativ" außer über die
"funktionalen" auch noch über die "logische" Programmiersprache PROLOG, über die Datenbanksprache SQL ...
... über die mathematischen Programme wie MATLAB (o, Verzeihung: MATLAB ist auch objektorientiert), Octave, NumPy (eine mathematische Bibliothek für Python) und Mathematica, über die
imperativen, prozeduralen oder strukturierten Programmiersprachen wie C und Pascal - und über die so genannten Skriptsprachen wie Perl und Python schreiben.
Das mache ich hier nun. Nicht zu den Programmiersprachen im engeren Sinne gehören dann noch Auszeichnungssprachen wie HTML (Hypertext Markup Language) und CSS (Cascading Style
Sheets).
Wie man die Programmiersprachen auch noch einteilen kann, ist so: Es gibt ja Interpreter und Compiler. Python, Javascript und HTML sind interpretierte Sprachen. C, C++, Java und C# sind - vereinfachend gesagt - compilierte Sprachen.
Es handelt sich um Paradigmen, die einen geistigen Hintergrund geben.
1964 kam eine neue Programmiersprache auf, nämlich BASIC (Beginner’s All-purpose Symbolic Instruction Code). Damit wurden wirklich schlechte Programme geschrieben. Da diese Sprache wenige Vorgaben macht, entstand sogenannter Spaghetti-Code. Der Programmablauf entspricht einem Nudelteller, nachdem er gründlich durchgerührt wurde.
Zum Glück gab es mehr als BASIC. Pascal und C zum Beispiel. Prozedurales Programmieren bedeutet, in Prozeduren zu denken. Das heißt, das Programm wird in Teilprobleme, Prozeduren, zerlegt. Gemeinsam mit imperativem Programmieren stellt es meiner Meinung nach die Basis für die objektorientierte Programmierung dar. Imperativ heißt, in Befehlsform oder alles aneinandergereiht.
"Strukturiertes Programmieren" heißt, es gibt Sequenzen, also nacheinander ausgeführte Befehle. Verzweigungen (if-Abfragen) und Schleifen.
Daher braucht es keinen verhassten goto-Befehl mehr, den einst BASIC verwendete. Dabei ist das nur ein Fehler dieser Programmiersprache, die zum Glück heute niemand mehr verwendet.
Prozedurales , imperatives, strukturiertes Programmieren wird heute für traditionelles, konventionelles Programmieren verwendet, im Gegensatz zu funktionalem oder deklarativem Programmieren.
Ich teile diese ganzen Programmiersprachen hier mal nach meiner Theorie ein, und zwar so: Imperative Programmiersprachen gibt es schon seit immer und ewig (na ja, fast), denn man kann schon lange eine Reihe von Befehlen sequenziell abarbeiten, was das Wesen des imperativen Paradigmas ist. Strukturierte Programmiersprachen können Verzweigungen und Schleifen wie for, while und do besitzen. Prozedurale Sprachen haben eigene Prozeduren und Funktionen - ein gutes Beispiel ist hier die klassische Lehr- und Ausbildungssprache Pascal; denn schon in Pascal konnte man, wenn man wollte, Prozeduren und Funktionen mit individuellen, sprechenden Namen schreiben. Objektorientierte Programme besitzen Klassen und Objekte (Genauer gesagt: Kapselung, Polymorphismus und Vererbung sind wichtige Bestandteile der objektorientierten Programmierung, wenn wir Alan Kay zitieren wollen.).
Das erste Programmierparadigma unter dem Oberthema "deklarative Sprachen" ist das funktionale. In solchen zu diesem Paradigma gehörenden Programmiersprachen programmieren zu wollen, ist für viele Programmieranfänger ein wirklich schweres Unterfangen. Zu den funktionalen Programmiersprachen gehören LISP (Scheme) und Haskell. - Das zweite Paradigma unter dem Oberbegriff "deklarativ" ist das logische (dazu gehört z. B. PROLOG). - Und dann noch ein Spezialfall: SQL gibt es als Datenbanksprache schon sehr lange.
Wo stehe ich dabei? Also, ich kann so leidlich C und (wirklich nicht gut:) C++, um einfache Konsolenprogramme zu erstellen. Ich kann mich in Java und nun auch in Haskell hineindenken und -arbeiten und versuche auch Python. Im Informatik-Bereich ist mein Spezialgebiet das "Zweierkomplement" und der damit verwandte "Exzesscode".
Diese Webseite wurde mit Jimdo Creator erstellt! Jetzt kostenlos registrieren auf https://de.jimdo.com
