Hallo an Alle,
Bin neu hier und habe noch nicht alles durchgesucht. So vieleicht gabs das thema ofter.
Ich brauche aber dringend Hilfe!
Es steht gerade bei mir vor der Tur ein großes Software Projekt. Ausgewahlte Programmiersprachen sind: php (web), perl (serverseitige Vorberechungen). Mit php furs Web Interface konnte ich Leben. Mit perl aber nicht!
Einziges offiziele Grund heiss bei denen: "bei uns konnen die meinstens Perl und die Tools mussen wartbar bleiben"
Ich bräuchte unschlagware Argumenten und Ideen, wie ich mein Cheff von Python überzeugen kann.
Danke in voraus.
Muss mein Cheff überzeugen.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Bisschen wenige Informationen. Was genau sollen die Scripte denn tun?
Ein paar allgemeine Argumente gibt es allerdings: http://www.python.org/about/
Ein paar allgemeine Argumente gibt es allerdings: http://www.python.org/about/
Bottle: Micro Web Framework + Development Blog
Für mich am wichtigsten: Mit Python geht vom Shell Script über Web bis komplexe Client/Server ERP Anwendungen alles, die Syntax ist einfach und die Sprache hat mächtige Features und säckeweise Libraries.
PHP ist für mich immer noch eine HTML Erweiterung und Perl... naja, ist halt Perl
PHP ist für mich immer noch eine HTML Erweiterung und Perl... naja, ist halt Perl
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Moin,
ich habe es so verstanden, dass er Argumente im konkreten Vergleich Perl <--> Python sucht. Für mich ist das zuförderst die gute Übersichtlichkeit und klare Struktur, die nicht - wie bei Perl - durch absolut unnötige Klammern und Begrenzungen log. Zeilen zerstört wird.
Und wenn schon Python, dann sollten auch serverseitig pythongestützte Lösungen, wie mod_python, angesprochen werden. Denn PHP ist jetzt auch nicht gerade die Vorzeigesprache, wenn es um lesbaren Quellcode geht.
Aber wie schon angesprochen, das hängt stark vom Entwicklungsziel ab. Bestimmt hat auch Perl irgendwo seine Vorzüge, außer dass es alt und daher einigen Programmierern vertraut ist. Ich habe sie bloß noch nicht gefunden.
ich habe es so verstanden, dass er Argumente im konkreten Vergleich Perl <--> Python sucht. Für mich ist das zuförderst die gute Übersichtlichkeit und klare Struktur, die nicht - wie bei Perl - durch absolut unnötige Klammern und Begrenzungen log. Zeilen zerstört wird.
Und wenn schon Python, dann sollten auch serverseitig pythongestützte Lösungen, wie mod_python, angesprochen werden. Denn PHP ist jetzt auch nicht gerade die Vorzeigesprache, wenn es um lesbaren Quellcode geht.
Aber wie schon angesprochen, das hängt stark vom Entwicklungsziel ab. Bestimmt hat auch Perl irgendwo seine Vorzüge, außer dass es alt und daher einigen Programmierern vertraut ist. Ich habe sie bloß noch nicht gefunden.

Diese Nachricht zersört sich in 5 Sekunden selbst ...
Ja. Am besten wenn jemand erfahrung mit beiden Programimiersprachen hat, perl und python und es darum ginge die vorteile von python gegenüber Perl aufzulisten. Die scripten werden benutzt um eine DB übernacht mit bestimmten berechnetenn Daten zu befüllen.
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Ich frage mich was schlimmer ist:
Mit Anfängern in Python zu entwickeln (welche dann einfach Perl mit Python Syntax schreiben) oder mit erfahrenen Perl Entwicklern mit Perl zu arbeiten.
Ich würde vermutlich letzteres bevorzugen.
Zu den Argumenten für Python:
Wenn es um Datenbanken geht: SQLAlchemy!
Wenn es ums Web geht Django, oder auch SQLAlchemy mit Werkzeug.
Wenn richtig Angewendet (was jedoch Einarbeitung und Anpassungswilligkeit der Mitarbeiter erfordert) ist es mMn wartbarer als Perl. Auf jeden Fall aber lesbarer.
Es gibt viele Libraries würde ich nicht als Argument bringen, denn da ist Perl mit dem CPAN imo stärker.
Gruss,
Jonas
Mit Anfängern in Python zu entwickeln (welche dann einfach Perl mit Python Syntax schreiben) oder mit erfahrenen Perl Entwicklern mit Perl zu arbeiten.
Ich würde vermutlich letzteres bevorzugen.

