3 x 3 Goldauszeichnungen von Ali-kr, FAke und Hovetrekke Trimmrad2 x 2 Silberauszeichnungen von Floyd93 und Burschenmann I.1 x 1 Bronzeauszeichnung von Snocker15

C (Programmiersprache): Unterschied zwischen den Versionen

Aus Stupidedia, der sinnfreien Enzyklopädie!
Wechseln zu: Navigation, Suche
K (Änderung 1465245 von 141.28.224.78 (Diskussion) wurde rückgängig gemacht.)
Zeile 23: Zeile 23:
 
*[[Kaffee]]
 
*[[Kaffee]]
 
*Wunder
 
*Wunder
*Ein unbegrenzter Vorrat von geschweiften Klammern
+
*Ein unbegrenzter Vorrat von geschweiften Klammern und Semikola
 
*Eine oder mehrere Personen, auf die man einschlagen kann, um Aggressionen abzureagieren
 
*Eine oder mehrere Personen, auf die man einschlagen kann, um Aggressionen abzureagieren
 
*Die Gabe, sein [[Gehirn]] und sämtliches logisches [[Denken]] abzuschalten.
 
*Die Gabe, sein [[Gehirn]] und sämtliches logisches [[Denken]] abzuschalten.

Version vom 9. Dezember 2010, 20:49 Uhr

Vorlage:Sternstart Vorlage:Stern Vorlage:Stern Vorlage:Stern Vorlage:Stern Vorlage:Sternende

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 Ritchie, 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 Semikola
  • 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
  • C ist Interpretationssache
  • 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!"

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 - nie funktionieren wird weil z.B.:

  1. irgendein Trottel die initialsierung einer Zählvariablen vergessen hat.
  2. die Sprungmarken eingerückt sind.
  3. einige Sprungmarken falsch geschrieben wurden.
  4. Die Deklarationen von Manowar und Slipknot irgendwo im Funktionsblock stehen, nicht geklammert sind und weiter oben abgefragt werden.
  5. die printf bei einer GUI irgendwo landet, bloss nicht vor den Augen des Users
  6. Kein Compiler mit Anstand irgendetwas mit der Phrase Paris_Hilton übersetzt
  7. Die Abfrage == true sowas von in die Hose gehen kann.
  8. Das ganze wahrscheinlich von einem Basic Programmierer zusammen geklatscht und bestimmt nie übersetzt wurde.

(es handelt sich um den Quellkot von Counterstrike)

manche Quellen meinen aber auch es sei Spaghetticode

#include <stdio.h>
#include <stdlib.h> 
#define true=1
#define false=0
void Paris_Hiltons_Schaedel();
int main()
{
 Paris_Hiltons_Schaedel();
 return 0;
}
void Paris_Hiltons_Schaedel();
{
 int a;
 goto Spaghetti3;
   Spaghetti1:
 Marke:
 a=a+1;
 if (a==10)
 {
   goto Spaghetti2;
 }
 if (Manowar==true)
 { 
  printf("\n Hail to England !");
 }  
 goto marke;
 Spaghetti2:
 if (Slipknot==false)
 { 
  printf("\n Slipknot ist Scheiße !");
  printf("\n Hahaha !");
 } 
 goto Spaghetti5;
 Spaghetti4:
 Manowar=true;
 Slipknot=false;
 goto spaghetti1;
 spaghetti3:
 int Manowar;
 int Slipknot;
 goto Spaghetti4;   
 Spaghetti5:
 printf("\n\n\nAchja\nÄhm\nnoch was ...\n");
 printf("\nHallo Welt!\n");
}

Siehe auch

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

}


Linktipps: Faditiva und 3DPresso