Python (Programmiersprache)
Der folgende Artikel ist ein Satire-Artikel. Es kann sein, dass er nicht ganz ernst gemeinte Aussagen enthält. Es kann aber auch sein, dass der Artikel irgendeine tiefgründige Botschaft vermitteln möchte.
Python ist eine Programmiersprache die schon lange mit C++ konkurriert. Sie wurde in C (Programmiersprache) realisiert. Im Gegensatz zu C++ ist Python nämlich eine verwendbare Sprache, da sie ohne Präprozessor auskommt. Die Entwurfsphilosphie ist es, möglichst unleserlichen Quellcode erstellen zu können. Python wurde von Monty Python entwickelt und nach der Schlange benannt. Python enthält so viele eingebaute Funktionen, dass es 3 Jahre dauert ein einzelnes Programm das in Python geschrieben wurde zu starten. Python ist Open Source und hat schon Level 13.
Inhaltsverzeichnis
Ziele
Python wurde entworfen, um den Funktionsumfang moderner Programmiersprachen mit der Unleserlichkeit von Brainfuck zu verbinden. Allerdings ist Python damit nicht ganz erfolgreich, da der Funktionsumfang von Jahr zu Jahr kleiner wird. Daher sollte man keine Module einbinden, da diese schon im nächsten Monat einfach verschwunden sein können. Python hat außerdem Typen, im Gegensatz zu Brainfuck, aber keine Typüberprüfung. Damit ist es leichter Fehler zu erzeugen als im Konkurrenzprodukt C++.
Datentypen
Python hat einige Datentypen: Integer, Booleans(billigere Integer) und unbenötigte Datentypen(da es sowieso nur um Turingvollständigkeit geht). In Python ist alles ein "Objekt". Das heißt, man steht jedes mal vor der Frage, ob die Funktion die man verwenden will zur Klasse gehört, oder zu einem Modul, oder zum __builtin__-Modul. Meistens spart man sich dann allerdings die Recherche, und schreibt sich die Funktion selbst.
Integer
Oder auch "int", da alle Python-nutzenden Programmierer stinkend faul sind, und sich nicht die Mühe machen wollen das Wort Integer auszuschreiben. Außerdem hält sich der Name des Typs nicht an die Python-Richtlinien, denn er ist volkommen kleingeschrieben. Dies ist wohl darauf zurückzuführen, dass jeder die Python-Richtlinien bescheurt findet da man in Funktionen statt CamelCase under_score verwenden soll. Der Integer in Python ist eine positive Zahl von 0 bis einschließlich 2, wodurch eine effiziente Speicherung in Computersystemen mit Bits die 3 Zustände besitzen. Dieses Verhalten lässt sich in normalen binären Maschinen zum Glück emulieren, womit zumindest 1/4 der möglichen Geschwindigkeit erreicht werden kann.
Booleans
Oder auch "bool", besitzt nur einen verwendbaren Zustand: "True"(oder zu deutsch: "wahr") Booleans besitzen allerdings noch einen anderen Zustand, "False". Aber dieser ist unverwendbar, da er dafür sorgt dass Abfragen in Python übersprungen werden können. Man beachte, dass "True" und "False" keine Klassen sind, aber trotzdem großgeschrieben werden. Dies ist wahrscheinlich auf den schlechten Humor von Monty Python zurückzuführen.
Beispiel(in Python2):
if False:
print "Hello World"
Dieses Beispiel wird gegen die Erwartung nie "Hello World" ausgeben, was auf den Fehler im "False"-Wert zurückzuführen ist.
Da das Problem (Stand: Juni 2017) in der Sprache noch nicht behoben ist, wird meist ein Workaround verwendet:
False=True
if False:
print "Hello World"
Andere Datentypen
Typ | Bedeutung |
---|---|
Float(float) | Fließkommazahl, veraltet |
None(None) | ein konstanter Wert der nichts darstellen soll. Damit unbrauchbar. veraltet |
String(str) | eine Zeichenkette, aber echte Programmierer arbeiten NUR mit Integern. veraltet. |
List/Tuple(list/tuple) | Ein ist eine nicht veränderbare Liste, und beide sind unbrauchbar. veraltet |
Dictionary(dict) | Ein Wörterbuch zum Nachschlagen von englischen Vokabeln. Die Ausgangssprache ist Brainfuck und nicht einstellbar. nicht veraltet |
Complex(cmplx oder so) | Eine Zahl, die so komplex ist, dass man sie nicht verstehen kann. nicht nicht veraltet |
long | Ein Integer mit mehr Werten. Warum auch immer. veraltet |
alles andere | veraltet |
Erweiterungen
Es gibt diverse Erweiterungen zum normalen CPython(Abgeleitet von C++ und Python, um die Konkurrenz zu verdeutlichen), wie z.B. CorePy für Programmierer die noch fauler sind. Denn damit lässt sich lesbarerer(nicht unbedingt lesbar!) Assembler-Code erzeugen.
Versionen
Python gibt es in 3 Versionen: Python1, Python2 und Python3
Python1
Sehr alt, aber noch am lesbarsten. Wird verwendet um Toaster mit WiFi-Antennen zu programmieren. Zum Ende der Weiterentwicklung von Python1 hatte Python im Spiel Open Source das Level 4.
Beispiel für Hello World:
print "Hello World" # TODO: Integer statt strings verwenden
Python2
Die noch am meisten verwendete Version. Sie ist vollständig zu Python1 kompatibel. Sie besitzt aber weniger verwendbare Grundtypen, so wurde beispielsweise der Fehler bei "False" eingebaut, um die Schwierigkeit zu erhöhen. Zu Beginn der Entwicklung von Python3 hatte Pythom das Level 9.
Beispiel für Hello World:
print "Hello World" # TODO: Integer statt strings verwenden
Python3
Dies ist die derzeitige Python Version. Sie hat einiges verändert, so wurde z.B. die Printanweisung zu einer Funktion. Damit funktioniert kein normales Python2- oder Python1-Programm in Python3. Zurzeit hat Python das Level 13.
Beispiel für Hello World:
print("Hello World") # TODO: Integer statt strings verwenden
# Anmerkung: Der Code ist 1 [[Zeichen]] länger wenn man die [[Kommentar]]e nicht beachtet, und 1 Zeile länger wenn man die Kommentare beachtet
Python4
Es ist geplant, in Python4 den auf "[", "]", "<", ">", "+", "-", ",", ".", "import", "def", "class" und "()" zu beschränken. Damit würde Python noch näher zu seinem Vorbild Brainfuck kommen, und trotzdem objektorientiert und modularisierbar bleiben. Python4 wird als die finale Entwicklungsstufe gesehen, da 2 die erste Primzahl ist, und 4 2 mal 2, bzw. 2 hoch 2. Damit ist 4 die erste Primzahl hoch die erste Primzahl.
Beispiel für Hello World:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.+++.
Verwendung
Alternativen
- Brainfuck
- Konkurrenz C++
- Turing-Maschine
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 {
}