12 Stimmen

Ich brauche einen wirklich guten Grund, um Python zu verwenden

Ich habe versucht, mich für den Einsatz von Python bei meiner Arbeit zu entscheiden. Wir verwenden C# und ASP.NET für grundsätzlich alle unsere Entwicklung. 80 % oder mehr unserer Projekte sind Webanwendungen. Da liegt es nahe, dass wir uns einige der schönen dynamischen Websprachen (Ruby, Python usw.) ansehen, und mit Dingen wie IronRuby y IronPython begann ich ernsthaft zu recherchieren.

Ich liebe Python. Es ist eine schöne, ausdrucksstarke Sprache. Es macht einfach Spaß, darin zu programmieren, ganz sicher. Die Vielzahl von Python-Modulen und -Frameworks macht sie sehr attraktiv. Das Problem ist, dass mir keine spezifischen Probleme, keine spezifischen Hürden einfallen, die erfordern eine Sprache wie Python. ASP.NET gibt uns RAD, es gibt uns ein vollwertiges Framework und all diese guten Dinge. Außerdem kennen wir alle bereits C# und haben viele Projekte in C#, das Erlernen einer neuen Sprache ist einfach porque funktioniert nicht ganz.

Könnt ihr mir helfen, mir etwas einfallen zu lassen, um meinen Chef endlich davon zu überzeugen, wirklich Python zu lernen und es für Projekte zu verwenden?

Edit: Ich weiß, dass kein Problem nur eine Sprache erfordert, ich meinte nur, ob es irgendwelche spezifischen Probleme gibt, bei denen dynamische Sprachen statischen Sprachen überlegen sind.

Nochmals bearbeiten: Ich möchte auch erwähnen, dass mein Chef MICH dazu veranlasst hat, dies zu untersuchen. Er hat Stunden damit verbracht, diese Sprachen zu recherchieren, eine gute Sprache zu finden, sie zu lernen und dann herauszufinden, wie wir sie verwenden können. Ich bin hier beim letzten Schritt, ich brauche keinen Vortrag darüber, warum ich meine Motivation, etwas zu ändern, was mein Unternehmen tut, überdenken sollte, weil sie es aus einem bestimmten Grund tun.

28voto

S.Lott Punkte 371691

"Könnt ihr mir helfen, mir etwas auszudenken, um meinen Chef endlich davon zu überzeugen, wirklich Python zu lernen und es bei Projekten einzusetzen?"

Nö.

Nichts ist so erfolgreich wie der Erfolg. Verwenden Sie Python. Sei erfolgreich. Machen Sie andere neidisch.

Wenn man Sie fragt, warum Sie erfolgreich sind, können Sie über Python sprechen. Vorher nicht.

Wählen Sie Projekte mit Bedacht aus: Projekte, bei denen eine dynamische Sprache erhebliche Vorteile bietet. Dinge, bei denen die Anforderungen no im Detail festgelegt werden. Dinge wie Datentransformationen, Scraping von Protokolldateien und hochentwickelte Ersetzungen für BAT-Dateien.

Verwenden Sie Python, um etwas Nützliches zu tun, während alle anderen herumstehen und versuchen, genügend Geschäfts- und Domäneninformationen zu erhalten, um ein Projekt zur Entwicklung eines komplizierten MVC-Designs zu starten.


Edit: Einige Python to the Rescue Geschichten.

Und das bin nur ich.


Edit: "Der Chef hat MICH aufgefordert, nachzuforschen", "herauszufinden, wie wir es nutzen können" ändert alles.

Die Aussage "Endlich habe ich meinen Chef davon überzeugt, wirklich Python zu lernen" ist irreführend. Sie schwimmen nicht stromaufwärts. Siehe Wie kann ich den Business Case für Python erstellen? für das Problem "meinen Chef überzeugen". Der Schnitt sagt, dass Sie diese Phase hinter sich haben.

Dynamische Sprachen bieten Flexibilität. Nutzen Sie das aus. Meine beiden obigen Beispiele sind zwei Bereiche, in denen Flexibilität wichtig ist.

  • Die Anforderungen sind nicht vollständig festgelegt. Mit einer dynamischen Sprache können Sie sofort loslegen. Nacharbeit ist kein Problem. Bei Java (und C++ und C#) zögern Sie, verheerende Änderungen am Design vorzunehmen, weil es schwierig ist, alles zu zerstören und es wieder zu kompilieren und zum Laufen zu bringen. In Python sind zerstörerische Änderungen nicht so teuer.

  • Das Design ist im Fluss, weil man sich die Komponenten nicht aussuchen kann. Sie können Wrapper und Facades sehr einfach in Python schreiben. Es ist eine Skriptsprache. Und Python-Module lassen sich sehr einfach zu größeren Aggregaten zusammensetzen.

  • Die Kodierung ist im Fluss, weil sich Anforderungen und Design ständig ändern. Es wird geskriptet - nicht kompiliert. Sie müssen nur eine Änderung am Code vornehmen und schon kann es losgehen. Das Testen ist einfacher, weil der Arbeitszyklus kürzer ist. Es heißt nicht Code-Kompilieren-Erstellen-Testen, sondern Code-Testen.

  • Das Testen ist im Fluss, weil sich die Anforderungen ständig ändern. Das Gleiche wie oben. Der Arbeitszyklus ist kürzer und schneller.

12voto

Harley Holcombe Punkte 165146

Fast kein Problem erfordert eine bestimmte Programmiersprache, so funktioniert das einfach nicht.

Der einfachste Weg, eine neue Sprache in eine Umgebung wie die Ihre zu bringen, ist, in Ihrer Freizeit ein neues Arbeitsprojekt in der neuen Sprache zu beginnen. Lassen Sie es etwas tun, was Sie brauchen, und schreiben Sie es in Ihrer Freizeit. Verwenden Sie es selbst, und andere Leute werden es wahrscheinlich bemerken. Sie sagen dann: "Kannst du mir das Programm schicken?" und schon benutzen sie deine neue Sprache.

Wenn Sie wirklich etwas wollen, würde ich wahrscheinlich eine Website in Django zu schreiben, einfach weil seine Admin-Schnittstelle bläst jeder weg.

Der wichtigste Punkt ist, dass, wenn Sie anfangen, Python zu benutzen, dies eine weitere Sache ist, die alle anderen lernen müssen, und es ist ein weiterer Punkt, der auf dem Lebenslauf jedes potenziellen Mitarbeiters stehen muss. Das kann teuer werden, und das Management wird es nicht mögen.

6voto

madlep Punkte 43822

Das Einschleusen einer Sprache erfolgt häufig durch die Automatisierung langwieriger manueller Aufgaben (insbesondere bei dynamischen/Skriptsprachen wie Python/Ruby usw.). Richten Sie es so ein, dass z. B. das Verteilen von Builds oder das Verschieben von Backups mit Python erledigt wird.

Dann fügen Sie beiläufig hinzu, wie einfach es war, und versuchen Sie, etwas von der Begeisterung zu verbreiten.

Die Akzeptanz und das Bewusstsein für Python sollten langsam wachsen, und ehe man sich versieht, zieht das Management Python ernsthaft für ein neues Projekt in Betracht.

3voto

Levi Rosol Punkte 4410

Könnt ihr mir helfen, mir etwas auszudenken um meinen Chef endlich zu überzeugen davon zu überzeugen, Python wirklich zu lernen und bei Projekten einzusetzen?

Leider lautet die Antwort nein. Wie Harley schon sagte, wird kein Problem erfordern eine bestimmte Sprache. Der von Harley vorgeschlagene Ansatz ist ebenfalls gut. Lernen Sie in Ihrer Zeit, entwickeln Sie in Ihrer Zeit eine nützliche App, und vielleicht, nur vielleicht, wird jemand bei Ihrer Arbeit sie benutzen wollen, sie mögen, sie lieben und dann mehr darüber lernen wollen.

Ein anderer Ansatz, den Sie verfolgen könnten, ist, besser zu verstehen, warum Ihr Unternehmen .Net (also Windows Server und wahrscheinlich SQL Server) für fast alle Entwicklungen verwendet. Wenn Sie erst einmal verstanden haben, warum Ihr Unternehmen nicht offen für andere Sprachen ist, haben Sie eine gute Grundlage, um einen Business Case für das "Warum nicht?

Warum sollten Sie Lizenzkosten zahlen, wenn Sie Tools haben, die das Gleiche leisten können? Es gibt kostenlose Alternativen, wie Python, die auf kostenlosen Servern laufen.

Warum geben Sie Ihrem Team nicht die Chance, seinen beruflichen Werkzeuggürtel zu erweitern? Das ist meine Meinung, aber ein guter Entwickler ist ein Entwickler, der sich nicht scheut, neue Wege zu erlernen, um dasselbe zu tun, was er schon vorher getan hat.

Aber letztendlich würde ich mir keine allzu großen Hoffnungen machen. Unterm Strich kostet es Geld, eine neue Sprache/Umgebung in einem IT-Unternehmen einzuführen. Egal, ob es sich um Software, Schulungen oder die Umstellung von Mitarbeitern handelt, es gibt einen geschäftlichen Grund, eine einzige Sprache für ein Unternehmen zu verwenden und daran festzuhalten.

Ich befinde mich in genau der gleichen Situation wie Sie. Ich arbeite in einem .Net-Shop, und das wird sich so schnell auch nicht ändern. Ich schlage mich durch, indem ich in meiner "freien" Zeit an meinen eigenen Projekten arbeite. Das macht mir Spaß, und es ist ein guter Ausgleich.

Ich hoffe, das hilft.

3voto

Oddthinking Punkte 22694

Treten Sie einen Schritt zurück und betrachten Sie Ihren Ansatz. "Ich weiß, wie ich die Antwort haben möchte, aber ich kann keine Beweise dafür finden.

Obwohl Python derzeit meine erste Wahl ist, fürchte ich, dass ich mich auf der Seite Ihres Chefs wiederfinde! Entschuldigung.

Ich denke, Sie sollten Ihren Geist öffnen und alle Optionen vom Standpunkt des besten Interesses Ihrer Organisation aus betrachten, und sehen, ob Sie nicht zu einer anderen Schlussfolgerung bezüglich der besten Sprache kommen.

Bei der Wahl der Sprache spielen viele Faktoren eine Rolle, und wie schön sie ist, ist ein eher unbedeutender Faktor. Die Verfügbarkeit von Personal ist ein wichtiger Faktor. Die Kosten für Umschulungen, die Verfügbarkeit von Bibliotheken und Meta-Tools, die Leistung usw. usw.

Wenn Sie alle Faktoren in Betracht gezogen haben (und nicht nur "Oh, das würde Spaß machen!") und eine ausgewogene Bewertung vorgenommen haben (anstatt eine vorgegebene Antwort zu geben), werden Sie feststellen, dass Ihr Chef eher bereit ist, Ihnen zuzuhören.

p.s. Der Vorschlag, heimlich Python für den Arbeitscode zu verwenden und dem Unternehmen eine schreckliche Codeschuld in einer Sprache zu hinterlassen, auf die es nicht vorbereitet ist, erscheint mir sehr unprofessionell.

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