Deshalb steht das `nur` auch in `"`.sma hat geschrieben:Mir fällt spontan Occam ein, eine Sprache aus den 80ern (noch vor Python), die Einrückung für Blöcke nutzte. Und ohne das jetzt nachzugucken, Haskell kann das doch alternativ zu Klammern ebenfalls.jbs hat geschrieben:Ich fang mal an: 9 Sachen, die es "nur" in Python gibt:
1. Einrückung durch Whitespace
Also nur noch 8 Sachen...
Stefan
Problem mit globalen und lokalen Werten
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Außerdem Haml und Jade.BlackJack hat geschrieben:Nemerle und CoffeScript würden mir da noch zusätzlich einfallen.
Und explizit ist besser als implizit gibts auch in Java, einer der bekanntesten Programmiersprachen überhaupt. Also nur noch 7 Sachen, bin gespannt auf den Rest der Liste.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Für HAML, Jade und CoffeeScript gilt aber, dass die allesamt nach Python erfunden wurden, zum Teil sogar Python als Inspirationsquelle nennen. Daher nannte ich extra Occam. Zu "explizit vs. implizit" wollte ich nichts sagen, denn das ist weniger ein Feature als eine Philosophie. Und hier gibt es wohl eher den Streit zwischen "es gibt einen Weg" und "es gibt mehrere Wege" (MTOWTDI oder so) Denkschulen, den man besser eindeutig auf Sprachen und ihr Erscheinungsdatum abbilden kann. Scheme war z.B. auch Reaktion auf die Vielfalt von Lösungswegen in CommonLisp. Dennoch ist Perl das poster child für MTOWTDI.
Aber wo bleiben Sie denn nun, die besonderen Eigenschaften von Python? List comprehensions sind es schon mal nicht. Objektorientierung auch nicht. Lambda jedenfalls nicht, das gab es auch schon in den frühsten Lisp-Dialekten. Möglicherweise der "if/else"-Operator, den hatte ich vor Python so noch in keiner anderen Sprache gesehen. Alle anderen stellen immer die Bedingung nach vorne.
Stefan
Aber wo bleiben Sie denn nun, die besonderen Eigenschaften von Python? List comprehensions sind es schon mal nicht. Objektorientierung auch nicht. Lambda jedenfalls nicht, das gab es auch schon in den frühsten Lisp-Dialekten. Möglicherweise der "if/else"-Operator, den hatte ich vor Python so noch in keiner anderen Sprache gesehen. Alle anderen stellen immer die Bedingung nach vorne.
Stefan
In der Regel (u. a. Java, C, C++, C#) werden Blöcke mit { } markiert. Einrückung ist völlig egal..bords0 hat geschrieben:Äh, mit was rücken denn die anderen Sprachen ein? Blackspace?jbs hat geschrieben:Ich fang mal an: 9 Sachen, die es "nur" in Python gibt:
1. Einrückung durch Whitespace
2. Explizit ist besser als Implizit
...
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
@ms4py: Du hast den Witz und die Ironie der Behauptung, Einrückung mit Whitespace wäre eine Besonderheit von Python ganz offensichtlich ebenso wenig verstanden wie jeder andere hier (mich eingeschlossen) mit Ausnahme von bords0.
Tatsache ist nämlich, dass man in jeder Sprache (von Whitespace mal abgesehen), ja auch in Java, C, C++ und C# mit Leerzeichen einrückt, auch wenn die Einrückung natürlich ohne syntaktische oder semantische Bedeutung ist. Oder hast Du schon jemals mit etwas anderem als Leerzeichen eingerückt?
Tatsache ist nämlich, dass man in jeder Sprache (von Whitespace mal abgesehen), ja auch in Java, C, C++ und C# mit Leerzeichen einrückt, auch wenn die Einrückung natürlich ohne syntaktische oder semantische Bedeutung ist. Oder hast Du schon jemals mit etwas anderem als Leerzeichen eingerückt?
Ja, Tablunar hat geschrieben:@ms4py: Du hast den Witz und die Ironie der Behauptung, Einrückung mit Whitespace wäre eine Besonderheit von Python ganz offensichtlich ebenso wenig verstanden wie jeder andere hier (mich eingeschlossen) mit Ausnahme von bords0.
Tatsache ist nämlich, dass man in jeder Sprache (von Whitespace mal abgesehen), ja auch in Java, C, C++ und C# mit Leerzeichen einrückt, auch wenn die Einrückung natürlich ohne syntaktische oder semantische Bedeutung ist. Oder hast Du schon jemals mit etwas anderem als Leerzeichen eingerückt?
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
Doppelpunkte! Führende Leerzeichen (also nach der Zeilennummer) werden vom Commodore BASIC V2 bei der Übernahme einer eingegebenen Zeile ignoriert.
Oder man denke an GFA-Basic, da konnte man gar nicht selbst einrücken, der Editor hat das für einen selbst anhand der Programmstruktur übernommen. War total praktisch (im Vergleich zu z.B. Commodore Basic), man musste nur tippen und das Programm sah immer nett und aufgeräumt aus. Ergo: In dieser Sprache konnte man gar nicht mit Whitespaces (selbst) einrücken.BlackJack hat geschrieben:Doppelpunkte! Führende Leerzeichen (also nach der Zeilennummer) werden vom Commodore BASIC V2 bei der Übernahme einer eingegebenen Zeile ignoriert.
Stefan
Vergleiche evtl.sma hat geschrieben:Aber wo bleiben Sie denn nun, die besonderen Eigenschaften von Python?
Code: Alles auswählen
assert -3 <= -2 <= -1