Frage

Das Unternehmen, mit dem ich früher zusammengearbeitet habe, hat zwei Entwickler, die Vollzeit arbeiten, und eine Handvoll Freiberufler.Sie sind gerade dabei, einen neuen Hauptentwickler einzustellen, der versuchen soll, Ordnung und Management in die Entwicklung zu bringen.

Aber derzeit hat einer der Entwickler das Licht von Django erblickt (das Unternehmen hat bisher nur in PHP entwickelt), während der andere Entwickler befürchtet, dass die Einführung einer neuen Sprache (Python) derzeit eine schlechte Idee ist.

Wie sollten sie bei der Einführung dieser neuen Technologie vorgehen?Da nur einer der Entwickler tatsächlich Python kennt, gibt es natürlich keine Redundanz, wenn dieser Entwickler 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 tatsächlich mehr als ein Pythonion hat?Ohne einen Teamleiter müssen die Entscheidungen ihnen überlassen bleiben.

War es hilfreich?

Lösung

Ich habe Python kürzlich in meinem Unternehmen eingeführt, das Beratungstätigkeiten für die Post durchführt.Dazu habe ich gewartet, bis es ein Projekt gab, für das ich der einzige Programmierer sein würde, und dann die Erlaubnis eingeholt, dieses neue Projekt in Python zu erstellen.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 verwendet („Können Sie die Statistiken in diesen Dateien in eine nach Datum und Standort geordnete CSV-Datei analysieren?“ usw.) und hatte bei allen eine schnelle Bearbeitungszeit.

Ich habe Python auch ein wenig evangelisiert;Ich habe mein Bestes gegeben, um NICHT aufdringlich zu sein, aber ich habe gelegentlich beschrieben, warum es mir so gut gefallen hat, über die persönlichen Projekte gesprochen, für die ich es in meiner Freizeit verwende, und warum es für mich großartig ist usw.

Schließlich starteten wir ein weiteres Projekt und ich überzeugte alle, dafür Python zu verwenden.Ich habe darauf geachtet, alle auf eine Menge Dokumentation hinzuweisen, einschließlich der spezifischen Webseiten, die sich auf das beziehen, woran sie gerade arbeiten, und jedes Mal, wenn sie eine Frage hatten, habe ich ihnen erklärt, wie man Dinge richtig macht, indem ich die pythonische Herangehensweise an Dinge usw. erklärt habe .

Das hat wirklich gut funktioniert.Dies könnte jedoch etwas anders sein als das, was Sie beschreiben.In meinem Fall habe ich mit mäßig kleinen Projekten begonnen und Python wird nur für neue Projekte verwendet.Außerdem war keiner meiner Kollegen wirklich Perl- oder PHP-Gurus;Sie alle kannten diese Sprachen und nutzten sie schon seit einiger Zeit, aber es bedurfte nicht großer Anstrengungen, um in Python produktiver zu werden als zuvor.

Wenn Sie also über neue Projekte mit Leuten sprechen, die derzeit PHP verwenden, aber keine Superexperten sind und diese Sprache nicht lieben, dann ist der Wechsel zu Python meiner Meinung nach ein Kinderspiel.Wenn Sie jedoch davon sprechen, mit einer großen vorhandenen PHP-Codebasis mit vielen sehr erfahrenen PHP-Programmierern zu arbeiten, die mit ihrem aktuellen Setup zufrieden sind, ist ein Sprachwechsel wahrscheinlich keine gute Idee.Sie liegen wahrscheinlich irgendwo dazwischen, also müssen Sie die Kompromisse abwägen;Ich hoffe, meine Antwort hilft Ihnen dabei.

Andere Tipps

Wenn der Auftrag des neuen Leiters darin besteht, für Ordnung zu sorgen, sollte die aktuelle Situation wahrscheinlich vorher so weit wie möglich vereinfacht werden.Wenn ich die Dinge in Ordnung bringen müsste, würde ich nicht zusätzlich zu allem anderen ein laufendes Sprachkonvertierungsprojekt verwalten müssen, oder ich hätte zumindest gerne eine gewisse Auswahl, wenn ich das Projekt initiiere.Haben Sie bei Ihrer Empfehlung an die zusätzliche Komplexität des Managements gedacht, die mit sich bringen würde, wenn Sie sich mitten in einer Konvertierung befinden?

@dunkler Hund:

Bei der Verwendung einer neuen Sprache im Produktionscode geht es um mehr als nur einfache Syntax und umfassende Funktionalität.Sie möchten mit den Kern-APIs vertraut sein und das Gefühl haben, dass Sie etwas mithilfe der Logik beheben können, anstatt die Dokumentation durchforsten zu müssen.

Ich sage nicht, dass der Übergang zu Python eine schlechte Idee für dieses Unternehmen wäre, aber ich stimme John zu: Halten Sie die Dinge während des Übergangs einfach.Der neue Leiter wird es zu schätzen wissen, bei solchen Entscheidungen mitreden zu können.

Wenn Sie Python wirklich, wirklich, wirklich einführen möchten, sollten Sie darüber nachdenken, einige Erweiterungen oder Dienstprogramme direkt in Python oder im Framework zu schreiben.Sie werden Ihre Kerninitiativen nicht durcheinanderbringen, es wird also eine risikoarme/risikofreie Gelegenheit sein, die Vorzüge eines Wechsels unter Beweis zu stellen.

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

Soweit ich gesehen habe, eignet sich das Django-Framework auch hervorragend für die Webentwicklung, da es den Entwicklern in etwa denselben Leistungsschub bietet, den Rails angeblich bewirken soll.

Das eigentliche Problem liegt auf der Wartungs- und Managementebene.

Wie wird dieser Schritt die Wartung zwischen PHP- und Python-Code fragmentieren?Besteht die Notwendigkeit, vorhandenen Code von einer Plattform auf eine andere zu migrieren?Welche Probleme werden durch die Einführung von Python und Django gelöst, die Sie in Ihrem aktuellen Entwicklungsworkflow und Ihren Frameworks usw. haben?

Es geht wirklich nur um Zeitpläne.Für mich sollte die Pause bei einem bestimmten Projekt liegen.Wenn Sie sich für Django entscheiden, starten Sie damit neue Projekte.Bevor Sie ein neues Projekt mit einer neuen Sprache/einem neuen Framework starten, stellen Sie entweder sicher, dass Sie Zeit eingeplant haben, um sich in diese neue Richtung einzuarbeiten, oder machen Sie sich mit der neuen Sprache vertraut, bevor Sie sie in neuen Projekten verwenden.

Ich würde es vermeiden, sich für das Tool des Monats zu entscheiden.Stellen Sie sicher, dass es Ihre Richtung sein soll, und investieren Sie etwas Zeit/Ressourcen, um genug zu lernen, um eine gute Entscheidung zu treffen.

Nun, Python ist eine Hochsprache.Es ist nicht schwer zu lernen und wenn die Jungs bereits Programmierkenntnisse haben, sollte es viel einfacher zu lernen sein.Ich mag Django..Ich denke, es sollte ein schöner Versuch sein, Django zu verwenden.

Ich glaube nicht, dass es sich um eine Programmiersprache als solche handelt.

Wie gut beherrscht das Team, von dem Sie sprechen, PHP?Machen sie Spaghetti-Code oder verwenden sie ein strukturiertes Framework wie Zend?Wenn dies der erste Fall ist, dann verstehe ich das Interesse des Mannes an Python und Django absolut.Wenn es sich um Letzteres handelt, ist es nur ein Hype.

Ich liebe Python und Django und verwende beide, um unsere Kern-Webanwendungen zu entwickeln.

Allerdings ist es zum jetzigen Zeitpunkt schwierig, geschäftliche Argumente für einen Wechsel zu liefern.Speziell:

  • Jede neue Plattform ist riskant im Vergleich zum Festhalten am Bewährten
  • Sie werden die von Ihnen erwähnte Entwicklerfragmentierung haben
  • Es ist viel einfacher, PHP-Programmierer zu finden als Python-Programmierer

Darüber hinaus gibt es, wie andere Poster bereits erwähnt haben, viele nette PHP-Frameworks, die zum Refactoring des Codes verwendet werden könnten, wenn das Problem eher beim Spaghetti-Code als bei PHP selbst liegt.

Wenn dieser Entwickler jedoch von Python begeistert ist, ist es wahrscheinlich demoralisierend, sie komplett zu stoppen.Mein Vorschlag wäre, sie zu ermutigen, in Python zu entwickeln, nicht jedoch die geschäftskritischen Teile der App.Stattdessen könnten sie einige Hilfsskripte, eine kleine interne Anwendung, die ausgeführt werden muss, usw. schreiben.

Abschließend:Ich empfehle nicht, von PHP zu wechseln, aber ich empfehle, den Interessen des Entwicklers bei der Arbeit irgendwie Rechnung zu tragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top