NXC

Aus Stupidedia, der sinnfreien Enzyklopädie!
Wechseln zu: Navigation, Suche
Bruederle1.jpg
Wir weisen darauf hin, dass dieser Artikel Bestandteile enthält, die außerhalb der Stupidedia oder innerhalb dieses Artikels als sexistisch aufgefasst werden könnten.
Dem Autor liegt es fern, eine Rechte- und Pflichtenverteilung anhand tatsächlicher oder vorgeblicher sexueller Unterscheidungsmerkmale vorzunehmen. Dem, der sich aber von Begriffen wie "Kirchenmänner" oder "Gummipuppe" belästigt fühlt, wird dringend empfohlen, auf einen anderen Artikel auszuweichen.

Not exactly c. Das dachte sich John Hansen, nach dem Verzehr einer halben Flasche Hansen Rum. Hansen hatte nämlich versucht, im Suff eine Programmierung vorzunehmen, dabei hat er versehentlich eine Programmiersprache erfunden. Wie, das ist nur bei Stupidedia zu lesen.

Die schändliche Absicht und das wundersame Ergebnis

Der Erfinder von NXC.

Wen mag es wundern, wenn in einer Zeit, in der Volksvertreter in Kanada Nackendbilder von kleinen Jungs bestellen oder Kirchenmänner Gelder, die für arme Familien vorgesehen waren, zweckentfremden, wenn in einer Zeit, in der Würstchenfabrikanten Millionen an Zinsgewinnen nicht versteuern oder ADAC-Vorsitzende mit Rettungshubschraubern zum Golfen fahren, wenn in so einer Zeit, in der sich schwedische Könige beim Puffbesuch erwischen lassen und was weiß ich nicht alles passiert, ein einsamer Computernerd versuchen WÜRDE, seine Sexpuppe "Naughty Housewife" mit seinem Lego-Baukasten zu verkuppeln, um etwas Leben in die Bude zu bekommen? Das würde niemanden verwundern, denn das wäre nur allzu verständlich.
Lieber Leser, Du hast den Konjunktiv sicher bemerkt, denn wir wissen nicht wirklich, was John Hansen geritten hat, diese Programmiersprache für den Lego Mindstorms Steuerungscomputer zu erfinden. Aber wir kennen die Menschen und einsame Computernerds kennen wir besonders gut. Wir wissen, dass viele von diesen einsamen jungen, oft übergewichtigen Männern mit schon schütterem Haupthaar eine Scheu vor Frauen haben, denn viele von ihnen wurden Ende der 80er Jahre zwar sehr freizügig erzogen, in der Schule wurden ihnen aber die Freizügigkeit vergällt, denn sie wurden im Religionsunterricht indroktiniert und konditioniert. Aus Angst vor einer Jungfrauengeburt kappten die Heranwachsenden zukünftigen Computernerds scharenweise die Kontakte zu weiblichen Wesen, ja sogar zu ihren Müttern (welche sie vielleicht in einem ökologischen Wahn noch immer zu stillen gedachten). Diese jungen Männer fristeten ihr Dasein fortan im Internet, wovon man nicht schwanger werden konnte, und sie bestellten bei Orion Gummipuppen. Wer mal so eine Puppe besaß... oder besser: wer jemanden kennt, von dem man weiß, dass er so eine Puppe besaß, der kann sich ausmalen, dass nach ein-, zwei- oder dreihundertmaliger Benutzung die Langeweile in dieser Beziehung Einzug hält. Und wenn das gummierte Wesen sprechen könnte, dann wüsste man auch, dass das durchaus auf Gegenseitigkeit beruht. Aber da in so einer Beziehung der Computernerd der aktivere Part ist, liegt es auch an ihm zu reagieren und durch sein Handeln Abhilfe zu schaffen. Vielleicht wechselt er mal sein Unterhemd, geht zum Friseur oder zu einer Paarberatung.

Diese Art von Robotern werden durch ein Mindstormmodul gesteuert.

Es kann aber auch sein, und das können wir uns bei John Hansen gut vorstellen, dass der technisch überaus versierte Computernerd seiner stummen Gefährtin eine aktivere Rolle zugedenkt und seinen Lego-Techniks Baukasten, den mit den Sensoren, Motoren und der Mindstrom-Steuerungskonsole hervorkramt, und, da jeder Mensch Ansprache braucht, auch die Lautsprecher aus seinem alten Walkie-Talkie baut.
Nun, aber warum hat ausgerechnet John Hansen und kein anderer der ungezählten Programmierernerds die Computersprache NXC erfunden? Die Antwort ist mit etwas Psychologie einfach zu erklären: Nach der Trennung von der Familie (aus Angst vor Mutter Maria, siehe oben), brannte die Sehnsucht nach Vertrautheit und Trost in John Hansen immer heller. Und so kam es, dass er diesen bei seinem Namensvetter Hansen, Ron Hansen, fand. Da nicht viele Computernerds Hansen, Jim Beam oder Wodka Gorbatschov heißen, kam es auch nur zu dieser einen richtungsweisenden Verbindung. Und nun malen wir uns aus, wie John Hansen, bewaffnet mit einem Schraubenzieher, einer Tube Pattex, seinem Mac und einer Flasche Hansen Rum seiner Naughty Housewife zu Leibe rückt.

