gotoubuntu
Anmeldungsdatum: 20. Dezember 2008
Beiträge: 73
|
Der erste Satz des Artikels: Python 🇬🇧 ist eine Interpretersprache, d.h. der Programmcode muss vor Ausführung nicht kompiliert werden.
ist meiner Meinung nach falsch, natürlich muss auch Python Code vor der Ausführung kompiliert werden, es geschieht halt nur automatisch durch Python selbst, und muss nicht "manuell" erledigt werden. Unter Ein Programm erstellen: imo sollte man das durch
ersetzen damit unabhängig vom direkten Pfad zum Python Interpreter das Skript ausgeführt werden kann.
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
Die Sprachdefinition von Python legt nicht fest, ob Python kompiliert oder durch einen Interpreter ausgeführt wird. Die üblicherweise verwendete Referenzimplementierung CPython kompiliert in einen Bytecode, der dann von einem Bytecode-Interpreter ausgeführt wird - also so ähnlich, wie das auch in z.B. Java oder .Net gemacht wird. Im Gegensatz zu Java passiert das kompilieren und ausführen aber in einem Schritt. Einen reinen Interpreter für Python gibt es meines Wissens nach nicht, es gibt aber Compiler, die zumindest eine Untermenge von python nach Bytecode für Java, .Net oder in nativen Code kompilieren. Der zitierte Satz ist daher tatsächlich falsch.
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, der Satz ist nicht wirklich falsch, ohne Bezug aber in der Tat missverständlich. Das "nicht kompiliert" bezieht sich wohl lauf C & Co, wo man ja in der Tat 2-stufig arbeiten muss. Ich wollte den Artikel in naher Zukunft so wie so überarbeiten, dann passe ich das auch an. Gruß, noisefloor
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
noisefloor schrieb: Hallo, der Satz ist nicht wirklich falsch, ohne Bezug aber in der Tat missverständlich. Das "nicht kompiliert" bezieht sich wohl lauf C & Co, wo man ja in der Tat 2-stufig arbeiten muss.
Das "nicht kompiliert" kann man mit ein bisschen gutem Willen stehen lassen, aber "Interpretersprache" stimmt nicht.
|
gotoubuntu
(Themenstarter)
Anmeldungsdatum: 20. Dezember 2008
Beiträge: 73
|
noisefloor schrieb: Hallo, der Satz ist nicht wirklich falsch, ohne Bezug aber in der Tat missverständlich. Das "nicht kompiliert" bezieht sich wohl lauf C & Co, wo man ja in der Tat 2-stufig arbeiten muss.
So sehe ich das auch, deshalb wäre etwa folgendes gut: Python 🇬🇧 ist eine Interpretersprache, d.h. der Programmcode muss vor Ausführung nicht manuell (oder explizit) kompiliert werden.
noisefloor schrieb: Ich wollte den Artikel in naher Zukunft so wie so überarbeiten, dann passe ich das auch an. Gruß, noisefloor
Darüber hatte ich auch nachgedacht, wobei ich mich frage welches Thema ein Artikel zu Python im UU-Wiki behandeln sollte. Derzeit ist er mehr ein Tutorial zur Python Programmierung als eine Beschreibung von Python. Es gibt im Internet aber gute Python Tutorial und sowohl der deutsche als auch der englische Wikipedia Artikel sind als lesenswert gekennzeichnet und beschreiben die Sprache ausführlich.
Afaik wäre eine Neuausrichtung des Themas hin zu "Python und seine besondere Bedeutung für Ubuntu (bzw. Linux allgemein)" zu begrüßen. Das würde natürlich eine menge Arbeit erfordern und eventuell würden sich alte Autoren des Artikels auf den Schlips gedrehten fühlen, da von dem alten Artikel dann nicht mehr viel übrig bliebe. diesch schrieb: noisefloor schrieb: Hallo, der Satz ist nicht wirklich falsch, ohne Bezug aber in der Tat missverständlich. Das "nicht kompiliert" bezieht sich wohl lauf C & Co, wo man ja in der Tat 2-stufig arbeiten muss.
Das "nicht kompiliert" kann man mit ein bisschen gutem Willen stehen lassen, aber "Interpretersprache" stimmt nicht.
Was ist daran falsch?
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
der Satz ist nicht wirklich falsch, ohne Bezug aber in der Tat missverständlich. Das "nicht kompiliert" bezieht sich wohl lauf C & Co, wo man ja in der Tat 2-stufig arbeiten muss.
Das "nicht kompiliert" kann man mit ein bisschen gutem Willen stehen lassen, aber "Interpretersprache" stimmt nicht.
Was ist daran falsch?
Python-Code wird üblicherweise kompiliert. Ich kenne keinen Python-Interpreter. Ich würde das aber auch im ersten Absatz gar nicht erwähnen, da es meiner Meinung dafür nicht wichtig genug ist. Ich würde das eher unter "Ein Programm erstellen" erwähnen. Mein Vorschlag für den Artikel-Anfang: Python ist eine dynamische, objektoriente Programmiersprache, die Anfang der 1990er-Jahre von Guido van Rossum entwickelt wurde. Heute ist Python auf vielen Plattformen
(z.B. Linux und den meisten Unix-Varianten, OS X, Windows) verfügbar und wird unter Ubuntu für viele zentrale Programme, wie z.B. das Software-Center, benutzt.
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, so, habe mal mit der Überarbeitung begonnen. Bzw. ich bin fast fertig, es fehlt noch der Abschnitt zu 2to3 . "Mein" Anliegen der Überarbeitung war eigentlich, dann Python 3 Teil nach vorne zu holen und etwas zu erweitern. Das ist auch passiert. ☺ Wer noch Ergänzungen machen möchte → nur zu. Gruß, noisefloor EDIT: siehe Baustelle/Python
|
SpaX
Anmeldungsdatum: 21. April 2007
Beiträge: 551
|
Kleinigkeit, aber: Python 3 ist ohne Frage zu Zukunft von Python. Sind alle Zusatzmodule, die man benutzen möchte bzw. muss für Python 3 verfügbar, so sollte man in Python 3 programmieren. Ist das nicht der Fall, so muss man natürlich Python 2 nehmen.
Sollte das nicht eher so aussehen: Python 3 ist ohne Frage zu die Zukunft von Python. Bei dem nächsten Satz bin ich mir nicht ganz sicher, ob ich den Inhalt wirklich verstanden habe, ließt sich ein wenig holprig... ich ziehe da so was raus: Sind alle Zusatzmodule, die man benutzen möchte bzw. muss nur für Python 3 verfügbar, so sollte man in Python 3 programmieren. Ist das nicht der Fall, so muss kann man natürlich Python 2 nehmen.❓
|
UrbanFlash
Anmeldungsdatum: 21. Februar 2006
Beiträge: 5549
Wohnort: Wien
|
Ich würde mal sagen es ist gemeint (paraphrasiert): Nimm Python3 wenn es alles unterstützt was du brauchst, und sonst Python2. Das würde ich dann so formulieren: Sind alle benötigten Zusatzmodule bereits für Python 3 verfügbar, so ist dies die erste Wahl. Fehlen noch notwendige Module, sollte man weiterhin auf Python 2 setzen.
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, genau. Habe den Satz übernommen und den Abschnitt zu 2to3 eingebaut. Gruß, noisefloor
|
gotoubuntu
(Themenstarter)
Anmeldungsdatum: 20. Dezember 2008
Beiträge: 73
|
Habe ebenfalls ein paar Änderungen vorgenommen und will hier kurz ein paar erwähnen und warum ich sie gemacht habe: Einleitung nochmals leicht überarbeitet: Python ist eine interpretierte, objektorientierte höhere Programmiersprache mit dynamischer Typisierung und Bindung.
Quelle: http://www.python.org/doc/essays/blurb/ Finde das man die Interpretierung und dynamische Typisierung in einem Satz mit der Objektorientierung erwähnen sollte, da das Merkmale sind die sie von vielen anderen Sprachen unterscheidet. Unter Python 2 und Python 3 habe ich erwähnt warum auch sich auch einen Anfänger zwischen einer der beiden Versionen entscheiden sollte, da z.B. in vielen anderen Sprachen zwischen zwei Versionssprüngen zwar auch diverse Neuerungen und Veränderungen vorkommen, diese aber eher selten die Sprachkonstrukte betreffen mit denen ein Anfänger in Berührung kommt. Unter "Hallo Welt" in Python habe ich die Ausführung des Programms zu ./helloworld.py umgeschrieben, da im Beispiel ja extra der Shebang Kommentar benutzt wurde und man sonst zusätzlich erwähnen müsste das man den Python 3 Interpreter per python3 Befehl verwendet. Weiterführende Literatur habe ich nach unten Verschoben damit es näher bei den Links steht und um den Beginnersguide erweitert. Das sind alles nur Änderungen die meine persönliche Meinung zu einem guten Artikel wiederspiegeln, ich fühle mich in keinster Weise auf den Schlips gedrehten wenn ihr anderer Meinung seid und Änderungen rückgängig macht. ☺ diesch schrieb: Ich kenne keinen Python-Interpreter.
Und was ist für dich das Programm hinter dem Befehl python bzw. python3 ? ☺ Ich würde das aber auch im ersten Absatz gar nicht erwähnen, da es meiner Meinung dafür nicht wichtig genug ist. Ich würde das eher unter "Ein Programm erstellen" erwähnen.
Meiner Meinung ist es gerade wichtig, da es imo ein großer Unterschied ist ob ein Programm direkt in Assembler und dann Binärcode umgewandelt wird, oder ob es erst in eine Zwischensprache (die nicht ASM ist) umgewandelt wird und dann von einem Interpreter ausgeführt wird.
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, im Wiki sind einfache Zeilenumbrüche ein No-Go - entfernt. Sonst IMHO ok. Gruß, noisefloor
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, ist wieder im normalen Wiki. Danke für die Mitarbeit. ☺ Gruß, noisefloor
|
chaos.dennis
Anmeldungsdatum: 8. November 2011
Beiträge: 42
|
Hallo, der teil funktioniert so nicht...
"Hallo Welt" in Python
Der Standardweg, um Python-Programme zu erstellen, geht über einen Editor. Editoren bieten viele Hilfen wie Syntaxhervorhebung, automatische Einrückung und Funktionen zu verkleinern. Daher gibt es auch eine riesige Zahl von Programmen, es kann also jeder einen Editor seiner Wahl finden. Es wird der Quelltext im bevorzugten Editor [4] erstellt und als *.py abgespeichert.
| #!/usr/bin/env python
#mein Hallo-Welt-Programm für Python 2
print 'Hallo Welt!'
|
Für Python 3 sieht das Programm minimal anders aus: | #!/usr/bin/env python3
#mein Hallo-Welt-Programm für Python 3
print('Hallo Welt!')
|
Als Beispiel sei der Quellcode unter ~/hallowelt.py abgespeichert. Nun öffnet man das Terminal [3] und wechselt in das Verzeichnis der Quelldatei. In diesem Ordner kann man sodann durch eine einzige Befehlszeile den Code ausführen
Das script muss das exceutable bit haben. Im perl Artikel ist es gut beschrieben:
"Der Shebang-Mechanismus" http://wiki.ubuntuusers.de/Perl#Der-Shebang-Mechanismus Eigentlich gehört die Shebang Geschichte auch in den Ruby und andere Skripting Artikel, ist es sinnvoll den auszugliedern und in den 3 Artikeln zu verlinken? Dieser Artikel ist sehr gut: http://de.wikipedia.org/wiki/Shebang Warum also das Rad neu erfinden? Gruß, Dennis
|
noisefloor
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29567
|
Hallo, korrigiert. Gruß, noisefloor
|