Seite 1 von 2
Muss mein Cheff überzeugen.
Verfasst: Montag 17. August 2009, 10:40
von pgarcia
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.
Verfasst: Montag 17. August 2009, 10:58
von Defnull
Bisschen wenige Informationen. Was genau sollen die Scripte denn tun?
Ein paar allgemeine Argumente gibt es allerdings:
http://www.python.org/about/
Verfasst: Montag 17. August 2009, 11:01
von burli
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
Verfasst: Montag 17. August 2009, 11:30
von Michael Schneider
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.

mit Erfahrung
Verfasst: Montag 17. August 2009, 12:04
von pgarcia
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.
Verfasst: Montag 17. August 2009, 12:48
von snafu
Ich kann aber auch verstehen, dass dein Chef es wohl produktiver findet, auf die Sprache zu setzen, die die meisten Mitarbeiter schon können.
Verfasst: Montag 17. August 2009, 15:33
von veers
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
Verfasst: Montag 17. August 2009, 16:47
von burli
Nur mal ne Frage halb OT: Gibt es für Perl überhaupt vergleichbare Bindings zu GTK, Qt oder wx?
Verfasst: Montag 17. August 2009, 16:56
von BlackJack
@burli: Also für Gtk gibt's auf jeden Fall eine Anbindung, die ich auch schon in Programmen verwendet gesehen habe.
Verfasst: Montag 17. August 2009, 16:59
von snafu
Für Gtk gibts ne Anbindung (->Google). Ich glaube, burli wollte vor allem das "Vergleichbare" betonen. Wobei ich nicht verstehe, was damit genau gemeint ist.
Verfasst: Montag 17. August 2009, 17:32
von hendrikS
Verfasst: Montag 17. August 2009, 18:02
von problembär
burli hat geschrieben:Gibt es für Perl überhaupt vergleichbare Bindings zu GTK, Qt oder wx?
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.
pgarcia hat geschrieben:Ich bräuchte unschlagware Argumenten und Ideen, wie ich mein Cheff von Python überzeugen kann.
Einen sehr guten Überblick über die Vorteile von Python gegenüber Perl im Detail findet man
hier.
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
Verfasst: Montag 17. August 2009, 21:05
von lunar
@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.
Verfasst: Montag 17. August 2009, 22:43
von burli
snafu hat geschrieben:Ich glaube, burli wollte vor allem das "Vergleichbare" betonen. Wobei ich nicht verstehe, was damit genau gemeint ist.
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 Minuten
Das meine ich mit vergleichbar
Verfasst: Montag 17. August 2009, 23:11
von Kamaze
Kurz vor einem großen Projekt mal eben zu einer Programmiersprache wechseln die bei euch kaum jemand beherrscht und womit keine Erfahrungen vorliegen?

Ich glaub die chancen stehen schlecht

Verfasst: Dienstag 18. August 2009, 08:24
von Defnull
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

Verstehe
Verfasst: Dienstag 18. August 2009, 08:40
von pgarcia
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?
Verfasst: Dienstag 18. August 2009, 09:44
von audax
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

Verfasst: Dienstag 18. August 2009, 11:37
von lunar
Wenn zwei Drittel des Teams Python nicht können, ist es auch nicht sinnvoll, Python zu nutzen.
Re: Verstehe
Verfasst: Dienstag 18. August 2009, 11:58
von snafu
@pgarcia: Wie kommst du darauf, dass Perl langsam ausstirbt?