_start exit

Die Programmier-Session war in etwa genauso zäh wie mein Lesen. Aber immerhin lernte ich gleich zu Anfang, dass Menschen wie Grace Hopper, mein absolutes Vorbild (als ob) damals noch debuggt haben, als ein bug ein bug war. Ziemlich cool. Wir kamen auf sie wegen irgendeines blöden Artikels, der behauptet, Frauen würde es schwerer fallen, Programmieren zu lernen, weil sie zuviel Angst davor hätten, Fehler zu machen. Provokation-Plom fragte mich das auch schon mehrmals, ob ich nicht auch Angst habe, etwas falsch zu machen. Aber ich denke dann immer nur, dass ich gerne die Skills hätte, um überhaupt irgendetwas falsch zu programmieren.
Bis zu diesem Zeitpunkt hatte ich ja mehr so Commands und sowas gelernt. Hier übrigens meine Tabelle bisher:

Kleiner Exkurs: Das mit dem Witz neben blog.fefe.de war übrigens erlehmanns Idee. Ich hatte Bedenken ob ich das so lustig finden würde -also doch, ich habe hart und herzlich gelacht, aber überlegt ob es nicht trotzdem diskriminierend gegenüber übergewichtigen Leuten wäre. Wir kamen zu dem Schluss, dass die fefe-Witze derart kultiviert und fefe-bezogen wären, dass es ok sei über solche Witze wie “Wo ist fefe? – Keine Ahnung, wirf was in die Luft” zu lachen und sie zu reproduzieren.
Noch ein kleiner Exkurs: Es gibt ein Programm names Fortunes, das dir immer einen Spruch ins Terminal wirft, wenn du es öffnest. Es gibt aber auch ein Paket mit fefe-Zitaten. Wenn ich richtig verstanden habe hat er das selbst geschrieben, was auf eine übergesunde Portion Über-Egozentrismus schließen lässt. Ich kann sicher noch was von ihm lernen.

Zum Programmieren kam ich auch zu spät, weil ich vorher noch im Jüdischen Museum war. Dort nahm ich an einer Führung teil, was sich wie immer als Fehler herausstellte aber immerhin erfuhr ich zwischendurch vom Rechentisch, einem horizontalen Abakus quasi. Und wie viel mehr Awesomeness das arabische Zahlensystem gegenüber dem Römischen hatte. Unter Anderem wegen der Null! Und was wären wir ohne die Null?
Eine einsame Eins ohne Zweisamkeit. Das war auch das erste, was ich plom und erlehmann dann ganz aufgeregt erzählte. Die zweite Sache, die ich genauso aufgeregt erzählte war, dass ich mich tierisch über einen PC aufgeregt habe, den ich zwischendurch benutzen musste. Ein Windows-Diktator wollte mich dazu zwingen, ein Update durchzuführen und ich lehnte immer wieder ab und ALLE 15 MINUTEN fragte er nochmal. Das wär mir bei Linux natürlich nicht passiert. Hier stürzt höchstens mal der Windows-Manager ab, weswegen ich überhaupt auf den PC zurückgreifen musste. Aber auch das war schnell behoben durch die Spezialexperten.

Jedenfalls konzentrierten wir uns dann auf das exit-Programm das ich schon brav samt der ganzen nutzlosen Comments vom Autor eingetippt hatte. Ich konnte es vorher nicht ausführen, weil nirgends stand, dass ich erstmal einen Assembler installieren muss. (apt-get install binutils btw.). Damit war der Befehl as exit.s -o exit.o natürlich hinfällig. Der hätte die source-datei (daher die Endung .s) in eine object-Datei verwandelt. Aber dank binutils ging das ja dann. Wir reduzierten das Programm auf fünf Zeilen und das sah so aus:

   Was es tut, wenn ich es starte ist, dass es sofort wieder aufhört.
Aber darüber hinaus kann ich mit dem Befehl echo $? auch noch
gucken, ob denn alles okeh ist. Wenn ich eine 0 bekomme, passt’s.

Und die bekam ich auch! Danach schrieb ich dann so im Programm rum, dass ich stattdessen eine 42 als Antwort bekam. Hihi…Ihr könnt ja selber einmal schauen, ob ihr rausfindet wie das geht.
Nach einer ziemlich eingehenden Analyse der Befehle schrieb ich das Programm noch einmal aus dem Kopf und wir merzten nach und nach meine Syntaxfehler aus. Das heißt, ich kann jetzt mein erstes eigenes Programm aus dem Kopf schreiben! Solltet ihr also das Bedürfnis verspüren, so ein absolutes Programm in Reinform ohne störende Schörkel und Funktionen zu haben- ich kann das für euch in Assembler programmieren!

Das zweite Programm mit dem angemessenen Namen “maximum” war schon weitaus schwieriger nachzuvollziehen. Es sieht so aus:

Es schickt die Zahlen des Datensatzes durch eine Schleife, die immer wieder zwei Werte vergleicht- einen, der vorher als der höchste registriert war und einen zweiten Wert, nämlich die nächste Zahl im Datensatz. Ist der neue Wert höher, landet er im entsprechendes Register. Das läuft so lange, bis die letzte Zahl verglichen wurde. Die Zahl, die am Ende noch im Register %eax lauert, ist also die höchste Zahl! Und die lasse ich mir wieder mit “echo $?” anzeigen.
Jetzt muss ich nur noch rausfinden, ob es einen simplen use case dafür gibt. Wie ich bspw. einen größeren dynamischen Datensatz einspeise, damit das Programm mehr kann als das, was ich mit einem kurzen Blick auf die… 15 Ziffern auch selber machen kann. In ca. 3 Sek. Aber das kennen wir ja schon.

Die Aneignung des Programms war… naja, schwerfällig. Wir mussten am Ende und nach 6 Stunden die Session auch abbrechen bzw. ich bat darum. Plom war zwar ein bisschen “hmpf”, weil wir das Kapitel nicht abgeschlossen hatten, aber ich war schon mehrmals neben ihm eingenickt, während er mir ausführliche Antworten auf meine Fragen gab. Ich hoffe er hat das nicht gemerkt und wird es nie erfahren! Erlehmann sagte irgendwann schon gar nichts mehr. Er entschuldigte sich später dafür, er dachte nämlich ich sei angepisst und hätte keine Lust mehr. Mir tat es aber eher leid, dass wir jeden seiner Sätze mit “NEINNEINNEINWARTEPSST” unterbrachen, weil ich erstmal etwas Anderes verstehen musste, bevor er mich mit weiterführendem Wissen verwirrte.

Trotzdem war mir schon bewusst, dass ich zieeeeeemlich viel gelernt hatte an diesem Abend. Und ich wäre sicher mit einem Gefühl der absolute Power of Knowledge aus dem plomspace gegangen hätten wir nicht am Ende die Human CentIpad-Folge von Southpark gesehen. Meine Güte war die furchtbar.

However. Ich hoffe, dass die Schwierigkeitskurve irgendwann auch mal ein Plateau erreicht und ich alle neuen Informationen so verorten kann, dass ich nicht alles lernen muss sondern nur das Wichtigste. Oder dass ich es schaffe mal ausgeschlafen und unverkatert zu einer Programmiersession zu gehen.

About these ads
Getaggt mit
Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 105 Followern an

%d Bloggern gefällt das: