6 Stimmen

Introducing Python

Die Firma, für die ich früher gearbeitet habe, hat zwei Vollzeit-Entwickler und einige freiberufliche Mitarbeiter. Sie sind dabei, einen neuen leitenden Entwickler einzustellen, um Ordnung und Management in die Entwicklung zu bringen.

Derzeit hat einer der Entwickler das Licht von Django gesehen (die Firma hat bisher nur in PHP entwickelt), während der andere Entwickler besorgt ist, dass die Einführung einer neuen Sprache (Python) keine gute Idee ist.

Wie sollten sie vorgehen, um diese neue Technologie einzuführen? Offensichtlich wird es keine Redundanz geben, wenn der Entwickler, der Python kennt, abwesend ist oder das Unternehmen verlässt.

Sollten sie sich die Mühe machen, Python einzuführen, oder sollten sie nach reinen PHP-Lösungen suchen, bis das Team mehr als einen Python-Entwickler hat? Ohne einen Teamleiter müssen die Entscheidungen von ihnen getroffen werden.

15voto

Eli Courtwright Punkte 174547

Ich habe vor Kurzem Python in meinem Unternehmen eingeführt, das Beratungsarbeit für die Post erledigt. Dies habe ich getan, indem ich gewartet habe, bis es ein Projekt gab, für das ich der einzige Programmierer sein würde, und dann die Erlaubnis erhalten habe, dieses neue Projekt in Python durchzuführen. Anschließend habe ich ein weiteres kleines Projekt in Python mit ähnlich beeindruckenden Ergebnissen durchgeführt. Darüber hinaus habe ich Python für alle meine kleinen Aufgaben ("Können Sie die Statistiken in diesen Dateien analysieren und in eine nach Datum und Standort organisierte CSV-Datei umwandeln?", usw.) verwendet und hatte eine schnelle Bearbeitungszeit für alle.

Ich habe auch ein wenig für Python geworben; ich habe alles daran gesetzt, nicht aufdringlich zu sein, aber gelegentlich beschrieben, warum ich es so toll finde, über die persönlichen Projekte gesprochen, für die ich es in meiner Freizeit verwende, und warum es für mich fantastisch ist, usw.

Schließlich haben wir ein weiteres Projekt gestartet und ich habe alle überzeugt, Python dafür zu nutzen. Ich habe darauf geachtet, alle auf eine Vielzahl von Dokumentationen hinzuweisen, einschließlich der spezifischen Webseiten, die mit ihrer Arbeit zusammenhängen, und jedes Mal, wenn sie eine Frage hatten, habe ich erklärt, wie man Dinge richtig macht, indem ich den Pythonischen Ansatz erläutere, usw.

Dies hat wirklich gut funktioniert. Allerdings ist dies möglicherweise etwas anders als das, was Sie beschreiben. In meinem Fall begann ich mit moderat kleinen Projekten und Python wird nur für neue Projekte verwendet. Außerdem waren meine Kollegen keine wirklichen Perl- oder PHP-Gurus; sie kannten alle diese Sprachen und verwendeten sie bereits seit einiger Zeit, aber es erforderte nicht viel Aufwand, um mit Python produktiver zu sein als zuvor.

Also, wenn Sie über neue Projekte mit Leuten sprechen, die derzeit PHP verwenden, aber keine Superexperten sind und diese Sprache nicht lieben, dann denke ich, dass der Wechsel zu Python eine klare Sache ist. Wenn es jedoch darum geht, mit einem großen vorhandenen PHP-Codebestand mit vielen sehr erfahrenen PHP-Programmierern zu arbeiten, die mit ihrem aktuellen Setup zufrieden sind, dann ist ein Wechsel der Sprachen wahrscheinlich keine gute Idee. Sie befinden sich wahrscheinlich irgendwo dazwischen, also müssen Sie die Abwägungen vornehmen; hoffentlich wird Ihnen meine Antwort dabei helfen.

4voto

John with waffle Punkte 4083

Wenn das Mandat des neuen Leiters darin besteht, das Haus in Ordnung zu bringen, sollte die aktuelle Situation wahrscheinlich so weit wie möglich vereinfacht werden. Wenn ich Dinge in Ordnung bringen müsste, würde ich nicht wollen, dass ich zusätzlich zu allem anderen auch noch ein laufendes Sprachumwandlungsprojekt verwalten muss, oder zumindest würde ich gerne die Wahl haben, wenn ich das Projekt starte. Bei Ihrer Empfehlung haben Sie auch über die zusätzliche Managementkomplexität nachgedacht, die mit dem Einstieg in die Mitte einer Konvertierung einhergeht?

2voto

Brian Warshaw Punkte 21916

@darkdog:

Die Verwendung einer neuen Sprache im Produktionscode geht über einfache Syntax und hohe Kapazität hinaus. Sie möchten mit den Kern-APIs vertraut sein und das Gefühl haben, dass Sie etwas durch Logik reparieren können, anstatt sich durch die Dokumentation zu kämmen.

Ich sage nicht, dass es für dieses Unternehmen eine schlechte Idee wäre, auf Python umzusteigen, aber ich bin bei John - während des Übergangs sollten die Dinge einfach gehalten werden. Der neue Leiter wird es schätzen, bei solchen Entscheidungen mitreden zu können.

Wenn Sie wirklich, wirklich, wirklich Python einführen möchten, erwägen Sie das Schreiben von Erweiterungen oder Hilfsprogrammen in reinem Python oder im Rahmen. Sie werden Ihre Kerninitiativen nicht stören, sodass es eine niedrige / keine Risiko-Gelegenheit ist, die Vorzüge eines Wechsels zu belegen.

1voto

Roland Tepp Punkte 7953

Ich denke, die Sprache selbst ist hier kein Problem, da Python eine wirklich schöne Hochsprache mit guter und leicht zu findender, gründlicher Dokumentation ist.

Von dem, was ich gesehen habe, ist das Django-Framework auch ein großartiges Werkzeug für die Webentwicklung, das dem Entwickler einen ähnlichen Leistungsschub gibt wie Rails.

Das eigentliche Problem liegt auf der Ebene der Wartung und Verwaltung.

Wie wird dieser Umzug die Wartung zwischen PHP- und Python-Code aufteilen? Gibt es die Notwendigkeit, vorhandenen Code von einer Plattform auf eine andere zu migrieren? Welche Probleme werden durch die Verwendung von Python und Django gelöst, die Sie in Ihrem aktuellen Entwicklungsworkflow und Frameworks haben, etc.

1voto

bruceatk Punkte 5098

Es geht wirklich nur um Zeitpläne. Für mich sollte die Pause mit einem bestimmten Projekt verbunden sein. Wenn Sie sich für Django entscheiden, beginnen Sie neue Projekte damit. Bevor Sie ein neues Projekt mit einer neuen Sprache/Framework starten, stellen Sie entweder sicher, dass Sie Zeit für den Einarbeitung in diese neue Richtung eingeplant haben, oder bilden Sie sich vor der Verwendung in neuen Projekten weiter.

Ich würde davon abraten, dem Werkzeug des Monats zu folgen. Stellen Sie sicher, dass es Ihre Richtung sein soll und widmen Sie etwas Zeit/Ressourcen der Ausbildung, um genug zu lernen, um eine gute Entscheidung zu treffen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X