Zu den Argumenten für Python:
Wenn es um Datenbanken geht: SQLAlchemy!
Wenn es ums Web geht Django, oder auch SQLAlchemy mit Werkzeug.
Wenn richtig Angewendet (was jedoch Einarbeitung und Anpassungswilligkeit der Mitarbeiter erfordert) ist es mMn wartbarer als Perl. Auf jeden Fall aber lesbarer.

Es gibt viele Libraries würde ich nicht als Argument bringen, denn da ist Perl mit dem CPAN imo stärker.
Gruss,
Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
@burli: Also für Gtk gibt's auf jeden Fall eine Anbindung, die ich auch schon in Programmen verwendet gesehen habe.
Ich glaube, die meisten Perlianer bevorzugen Tk. Ist wohl auch konsequent, solange man keine sehr großen Anwendungen schreibt. LX-Office z.B., in Perl, nutzt den Browser als GUI-Ersatz.burli hat geschrieben:Gibt es für Perl überhaupt vergleichbare Bindings zu GTK, Qt oder wx?
Einen sehr guten Überblick über die Vorteile von Python gegenüber Perl im Detail findet man hier.pgarcia hat geschrieben:Ich bräuchte unschlagware Argumenten und Ideen, wie ich mein Cheff von Python überzeugen kann.
Gerade bei großen Anwendungen zahlt sich saubere OOP, bessere Code-Lesbarkeit und problemlose Verwendung von verschachtelten Datentypen (z.B. Liste von Liste von Liste) aus. Python ist auch deutlich leichter zu lernen als Perl. Leute, die Perl schon können, können sehr leicht Python lernen und freuen sich dann in der Regel, daß alles so viel leichter geht und mehr "aus einem Guß" ist.
Man muß in Python bei viel Code auch einige tausend ";", "{" und "}" weniger schreiben. Das spart jede Menge aus Python-Sicht überflüssige Tipparbeit und vereinfacht gerade die spätere Wartung deutlich.
Woran man auch denken sollte, ist, daß Perl6 bald fertig ist und nicht abwärtskompatibel ist, so daß man sich heute schon fragen sollte, ob man gerade jetzt noch große Mengen Perl5-Code schreiben will.
Viele Grüße
@problembär: Ob Python "leichter" zu lernen ist, sei mal dahingestellt, es ist vor allem ziemlich irrelevant, wenn die betroffenen Programmierer bereits Perl können. Eine neue Sprache so weit zu erlernen, dass man darin idiomatischen Code schreiben kann, dauert immer lang, auch bei Python.
Viele der Argumente in dem verlinkten Artikel sind auch ziemlich subjektiv, und kaum geeignet, einen langjährigen Perl-Programmierer zu überzeugen. Die sehen syntaktischen Zucker für reguläre Ausdrücke nicht als Nachteil, sondern als inhärenten Vorteil von Perl. Manche Argumente sind auch recht einseitig, schließlich wird auf die Inkonsistenzen von Perl ausführlich verwiesen, während die Inkonsistenzen von Python und dessen Standardbibliothek unter den Tisch fallen.
Um zum Thema zurückzukommen: Zwar halte ich persönlich Python für die bessere Sprache, aber ich halte es auch für wenig sinnvoll, eine Sprache in ein Projekt zu drücken, dessen Programmierer mit dieser Sprache nie zuvor Kontakt hatten und eine andere Sprache dafür gut beherrschen. Python führt nicht automatisch zu besserem Code. Guter Perl-Code ist schlechtem Python-Code in jedem Fall zu bevorzugen, schließlich kann man als guter Perl-Programmierer auch guten, wartbaren Perl-Code schreiben. Bis Perl-Programmierer aber so weit sind, dass sie idiomatischen, guten Python-Code schreiben, vergeht geraume Zeit. Meines Erachtens muss ein Projekt schon sehr groß sein, dass sich diese Zeit durch handfeste Vorteile hinsichtlich Les- und Wartbarkeit auszahlt.
Viele der Argumente in dem verlinkten Artikel sind auch ziemlich subjektiv, und kaum geeignet, einen langjährigen Perl-Programmierer zu überzeugen. Die sehen syntaktischen Zucker für reguläre Ausdrücke nicht als Nachteil, sondern als inhärenten Vorteil von Perl. Manche Argumente sind auch recht einseitig, schließlich wird auf die Inkonsistenzen von Perl ausführlich verwiesen, während die Inkonsistenzen von Python und dessen Standardbibliothek unter den Tisch fallen.
Um zum Thema zurückzukommen: Zwar halte ich persönlich Python für die bessere Sprache, aber ich halte es auch für wenig sinnvoll, eine Sprache in ein Projekt zu drücken, dessen Programmierer mit dieser Sprache nie zuvor Kontakt hatten und eine andere Sprache dafür gut beherrschen. Python führt nicht automatisch zu besserem Code. Guter Perl-Code ist schlechtem Python-Code in jedem Fall zu bevorzugen, schließlich kann man als guter Perl-Programmierer auch guten, wartbaren Perl-Code schreiben. Bis Perl-Programmierer aber so weit sind, dass sie idiomatischen, guten Python-Code schreiben, vergeht geraume Zeit. Meines Erachtens muss ein Projekt schon sehr groß sein, dass sich diese Zeit durch handfeste Vorteile hinsichtlich Les- und Wartbarkeit auszahlt.
Ich meine damit den Funktionsumfang und ob die stabil laufen usw. Ob die Bindungs zuverlässig sind oder einfach nur Quick & Dirty dahingeklatscht wurden. Ob die Bindings noch mit aktuellen Versionen von GTK/Qt/wx funktionieren oder ob die vor Jahren eingeschlafen sind. wxperl scheint zumindest aktiv zu sein. Letzte Aktivität vor 36 Minutensnafu hat geschrieben:Ich glaube, burli wollte vor allem das "Vergleichbare" betonen. Wobei ich nicht verstehe, was damit genau gemeint ist.

