"Verkauf" Codierung meines nächsten Projekts in einer unbekannten Sprache

8

Ich möchte mein nächstes Arbeitsprojekt in einer Sprache codieren, die ich nicht kenne (Python). Ich kann mir aus meiner Sicht viele Gründe vorstellen, warum es eine gute Idee ist (nicht zuletzt, weil es Spaß macht). Mein Manager wird mich jedoch wahrscheinlich fragen, warum. Ich bin ein wenig ratlos über die Vorteile aus seiner Sicht.

EDIT : Normalerweise codiere ich in C #

EDIT2 Meine Gründe, in einer anderen Sprache codieren zu wollen;

  1. Es wird ein einfaches Projekt viel schwieriger machen, also werde ich mehr lernen und es wird interessanter
  2. Ich habe gerade ein Buch über Python gelesen. Ich möchte die Möglichkeit haben, es in einer Geschäftsanwendung anzuwenden, damit ich es richtig verstehe
  3. Es wird meine Fähigkeiten verbessern und mich beschäftigungsfähiger machen
  4. Python sieht lustig aus
Tom Squires
quelle
1
In welcher Sprache würden Sie es normalerweise schreiben?
RYFN
1
"Ich kann mir viele Gründe vorstellen" Was sind das? Wie führt dies zu geschäftlichen Vor- und Nachteilen (Kosten, Aufwand)?
P.Brian.Mackey
5
Warum nicht sehen , wenn Sie verwenden können , Ironpython . Auf diese Weise können Sie zumindest noch .NET
Jetti
Abgesehen davon, dass es Spaß macht, was sind Ihre Gründe für die Verwendung von Python?
SoylentGray
1
Das Codieren eines For-Work-Projekts mit unbekannten Sprachen usw. ist ein Risiko. Außerdem werden langfristige Wartungsprobleme eingeführt (wie viele Sprachen müssen zukünftige Mitarbeiter kennen?). Es muss starke projektspezifische Vorteile geben, um solche Nachteile aufzuwiegen - die Sprache sollte besonders für das Projekt geeignet sein. Und wenn Sie keine Erfahrung mit der Sprache haben, sind Sie nicht in der Lage, dies zu beurteilen.
Steve314

Antworten:

8

Ich würde lieber eine Sprache wählen, die besser für die Aufgabe ist, die ich erfüllen muss. Welche Art von Projekt ? Dies wäre nicht nur für Ihr Unternehmen von Vorteil, sondern auch für Sie (die Auswahl des falschen Werkzeugs kann später zu Problemen führen).

Wenn Python in Ihre Unternehmens- / Gruppenstrategie einfließen könnte und Sie es lernen möchten, wäre ich ehrlich zu Ihrem Manager und würde ihm sagen, dass Sie es in Python tun möchten, um Python zu lernen. Er kann dann wählen, ob das Kosten-Nutzen-Verhältnis in Ordnung ist.

Übrigens, was ist die Alternative? (dh die 'Standard'-Sprache)?

Matteo
quelle
15

Sollten Sie es nicht unter dem Gesichtspunkt "Was soll ich tun, das für das Unternehmen am besten ist" und nicht unter dem Gesichtspunkt "Was möchte ich tun und wie kann ich sie von seinem Wert überzeugen" angehen?

Eoin Carroll
quelle
10

Sie sollten wahrscheinlich kein Risiko mit der Zeit / dem Geld Ihres Arbeitgebers zu Ihrem eigenen Vorteil eingehen ... nur ein Gedanke.

Lernen Sie Python in Ihrer Freizeit - dann wird es natürlich vorkommen, wenn Sie ein Argument für die Verwendung von Python vorbringen.

Jheriko
quelle
5

Es hört sich so an, als ob Sie einfach nur Spaß an der Zeit des Unternehmens haben möchten.

Wählen Sie eine Sprache ohne zwingende Vorteile für die Lösung des vorliegenden Problems, die Lieferung dauert länger und Sie haben einen Albtraum hinter sich. Was kann Ihr Manager mögen?

Sie haben keine Rechtfertigung dafür. Wenn Sie mit einer neuen Sprache spielen möchten, ist das in Ordnung, aber tun Sie dies in Ihrer eigenen Zeit, bevor Sie versuchen, Ihren Chef davon zu überzeugen, dass Sie sie verwenden und eine Projekt- / Sprachkombination auswählen, die tatsächlich einen Mehrwert bietet.

Um ein Gegenbeispiel zu geben: -

Ich habe einmal PERL verwendet, um automatisch eine Konvertierung einer großen Delphi-Codebasis durchzuführen. Ich hatte bereits einige Zeit zu Hause mit PERL gespielt, der Code wurde über das Ende des Projekts hinaus nicht unterstützt, und die in PERL integrierte RegExp-Funktionalität machte mich um ein Vielfaches effektiver als das Schreiben derselben Funktionalität in Delphi, obwohl ich über PERL-Kenntnisse verfügte war ziemlich begrenzt.