Da schlägt das Herz jedes Tüftlers höher (sofern er bereits einen Mindstrom hat).

Ein Zeitzeugenbericht

Hansens Monolog (wie er sich abgespielt haben könnte):
Hansen: Scheiße, das Pattex ist schon wieder eingetrocknet.
Hansen werkelt und kramt in einer großen Holzkiste herum. Plötzlich:
Hansen: Heurreka! Da ist ja noch ne neue Tube und da sind ja auch die Sensoren für die Nippel!
Man sieht Hansen von hinten, sich über eine auf dem Küchentisch liegende Gestalt her machen.
Hansen: So, jetzt noch die Sensoren verkleben und dann die Kabel zum Lautsprecher legen. Wo ist denn meine Feinzange? Na egal, Pinzette geht auch.
Hansen werkelt und summt eine fröhliche Weise vor sich hin.
Hansen (erschrocken): Verdammt! Jetzt ist das Steuerungskabel wieder abgerissen!
(Aus den Tiefen der zugemüllten Wohnung ertönt ein Klingeln.)
Hansen (steht auf und wühlt im Müll): Wo ist das scheiß Telefon? Ah, da. Hansen! ... nein, kein Interes... Hallo, ich sagte: kein Interesse. Nein. NEIN! Ach soooo... und das ist kostenfrei? Die ganze Nacht? Ach, nur die erste. Neeee. Gruppenchat will ich nicht. Nein, und auch kein Videochat. Ja, da kann man nix machen. Auf wiederh... Scheiße, aufgelegt. Wo ist denn jetzt wieder die Pinzette?
(Hansen wühlt im Müll)
Hansen: Ah, sieh mal an, der Ronnie! (schaut versonnen auf eine geschlossene Flasche Hansen Rum, die er zufällig im Müllberg gefunden hat.)
Hansen: Prost, Ron Hansen! (Nimmt einen kräftigen Schluck, da klingelt das Telefon.)
Hansen: Hansen! Nein. Ich sagte: Nein, ich möchte keinen Videostream von mir verbreitet sehen. Nein, ich ziehe keine Verkleidung an. Ja aber... selbstverständlich möchte ich die Damen live sehen. Nein, das ist etwas ganz anderes. Ja. Ganz anders. Außerdem habe ich zu tun. Ja gut, es sind ja hübsche Damen in ihrem Programm. Nein, Goldmembership möchte ich nicht. Warum? Zu teuer. Nein, keine Video von mir. Auf wieder hören. (Hansen wirft erzürnt das Telefon in den Müllhaufen zurück, nimmt sich einen Schluck Hansen).
Hansen: Puh, endlich sind die Kabel befestigt. Akku ist geladen, jetzt noch den Schalter auf Go und dann geht’s rund!
Hansen drückt einen Schalter. Nichts passiert.
Hansen: Was‘n jetzt? Oh, Error in der Steuereinheit.
Hansen baut einen kleinen Kasten aus der Gestalt aus und schließt diesen an seinen Mac (Computernerds verwenden ausschließlich Mac's) an.
Hansen: Das gibt’s doch nicht. Warum hängt sich das Scheißdingen auf, sobald die Nippelsensoren Saft kriegen?
(Da klingelt das Telefon.) Hansen (wühlt im Müll, nimmt ab und schreit): Ihr Wichser, ich werde KEINE Kamera installieren um... ach, Vater. Ja, es geht mir gut. Nein. Heute passt es nicht. Morgen auch nicht. Ja, vielleicht nächstes Jahr. Bis dann. (Hansen nimmt einen großen Schluck aus der Pulle.)

Die dann folgende Konversation zwischen Hansen, Hansen und dem Mac wird ausgelassen. Aber als Ergebnis lässt sich festhalten, dass Hansen nach dem Versuch etwas in C zu programmieren, aufgrund von Rum- und Pattexschwaden, die zusammen mit dem Gestank nach ungewaschenen Füßen eine fast feste Konsistenz angenommen hatten, nur etwas ähnliches wie eine C-Programmierung hinbekam.

Wird hier eine neue Programmiersprache entwickelt? Oder streamt dieser arme Nerd grad auf "redtube"?

Die Programmiersprache C und ihre Weiterentwicklung

Nun, jeder Computernerd kann auch programmieren. Manch einer kann zwar höchstens einen einfachen Quelltext in HTML schreiben, aber es hört sich besser an, wenn man von "programmieren" spricht. Computernerds vom Schlage John Hansen können sogar in mehreren Programmiersprachen programmieren. Denn sie hocken oft Nächte lang vor dem PC und haben Langeweile, und der nächste Familienanruf ist vielleicht erst für das nächste Jahr geplant. Und irgendwovon müssen die Computernerds ja auch leben. Arbeiten auf dem Bau geht ja nicht, weil sie oft zu dick sind. Und bei Edeka im Laden geht auch nicht, wegen des nerdspezifischen Geruchs nach Pattex, Alkohol und Schweißfüßen, der geschäftsschädigend ist. Also können sie nur Heimarbeit machen. Kugelschreiber montieren oder Programme schreiben. Für die NSA vielleicht. Die Programme.
Das dachte sich wohl auch der us-amerikanische Computernerd Dennis Ritchie, denn er erfand die Mutter von NXC. Er schuf mit seinem Lesitungsstarken Commodore 64 eine Programmiersprache, C genannt, die sich für die Programmierung eingebetteter Systeme eignet. Aber auch Betriebssysteme kann man damit basteln. Windows oder sowas.

Was ist C?

C-Programmierungen bestehen aus Modulen, die ihrerseits aus Quelltexten und Headern bestehen. Die C-Programmierung benutzt einige Datentypen wie die berüchtigten Objekt Typen oder die noch schlimmeren Unvollständigen Typen. Ein typischer C-Befehl könnte lauten: "get down, objekt; void!"

Was ist nicht C?

Nun kehren wir zurück zu Hansen, der sich verbissen an der Aufgabe abmühte, seinem Lego Mindstorms über die angeschlossenen Lautsprecher Reaktionen, wie z.B. einfache "Aaah’s" oder "Ooh’s" zu entlocken. Hansen löste nämlich durch reinen Zufall das Problem, dass sein Lego Mindstorm mit dem Gleitkomma nicht klar kam. Das Gleitkomma hat bisher noch keine Erwähnung erfunden, und das mit Recht, denn wo kämen wir hin, wenn das Komma immer hin und her gleiten könnte? Nachher kostet die Currywurst mit Pommes Majo plötzlich nicht 3,90 Euro sondern 39,0 Euro. Oder noch schlimmer, 39 Cent.
Und weil Hansen in besagter Nacht, die auch als die Geburtsnacht von NXC bezeichnet werden könnte, bereits einen so verschwommenen Blick hatte, rutschten nicht nur die Gleitkommata, sondern auch die Festkommata ständig hin und her und John Hansen sagte sich: "Ssschluss damit! Wird alles nur noch mit ohne Komma gemacht, weg mit dem Gleitkomma-Datentyp, bevor ich ins Komma falle!" Und damit war der Zufall in Gestalt eines Klingeltons, der unseren fast schon lieb gewonnenen Computernerd Hansen zur Rumflasche greifen ließ, zu Hilfe gekommen. Denn, und das wusste Hansen gar nicht, die Sensoren und Elektromotörchen von Lego verstehen gar kein Gleitkomma.

Programmieren in NXC

Nun, wie funktioniert das Programmieren in NXC? Dazu sei vorweggesagt, das dass einzige, was NXC gut kann, das Arbeiten mit dem Lego Mindstorms ist. So kann man mit NXC ganz einfach einen Roboter darauf programmieren, die Zeitung zu holen, Spiele ab 18 bei Saturn zu kaufen oder sogar kleine Kinder zu ärgern oder vorzutäuschen, diese zu produzieren. Darüberhinaus verfügt der Mindstorms über verschiedene Sensoren, die über NXC angesprochen werden können. Insbesondere sind das:

  • Ultraschallsensor
  • Touch-Sensor
  • Schallsensor
  • Temperatursensor
  • Helligkeitssensor

Unser Computernerd Hansen hat für den Mindstorms, der ja die Steuereinheit für seine Naughty Housewife darstellt, selbstverständlich weitere Programmfunktionen zugedacht, aus Gründen der Stupidedia FSK-16-Freigabe wird auf Details verzichtet.

Beispielcode

Selbstverständlich ist es für den Autor ein leichtes, selbst NXC-Programmierungen zu schreiben, aus Gründen, die später deutlich werden, sei hier jedoch nur ein rudimänteres Beispiel genannt:

task main(){
  SetSensorLowspeed(S4);
  while(true){
    if(object_in_slot2){      // ist er schon drin? Oohh!
       if (object_turns(100));      // hipsserver_on
       if nippeltouch(QUETSCH_MODE); // kitchen_mode_on
    }
  }
}

Variablen gibt es natürlich auch. Mit dem Unterschied dass der Entwickler es nur zu "int" geschafft hat.
Dieser Beispielcode mag angehende Computernerds enttäuschen, doch noch ist nicht aller Tage Abend: Weitere Details werden wir veröffentlichen, wenn ein nicht näher genanntes aber dennoch stark frequentiertes Versandhaus für Erwachsenenbedarf sich bereit erklärt, auf ein Joint-Venture-Angebot einen beliebten Satire-Wiki einzugehen oder eine Umsatzbeteiligung am Produkt "Naughty Housewife" einräumt.


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();

}