C (Programmiersprache)

Unter dem Codenamen C entstand im 20. Jahrhundert eine Programmiersprache, die Gerüchten zufolge von B, A, A-- und einem unbekannten Programmierer beeinflusst wurde. Das ‚C‘ steht für complex, crippled (daher cpp), cryptic, crap und crash.

Überblick

Wesentliches Kennzeichen der Sprache C ist geringe Lesbarkeit gepaart mit hohem Programmieraufwand für vergleichsweise einfache Problemstellungen. So ist das Programmieren einer Konsolenanwendung, die n vom Benutzer eingegebene Zeichenketten beliebiger Größe in alphabetisch umgekehrter Reihenfolge wieder ausgeben soll, bereits für fortgeschrittene C-Programmierer ein mehrtägiges Großprojekt. Viele scheitern komplett daran und müssen auf Visual Basic zurückgreifen oder springen aus Verzweiflung von einer Brücke.

Geschichte

Als Erfinder von C gilt der Amerikaner Dennis Bui, der das Abc komplettieren wollte, was ihm nach Ergänzung von AB mit C auch gelang. Bahnbrechend an der neuen Programmiersprache C war die Tatsache, dass es die erste populäre Sprache war, deren Name nur aus einem Buchstaben bestand, wenn man die Sprachen A und B nicht mitrechnet.

Programmieren in C

Programmieren in C ist ein Kampf mit Syntax, Semantik und C.

Um die Chance zu haben, ein Programm in C zu kompilieren, werden folgende Gegenstände benötigt:

  • C-Compiler
  • Programmierkenntnisse
  • Zeit
  • Kaffee
  • Wunder
  • Ein unbegrenzter Vorrat von geschweiften Klammern und Semikohlen
  • Eine oder mehrere Personen, auf die man einschlagen kann, um Aggressionen abzureagieren
  • Die Gabe, sein Gehirn und sämtliches logisches Denken abzuschalten.

Sind diese Grundvoraussetzungen erfüllt, so steht zwischen dem geistigen Plan und der erfolgreichen Realisierung durch C-ähnlichen Programmcode nur noch der C-Compiler. Diesen C-Compiler von der Korrektheit des eigenen Codes zu überzeugen, ist die erste Aufgabe auf dem Weg zum gewünschten Programm. Ist die Aufgabe gelöst, so beginnt das zur Codelänge im potentiellen Verhältnis stehende C-typische Debugging. Obwohl der Code akzeptiert wird, ist er doch zugleich falsch. An dieser Stelle offenbart sich die schmerzliche Tatsache, dass C Interpretationssache ist.

Gegenwart

C wird heutzutage von alten Veteranen und Kryptonanalytikern verwendet. In der schulischen und universitären Ausbildung dient die Sprache als Mahnmal dafür, dass alles noch viel komplizierter geht, als man es in den dunkelsten Albträumen für möglich gehalten hätte. Die Nachfolgersprache C++ hat im wesentlichen alle negativen Eigenschaften geerbt, und brachte mit der sogenannten Objektorientierung wieder neue Probleme.

Der neueste Schrei von C-Indianern ist C#, böse Zungen behaupten, es sei ein billiger Java-Abklatsch.

Fakten

  • Windows wurde in C programmiert
  • Der wichtigste Datentyp in C ist void
  • C ist der dritte Buchstabe im Alphabet
  • Nach C kommt D, wobei D auch wieder eine Programmiersprache ist, die alle schlechten Eigenschaften von C und C++ geerbt hat.
  • Der Name C kommt vom Wort fuck, da man dies aber nicht benutzen durfte, hat man C verwendet

Zitate

  • "Wenn ich jetzt diese Variable als void deklariere, und einen Zeiger darauf setzte, warum muss ich dann den Parameter als Referenz übergeben?"
  • "Es hat mal funktioniert, aber jetzt gibt der nur noch Error aus"
  • "Segmentation Fault, Stack-overflow und dann noch so ein external linking-error. Herrlich"
  • "Wer ist dieser TODO?"
  • "In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie!!!" - Leitspruch eines jeden Pascal-Fans
  • "Error: No Error!"
  • "Hmm, seltsam. Vielleicht brauche ich einfach mehr geschweifte Klammern."

Code-Beispiel

Hier ein Beispiel für einen professionellen C-Quellcode, der - wie es sich gehört - den Befehl GOTO gelegentlich verwendet und - ebenfalls wie üblich - prima funktioniert weil z.B.:

  1. irgendein Trottel die Initialsierung der Variablen "Toilette" vergessen hat, was bei Inkrementierung oder Betätigung der Spülung zu Überlauf führen kann
  2. die printf bei einem Klicki-Bunti-Betriebssystem irgendwo landet, bloß nicht vor den Augen des (L)Users
  3. kein Compiler mit Anstand irgendetwas mit der Phrase Paris_Hilton übersetzt, ohne sich zu schämen
  4. die Abfrage == true sowas von in die Hose gehen kann, weil jeder PrähProczeßor(auch selten Präprozessor) schon implemeniert hat, dass Manowar true sind
  5. der Übersicht halber auf Einrücken verzichtet wurde
  6. die Compiler-Meldung «WARNING» frei übersetzt «das hast du aber gut gemacht» bedeutet.
#include <stdio.h>
#include <stdlib.h>
#define true 1
#define false 0
void Paris_Hiltons_Schaedel(); /* void bedeutet leer */
int main()
{
Paris_Hiltons_Schaedel();
return 0;
}
void Paris_Hiltons_Schaedel()
{
char Toilette;
/* Initialisierung nicht notwendig,
denn die Toilette kann ja šberlaufen */
int Manowar;
int Slipknot;
goto Spaghetti3;
Spaghetti1:
Marke:
Toilette=Toilette+1;
if (Toilette==10)
{
goto Spaghetti2;
}
if (Manowar==true)
{
printf("\n Hail to England !");
/* GUI ist nur fr Whimps und Poser */
}
goto Marke;
Spaghetti2:
if (Slipknot==false)
{
printf("\n Slipknot ist Scheiße !"); /* Ein wahres Wort */
printf("\n Hahaha !");
}
goto Spaghetti5;
Spaghetti4:
Manowar=true;
Slipknot=false;
goto Spaghetti1;
Spaghetti3:
goto Spaghetti4;
Spaghetti5:
printf("\n\n\nAchja\nÄhm\nnoch was ...\n");
printf("\nHallo Welt!\n");
}

Siehe auch

This article is issued from Stupidedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.