mcottle
quelle
+1 für das Gegenbeispiel. Einige Dinge können in einer Sprache wie Python schneller erledigt werden als in C #.
Mechanische Schnecke
4

Gibt es in Ihrem Unternehmen einen Hinweis darauf, dass Sie den Microsoft-Stack verlassen, oder den Wunsch, nicht völlig eingesperrt zu sein? Entwickler mit Kenntnissen in anderen Bereichen würden dies einfacher machen.

Es gibt Vorschläge, eine bestimmte Sprache nur zu verwenden, wenn das Projekt einen bestimmten Nutzen hat. Dies scheint immer schwierig zu sein, wenn Sie keine Sprache gelernt haben. Woher weißt du, was du nicht weißt? Sicher können Sie SO recherchieren oder fragen und entweder Ihre Frage schließen oder bestenfalls eine Antwort erhalten, die davon abhängt.

Es kann Ihnen helfen, neue Techniken zur Behandlung aktueller Probleme zu entwickeln.

Es kann von Vorteil sein, ein zweisprachiger Shop zu sein, wenn es um die Rekrutierung von Talenten geht. Ihr nächster Programmierer hat möglicherweise eine Python-Präferenz, ist aber auch bereit, C # -Arbeit zu leisten.

So viele Orte beschweren sich, dass ihre Entwickler auf ihre Art eingestellt sind und keine neuen Dinge lernen wollen. Starten Sie ein kleines Projekt und zeigen Sie, dass Sie lernbegierig sind, aber bereit sind, innerhalb der Parameter zu arbeiten, die Ihrem Unternehmen helfen.

JeffO
quelle
3

Einige Vorteile (abhängig davon, welche Art von Projekt Sie durchführen möchten und welche alternative Sprache verwendet wird;)

  • sauberes OOP mit dynamischer Typisierung (also von Natur aus generisch)
  • gut für Rapid Prototyping
  • Mit anderen Sprachen mischbar
  • Open Source und beliebt
  • tragbar
  • Leistungsstarke Sprachkonstrukte und Toolkits / Bibliotheken
  • gut für Internet-Scripting
  • automatische Speicherverwaltung
  • Spaß und schnell zu lernen und zu verwenden

Denken Sie darüber hinaus darüber nach, warum Sie Python lernen möchten, und Sie werden wahrscheinlich auch einige Vorteile für Ihr Unternehmen finden. Wenn nicht, ist Python nicht geeignet und Sie sollten es nicht auswählen.

DaveFar
quelle
Gute Antwort - aber "gut für Rapid Prototyping" - ich erschrecke immer wieder, es gibt viele verschiedene Dinge, die Sie vielleicht prototypisieren möchten ... Ich sage nicht, dass Python für manche nicht gut geeignet ist, aber ich kann mir vorstellen Situationen, in denen sogar C einfach aufgrund von Leistungsbeschränkungen besser wäre (ja, diese können auch für Prototypen gelten - z. B. möchten Sie einige Videos in Echtzeit bearbeiten und der Echtzeit-Teil ist der Schlüssel zu dieser Funktion).
Jheriko
3

Wo ist der Wert für Ihr Unternehmen?

Meine Gründe, in einer anderen Sprache codieren zu wollen; 1) Es wird ein einfaches Projekt viel schwieriger machen, also werde ich mehr lernen und es wird interessanter

Verlängern Sie dabei das Projekt und erhöhen Sie das Risiko eines Totalausfalls. Hier gibt es keinen klaren Nutzen für das Unternehmen, nur Kosten / Risiken.

2) Ich habe gerade ein Buch über Python gelesen. Ich möchte die Möglichkeit haben, es in einer Geschäftsanwendung anzuwenden, damit ich es richtig verstehe

Kein Vorteil für das Unternehmen hier, es sei denn, Python ist eine Technologie, die sie sowieso nutzen möchten.

3) Es wird meine Fähigkeiten verbessern und mich beschäftigungsfähiger machen

... und eher woanders einen Job bekommen?

4) Python sieht lustig aus

Wasserski auch. Beides ist für das Unternehmen irrelevant.

OK, es gibt Vorteile, die Mitarbeiter ihre Arbeit genießen, aber kein Manager in die Idee kaufen wird , dass Spaß ist mehr wichtig , als tatsächlich die erforderliche Arbeit effizient und mit minimalem Risiko zu tun.


Lernen Sie Python in Ihrer eigenen Zeit in Ihren eigenen Projekten. Wenn Sie gut darin sind und solide Beweise gesammelt haben, um Ihren Fall zu untermauern, sprechen Sie mit Ihrem Manager darüber, ob es im Interesse des Unternehmens liegt, ihn zu übernehmen. (Und seien Sie auf eine pragmatische Antwort von "Nein" oder "Noch nicht" vorbereitet.)

Stephen C.
quelle