Logo (Programmiersprache)

Aus Stupidedia, der sinnfreien Enzyklopädie!
Wechseln zu: Navigation, Suche

Logo ist eine Programmiersprache, die 1960 als Folterwerkzeug an Schulen entwickelt wurde. Das Ziel von Logo ist es, die Schüler (es gibt keine Logo-Entwickler) so stark zu verwirren, dass diese freiwillig auf jeglichen Kontakt mit Computern verzichten, was die Abnutzung der Schulcomputer rapide senkt und somit Kosten reduziert. 2011 starben über 5 Millionen Menschen an den Langzeitfolgen von Logo.

Entstehung

Lisp, die Vorlage für Logo wurde 1958 entwickelt. Der Ansatz von Lisp war, auf alle langweiligen Elemente anderer Programmiersprachen zu verzichten und diese durch Klammern zu ersetzen. Schon damals zeigten sich bei Anwendern massive Nebenwirkungen wie:

Seymour Papert, der lange nach einer effizienten Foltermethode suchte, erkannte das Potenzial von Lisp und begann mit der Entwicklung von Logo. Er implementierte unter anderem Turtle Graphics, eine Erweiterung, mit der es möglich ist, Epilepsie auslösende, zweidimensionale Formen auf den Bildschirm zu zeichnen.

Features

Später baute Papert einige Optimierungen ein, mit denen es möglich war noch effizienter zu foltern. Eine dieser Optimierungen ist die komplett überarbeitete Syntax, die möglichst viel Information möglichst komplex und mit möglichst wenigen Zeichen darstellen kann. Die Besonderheit dieser Syntax ist die Möglichkeit, ein vollständiges Programm in nur einer Zeile Quellcode zu schreiben. Außerdem baute Papert das Klammerkonzept, das bereits in Lisp eingeführt wurde, weiter aus. Es macht das Einfügen eckiger und/oder runder Klammern im Quellcode an solchen Stellen nötig, an denen es der Anwender am wenigsten erwartet.

Die zweite nennenswerte Optimierung bestand darin, dem Anwender keinen Zugriff auf Variablen zu geben. Das machte die Sprache jedoch unbrauchbar, weshalb Papert wenig später Befehle hinzufügte, die dem Anwender zwar das Benutzen von Variablen ermöglichen, die aber so unverständlich und lang sind, dass sie für die meisten Anwender nicht nutzbar sind.

Funktionsweise

Logo ist die einzige Hochsprache, die schwerer zu lesen ist als Assemblercode. Die einzigartige Syntax macht selbst einfachste mathematische Aufgaben schier unlösbar:

   setze "ax 128 setze "bx :a wh 8[wenn :bx=0[dz 0][wenn :bx = :ax[dz 1 setze "bx 0]
   [wenn :bx>:ax[dz 1 setze "bx (summe :bx -:ax) setze "ax quotient :ax 2][dz 0 setze "ax quotient :ax 2]]]]

Dabei verwendet Logo einige logische Grundelemente:

  • Variablen können nur durch setze „name wert“ benutzt werden
  • Einfache Rechenoperationen wurden leider etwas erschwert:
    • plus/minus: setze „variablemitderichrechnenwill (summe :variablemitderichrechnenwill :wasichdazurechnenwill“)
    • mal/geteilt: setze „variablemitderichrechnenwill qoutient :variablemitderichrechnenwill :teiler“
  • Um jeden Ausdruck muss eine Klammer gesetzt werden
  • Um Klammern müssen Klammern gesetzt werden
  • Alle Klammern, die im Programm gesetzt, werden am Ende geschlossen, um den Anwender durcheinanderzubringen
  • Befehle haben immer kryptische Namen

Logo führt beim längeren Verwenden zu

Bei 80 % der schweren Logo-Fälle kommt es zu unkontrollierbaren Wutausbrüchen, geschätzte 38 % erleiden beim Hämmern mit dem Kopf auf der Tastatur schwere Schädelfrakturen und über 10 % essen bei dem Versuch, Logo zu verstehen, die eigene Hand auf.

Verwendung an Schulen

Logo ist an Schulen und unter genervten Informatiklehrern sehr beliebt, da es bei den Schülern bereits nach kürzester Zeit psychische Schäden verursacht. Das im schlimmsten hat zur Folge, dass die betroffenen Schüler nicht mehr dazu in der Lage sind, die Schulcomputer oder anderes Schuleigentum zu beschädigen. Im besten Fall ist der Schüler nach der Behandlung mit Logo sogar unfähig, die Schule zu besuchen und kostet den Staat an dieser Stelle weniger Geld. Informatiklehrer, die mit ihrem Beruf überfordert sind, haben in Logo eine effiziente Waffe gegen die verhassten Schüler gefunden. Oft setzen sie die Schüler zu Beginn des Schuljahres einer hohen Dosis Logo, aus um ihren Kurs zu verkleinern.

Seit der Veröffentlichung des deutschen Logo-Befehlssatzes ist die Anwendung im Unterricht noch leichter geworden; diese Übersetzung hat den Vorteil, dass viele Originalbefehle ungenau ins Deutsche übersetzt wurden und die Schüler den Quellcode noch schlechter verstehen. Zwar verstehen ihn die meisten Lehrer auch nicht, können ihna aber aufgrund ihrer jahrhundertelangen Erfahrung mehr oder weniger effektiv anwenden.

if (codingLanguageList.Contains(this.title)) {

wikiPage[] articleList = { A, Assembler, BASIC, Brainfuck, C, C++, C-Sharp, COBOL, D, Delphi, Eick#, Eiffel, Gehirnassembler, Haskell, HTML, Java, JavaScript, Logo, NXC, Pascal, Perl, PHP, Python, Robot Karol, SQL, Tcl, UML, Visual Basic, ZLORFIK };

} else if(article.Exists()) {

wikiPage[] articleList = { Programmer-Lang, Was deine Programmiersprache über dich verrät, Rekursive Programmierung};

} else {

EditTemplateCodingLanguage();

}