Argumente für Python?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

... ich find Python-Code einfach unheimlich schön ... vielleicht nicht immer meinen eigenen... aber ....

v.a. BlackJack, was der so ab und an zusammenzaubert.... :)

(Also da ist er nicht der einzige, aber bei ihm fällt es mir gehäuft auf..... :) da ist ab und an so der sprachlos effekt da ....)
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Lichtgestalt? Zu viel der Ehre ;) Mir gefällt an Python die einfache, einheitliche und lesbare Syntax. Dadurch ist Python leicht erlernbar. Dennoch hat die Sprache eine große Tiefe, was verschiedene Konzepte angeht. Python ist somit für Anfänger und Fortgeschrittene geeignet. Python versucht nicht, den Anwender dumm zu halten oder vor sich selbst zu schützen. Mir gefällt, dass man funktional und/oder objektorientiert programmieren kann. Mir gefällt, dass die Sprache (im Gegenzug zu Ruby etwa) vollständig spezifiziert ist. Weniger gefällt mir die die Funktions- und Klassenbibliothek, die historienbedingt ziemlich zusammengewürfelt und zum Teil veraltet ist. Die Möglichkeit zur Metaprogrammierung ist nett, auch wenn dabei zu viele "_" für meinen Geschmack im Spiel sind. Mir gefällt zudem die Einfachheit der Web-Entwicklung mit Python.

Ich halte Java eigentlich nicht für komplex, nur für kompliziert. Die Konzepte von Java sind (bis auf Generics) deutlich einfacher. C# ist komplex (und kompliziert). Bei OOP a la Smalltalk würde ich eher auf Ruby als auf Python tippen, denn Python kennt keine dualen Exemplar- und Klassenmethoden wir Ruby und Smalltalk.

Statische Typen sind (sagt der langjährige Lisp und Smalltalk-Entwickler) entbehrlich, dennoch können sie Schnittstellen dokumentieren und daher finde ich gut, was mit Python 3 kommt. Dennoch finde ich Scala bemerkenswert, auch wenn es sich in den Jahren zu einer IMHO zu komplexen (kompliziert ist es eh) Sprache entwickelt hat.

Groovy habe ich immer als einen ungeliebten Bastard aus Ruby und Java gesehen, dennoch, die Sprache gewinnt mehr und mehr Anhänger, vielleicht auch, weil sie ein bisschen den Schmerz von Java nimmt, ohne das man radikale Brüche hat.

Leider ist Jython vor einigen Jahren eingeschlafen und vielleicht ist es jetzt zu spät, aufzuwachen. Wie groß ist der Aufmerksamkeitsmarkt für Scriptsprachen auf der Java-Plattform? JRuby und wahrscheinlich Groovy sind gekommen um zu bleiben.

Tinypy finde ich übrigens faszinierend, gerade weil der Quelltext so klein ist. Leider kann es auch recht wenig im Vergleich zu einem "echten" Python. Ich hatte neulich den Gedanken, dass es vielleicht interessant wäre, Tinypy von C auf Java zu portieren. Glücklicherweise der Parser und Compiler ja in Python (Tinypy?) geschrieben, wir reden hier von ca. 25k C-Code. Vielleicht etwas für das kommende lange Wochenende...?

Stefan
BlackJack

Argument für Python: Es hat den ersten Platz bei der Leserwahl des *Linux Journal* in der Kategorie *Scripting Languages* belegt:

http://www.linuxjournal.com/article/10065

Der Artikel geht auch darauf ein, das die Einteilung in *Programmiersprachen* und *Skripting-Sprachen* bei den Lesern eine Menge Reaktionen ausgelöst hat.
You wouldn't believe the number of “WTFs” we got when readers didn't find Python, Ruby or other languages here but rather in the scripting language category. Check out that category's results, as well as Michael Baxter's explanation in the sidebar for how we differentiated between programming and scripting languages. (No doubt we'll see you in the on-line comments section too!)
lunar

Der erinnert mich schon wieder an den **Perl**-Programmierwettbewerb des Linux-Magazins. Gewonnen hatte ein Skript, welches ein **Python**-Skript aufrief, welches dann die Aufgabe löste ;) Wenn das mal kein Argument für Python ist, dann weiß ich nicht weiter ;)


@sma
Komplexe Probleme bzw. Sprache sind doch eigentlich besser als komplizierte, weil hinter komplexen Dingen immer noch ein System steht, während komplizierte Dinge meistens konzeptlos sind. Oder sehe ich da was falsch?

Mir gefällt C# trotzdem besser als Java. Es vereinfacht vieles, weil es syntaktischen Zucker z.B für Eigenschaften und Delegates bietet, den Java nicht hat. Gerade die Art, auf die Java Callbacks definiert (anonyme lokale Klassen) ist doch irgendwie krank ;) Außerdem hat C# besonders seit 3.0 ein paar nette Features zur Metaprogrammierung, was die statische Typisierung etwas erträglicher macht ;)

Letztendlich mag ich statisch typisierte Sprachen nicht (viel zu viel Boilerplate), und bei den dynamischen ist halt Python die, bei der Verbreitung und Lesbarkeit so Hand in Hand gehen, dass man damit wunderbar spielen kann ;)
Antworten