Das meine ich mit vergleichbar
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Vor Allem ist der Hauptgrund des OP ja nicht: "Ich beherrsche Python und weis, das es besser geeignet ist als Perl" sondern "Ich finde Perl doof, weil alle meine Kollegen das besser können als ich"
Zumindest hört sich das inzwischen so an
Zumindest hört sich das inzwischen so an

Bottle: Micro Web Framework + Development Blog
Erstmal Danke für die Antworten,
Ich verstehe die Argumenten die besagen, dass es besser sei gute Perl programmierer einzusetzen als neue python Programmierer. Nun es ist noch zu klären, wie es in der wirklichkeit aussieht. Tatsache ist, dass es ein änlichen Project gab, die in Perl geschrieben ist. Es ist aber sehr "quick und dirty" über die Jahren gewachsen und Ziel war es komplett neu zu designen und "from the scratch" zu schreiben. Also wiederverwendung von alten Code ist nich erwuenscht!. Dadurch stellt sich die Frage, ob es nicht sinvoll wäre python zu benutzen. Da ist ein neues redesign aufjeden Fall nötig. Es gibt jetzt drei hauptentwickler: 2 Perliener, 1 Pythoniener (ich). Und der Chef ist auch perliener (nur er wird nicht entwicklen).
Für mich stellt sich die Frage ob ich überhaupt Lust habe mit Perl zu beschäftigen., wenn ich eher weiss das ist eher ein Sprache ist, der zwar noch gut lebt, aber langsam ausstierbt.
Oder?
Ich verstehe die Argumenten die besagen, dass es besser sei gute Perl programmierer einzusetzen als neue python Programmierer. Nun es ist noch zu klären, wie es in der wirklichkeit aussieht. Tatsache ist, dass es ein änlichen Project gab, die in Perl geschrieben ist. Es ist aber sehr "quick und dirty" über die Jahren gewachsen und Ziel war es komplett neu zu designen und "from the scratch" zu schreiben. Also wiederverwendung von alten Code ist nich erwuenscht!. Dadurch stellt sich die Frage, ob es nicht sinvoll wäre python zu benutzen. Da ist ein neues redesign aufjeden Fall nötig. Es gibt jetzt drei hauptentwickler: 2 Perliener, 1 Pythoniener (ich). Und der Chef ist auch perliener (nur er wird nicht entwicklen).
Für mich stellt sich die Frage ob ich überhaupt Lust habe mit Perl zu beschäftigen., wenn ich eher weiss das ist eher ein Sprache ist, der zwar noch gut lebt, aber langsam ausstierbt.
Oder?
Lern einfach ordentlich Perl.
http://www.oreilly.de/catalog/perlbpger/
Und auch sonst die ganzen O'Reilly Bücher zu Perl. Learning Perl, Intermediate Perl und Mastering Perl fand ich sehr gut.
Perl ist nicht annähernd so "schlimm" wie du meinst
http://www.oreilly.de/catalog/perlbpger/
Und auch sonst die ganzen O'Reilly Bücher zu Perl. Learning Perl, Intermediate Perl und Mastering Perl fand ich sehr gut.
Perl ist nicht annähernd so "schlimm" wie du meinst

Wenn zwei Drittel des Teams Python nicht können, ist es auch nicht sinnvoll, Python zu nutzen.