in den 80ern gab es "Logo" damit konnte man nur ein Punkt (Schildkröte?) über den Bildschirm steuern. Was gibts da noch?
Der Assemblerbefehl NOP. Genau ein Befehl also das Minimum an Komplexität und macht genau: Nichts! Da soll noch mal einer sagen Assembler wäre kompliziert.
Es gäbe zum Beispiel auch Robot-Karol, da kann man eine Lego-Figur um Raum bewegen und Marken oder Blöcke setzen. Das Paket hat auch einige Beispiele zum lernen. Die Programmierung erfolgt mittels deutschen Befehlen. Mit freundlichen Grüßen, N.G.
Lego-Programmierer schrieb: > in den 80ern gab es "Logo" damit konnte man nur ein Punkt > (Schildkröte?) > über den Bildschirm steuern. Was gibts da noch? Den Streichholzcomputer: http://www.waldorf-it.de/wp-content/uploads/2013/11/Schachcomputer-v31.pdf Brainfuck wäre auch als minimalistsische Progsprache zu nennen:
1 | 1 +++++ +++ Set Cell #0 to 8 |
2 | 2 [ |
3 | 3 >++++ Add 4 to Cell #1; this will always set Cell #1 to 4 |
4 | 4 [ as the cell will be cleared by the loop |
5 | 5 >++ Add 4*2 to Cell #2 |
6 | 6 >+++ Add 4*3 to Cell #3 |
7 | 7 >+++ Add 4*3 to Cell #4 |
8 | 8 >+ Add 4 to Cell #5 |
9 | 9 <<<<- Decrement the loop counter in Cell #1 |
10 | 10 ] Loop till Cell #1 is zero |
11 | 11 >+ Add 1 to Cell #2 |
12 | 12 >+ Add 1 to Cell #3 |
13 | 13 >- Subtract 1 from Cell #4 |
14 | 14 >>+ Add 1 to Cell #6 |
15 | 15 [<] Move back to the first zero cell you find; this will |
16 | 16 be Cell #1 which was cleared by the previous loop |
17 | 17 <- Decrement the loop Counter in Cell #0 |
18 | 18 ] Loop till Cell #0 is zero |
19 | 19 |
20 | 20 The result of this is: |
21 | 21 Cell No : 0 1 2 3 4 5 6 |
22 | 22 Contents: 0 0 72 104 88 32 8 |
23 | 23 Pointer : ^ |
24 | 24 |
25 | 25 >>. Cell #2 has value 72 which is 'H' |
26 | 26 >---. Subtract 3 from Cell #3 to get 101 which is 'e' |
27 | 27 +++++ ++..+++. Likewise for 'llo' from Cell #3 |
28 | 28 >>. Cell #5 is 32 for the space |
29 | 29 <-. Subtract 1 from Cell #4 for 87 to give a 'W' |
30 | 30 <. Cell #3 was set to 'o' from the end of 'Hello' |
31 | 31 +++.----- -.----- ---. Cell #3 for 'rl' and 'd' |
32 | 32 >>+. Add 1 to Cell #5 gives us an exclamation point |
33 | 33 >++. And finally a newline from Cell #6 |
Da ist noch eine, die wohl extra für das Programmierniveau von. Orang-Utans entwickelt wurde: https://de.wikipedia.org/wiki/Ook! Code-Beispiel:
1 | . ? . . . . . . . . . . . . . . |
2 | . . . . ! ? ? . . . . . . . . . |
3 | . . . . . . . . . ? ! ! ? ! ? . |
4 | ! . . ? . . . . . . . . . . . . |
5 | . . ! ? ? . . . . . . . . . . ? |
6 | ! ! ? ! ? . . . ! . . . . . . . |
7 | . . . . . . . . ! . ! . . . . . |
8 | . . ! . . ? . ? . ? . . . . . . |
9 | . . . . . . . . . . ! ? ? . . . |
10 | . . . . . . . ? ! ! ? ! ? . ! . |
11 | . ? . ? . ? . . . . . . . . . . |
12 | . . . . . . . . . . ! ? ? . . . |
13 | . . . . . . . . . . . . . . . . |
14 | . ? ! ! ? ! ? . ! ! ! ! ! ! ! . |
15 | ? . ? . ? . ? . ! . . . . . . . |
16 | ! . ! ! ! ! ! ! ! ! ! ! ! ! ! . |
17 | ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! |
18 | ! . . ? . ? . . ! . |
Schöööön, nicht wahr?! Solche Programmierspachen nähern sich schon poetischen Werken wie Fisches Nachtgesang von Christian Morgenstern enorm: http://textarchiv.guntherkrauss.de/morgenstern/nachtgesang.html
Arnold Schwarzenegger C. Wes der kann, dürfte leicht zu lernen sein : https://github.com/lhartikk/ArnoldC/wiki/ArnoldC Ein "hello world" sieht da so aus:
1 | IT'S SHOWTIME |
2 | TALK TO THE HAND "hello world" |
3 | YOU HAVE BEEN TERMINATED |
wenn wir schon auf dem Niveau esoterischer Programmiersprachen sind, werfe ich mal HQ9+ (https://de.wikipedia.org/wiki/HQ9%2B) in den Raum... :-) Nebenbei: habe mal in einem Lua-Workshop einen Interpreter für HQ9+ von den Teilnehmern bauen lassen: (https://github.com/boerge42/Lua-Magie/blob/master/hq9plus/hq9plus.lua)
:
Bearbeitet durch User
Herrlich:
1 | IT'S SHOWTIME |
2 | HEY CHRISTMAS TREE isLessThan10 |
3 | YOU SET US UP @NO PROBLEMO |
4 | HEY CHRISTMAS TREE n |
5 | YOU SET US UP 0 |
6 | STICK AROUND isLessThan10 |
7 | GET TO THE CHOPPER n |
8 | HERE IS MY INVITATION n |
9 | GET UP 1 |
10 | ENOUGH TALK |
11 | TALK TO THE HAND n |
12 | GET TO THE CHOPPER isLessThan10 |
13 | HERE IS MY INVITATION 10 |
14 | LET OFF SOME STEAM BENNET n |
15 | ENOUGH TALK |
16 | CHILL |
17 | YOU HAVE BEEN TERMINATED |
Der Andere schrieb: > Der Assemblerbefehl NOP. Genau ein Befehl also das Minimum an > Komplexität und macht genau: Nichts! > Da soll noch mal einer sagen Assembler wäre kompliziert. Damit kann man dann aber eben auch gar nichts machen. Dann lieber eine OISC-Architektur. Die hat nur eine Instruktion, aber man kann damit alles machen. https://en.wikipedia.org/wiki/One_instruction_set_computer Lego-Programmierer schrieb: > in den 80ern gab es "Logo" damit konnte man nur ein Punkt (Schildkröte?) > über den Bildschirm steuern. Was gibts da noch? Logo gibt's auch heute noch, sogar online im Browser: http://www.calormen.com/jslogo/
Die Programmiersprache "Befunge" ist auch rel. einfach gehalten. https://de.wikipedia.org/wiki/Befunge
Der Andere schrieb: > Der Assemblerbefehl NOP. Genau ein Befehl also das Minimum an > Komplexität und macht genau: Nichts! Er macht sehr wohl was, weswegen er ja auch benutzt wird. 1) kostet Zeit, kann man also für delikate Delays nehmen. 2) Die Nop-Rutsche ist immer wieder gern gesehen für return-oriented Exploits.
In alten Zeiten, vor Dijkstra wurde der NOP Befehl vom Programm in einen B Befehl geändert und evtl. zurück. Es wurde eine Weiche eingebaut. Heute steht Strafe auf so etwas!
Brainfuck ist auch nicht all zu schwer.
klausb schrieb: > Heute steht Strafe auf so etwas! Oh ja, ich entsinne diese selbstmodifizierenden Programme noch. Und auch, was passierte, als CPUs auf einmal Caches bekamen.
Oliver R. schrieb: > ich finde Small Basic zum Lernen ziemlich gelungen Basic gut zum Lernen, soso: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: As potential programmers they are mentally mutilated beyond hope of regeneration." Edsger W. Dijkstra
Ordner schrieb: > Basic gut zum Lernen, soso: Dijkstra ist tot, BASIC lebt. ;-) Komm runter vom Ross. Dijkstra äusserte das 1975. Hast schon einmal ein modernes BASIC, oder das erwähnte Small Basic, mit einem BASIC von 1975 verglichen? Da liegen Welten dazwischen. Heutiges BASIC ist eine ganz gewöhnliche strukturierte Sprache mit gut lesbarer Syntax, kein antiker Spaghetti-Code mit Zeilennummern.
:
Bearbeitet durch User
A. K. schrieb: > Ordner schrieb: >> Basic gut zum Lernen, soso: > > Dijkstra äusserte das 1975. Hast schon einmal ein halbwegs modernes > BASIC oder das erwähnte Small Basic mit einem BASIC von 1975 verglichen? Die Frage ist halt, was Dijkstra so verachtenswert an Basic fand und ob er nicht Altersweise geworden ist. Da D. ja als Paladin der OOP gilt, konnte man annehmen, das ihm der imerative Programmier-Ansatz ein Dorn im Auge ist. Und diesen Ansatz teilt sich Small Basic auch mit dem Ur-Basic. PS: Ich bereue es zutiefst, meinen vorgehenden Beitrag nicht mit Zwinger-Smileys gerahmt zu haben. ;-)
Ordner schrieb: > Und diesen Ansatz teilt sich Small Basic auch mit dem Ur-Basic. Lies nochmal den Titel des Threads. Und dann schlag was vor, das dem Anspruch der Frage entspricht und Dijkstra gefallen hätte. Ich kannte den Herrn nicht persönlich. > Ich bereue es zutiefst, Gut so ;-). Wobei dieser Text auch ohne Smiley funktioniert hätte.
:
Bearbeitet durch User
A. K. schrieb: > Ordner schrieb: >> Und diesen Ansatz teilt sich Small Basic auch mit dem Ur-Basic. > > Lies nochmal den Titel des Threads. Sorry, aber mein Beitrag bezieht sich nicht auf den Titel des Threads sondern auf einen darin und von mir zitierten Beitrag das BASIC gut zum Programmier lernen sei. Und dann ist mir der Schalk aus dem Nacken auf die Tastatur gerutscht und deklamierte tanzend wie Rumpelstilzchen "Go to Statement considered harmful, considered harmful, harmful". ;-) Und abseits von ';-)', kein Basic Dialekt ist dafür bekannt sich auf einfache aka "schwachbrüstige" Befehle zu beschränken, PEEK und POKE aus C64 Zeiten erst garnicht erwähnt. Man kann IMHO nicht aus den unverschämt kleinen Speicherbedarf von Basic-Interpretern der Vergangenheit (bspw TINY-Basic lief auf Maschinen mit 4 kByte RAM) schließen, das BASIC eine einfache Programmiersprache sei, die wenig kann. PS: D. war wohl doch nicht der OOP angetan, ´"Object-oriented programming is an exceptionally bad idea which could only have originated in California." -> wahrscheinlich gab es so gut wie keine Progsprache die D. nicht zu einer grantigen Bemerkung verleitete. Bissige Bemerkungen über Compiler, Sprachen und Co scheinen aber wohl das Kennzeichen nicht weniger Persönlichkeiten der Informatik zu sein, bspw: "For chrissake, that compiler shouldn't have been allowed to graduate from kindergarten. We're talking "sloth that was dropped on the head as a baby" level retardation levels here:" (nicht von Dijkstra).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.