Ich lerne gerade Python, was nicht Teil meines College-Lehrplans war. Ich wurde in einem Interview gefragt, warum ich mich für Python entschieden habe und habe geantwortet, dass es leicht zu erlernen ist und die Dokumentation sehr gut geschrieben ist. Der Interviewer antwortete nicht, ob es ein guter Grund war. Er sah überzeugt aus, aber ich kann nicht sicher sein.
Ist eine gut geschriebene Dokumentation zusammen mit der Leichtigkeit des Lernens ein guter Grund für die Wahl einer Skriptsprache? Oder hätte ich mehr über die Verfügbarkeit von Python-Bibliotheken und die größere Anwenderbasis von Python erfahren sollen?
Nur eine Notiz. Python war für den Job nicht erforderlich. Das Unternehmen arbeitete an Ruby-on-Rails. Python war in meinem Lebenslauf und ich denke, der Interviewer wollte nur wissen, welche Überlegungen ich als Frischer bei der Auswahl einer Programmiersprache angestellt habe.
quelle
Antworten:
Nein, eine gut geschriebene Dokumentation ist kein ausreichender Grund, eine Sprache zu lernen.
Eine schlecht geschriebene Dokumentation ist ein guter Grund, keine zu lernen.
Es gibt vier Gründe, eine Sprache zu lernen:
Weil es ein nützliches Werkzeug in Ihrer Karriere sein kann
Sprache ist ein Werkzeug. Einer verwendet eine Sprache eher als eine andere, weil sie in einem bestimmten Kontext Vorteile bietet. Die Tatsache, dass eine Sprache über eine qualitativ hochwertige Dokumentation verfügt, macht sie nicht oder nur am Rande zu einem besseren Werkzeug¹.
Die Sprachauswahl stützt sich vielmehr auf die bisherigen Erfahrungen, die Paradigmen (Beispiel: Funktionale Programmierung für Haskell), die Ansätze (Beispiel: Vollasynchroner Modus für JavaScript als serverseitige Programmiersprache mit Node.js), die Interoperabilität ( Beispiel: Kompatibilität mit fast jedem Betriebssystem für Java usw.
Die Fähigkeit, ein Werkzeug in Ihrem täglichen Leben zu verwenden, ist einer der Gründe, eine Sprache zu lernen.
Weil es Ihre Kultur und Ihr Wissen erweitert
Ein weiterer Grund, eine Sprache zu lernen, ist das Erlernen neuer Konzepte, Paradigmen und Arten, eleganten Code zu schreiben (Beispiel: Haskell). Auch hier hilft die Dokumentation, ist aber nicht der einzige Grund, eine Sprache zu lernen.
Weil es nur mit minimalem Aufwand erlernt werden kann
Ein weiterer Grund, eine Sprache zu lernen, ist, dass es einfach zu lernen ist (Beispiel: PHP). Auch hier trägt die Dokumentation viel dazu bei, aber die Sprache selbst ist noch wichtiger. Außerdem würde ich vermeiden, während eines Interviews zu sagen, dass ich eine Sprache gelernt habe, nur weil sie leicht zu lernen ist.
Weil es Spaß macht.
Der letzte Grund, eine Sprache zu lernen, ist, dass es einfach aufregend ist, entweder eine gut gestaltete Sprache (Beispiele: Haskell, Ruby) oder eine Sprache für Geeks (Beispiel: Brainfuck) zu lernen.
In einem Fall von Python können Sie Folgendes beantworten:
Es ist eine dynamische Sprache. Dynamische Sprachen machen es einfach, Prototypen zu erstellen und schneller zu entwickeln, wenn die Umstände starke Typen nicht wichtig machen.
Es ist elegant. Vielleicht nicht so elegant wie beispielsweise Haskell, aber dennoch ist der Vergleich mit gängigen weborientierten Sprachen wie PHP einfach.
Die Verwendung aussagekräftiger Einrückungen ist interessant, da viele gängige Sprachen Einrückungen nur zu einer Belastung machen, die von der IDE in erster Linie hätte verwaltet werden müssen. Haskell-Compiler und -Interpreter verlassen sich übrigens auch auf Einrückungen.
Python bietet eine elegante Möglichkeit, mit Listen zu arbeiten. Listenverständnisse und Generatorausdrücke sind interessante Konzepte für jemanden, der noch nie zuvor mit funktionaler Programmierung gearbeitet hat.
Mit Django ist es sehr einfach, Webanwendungen schnell zu erstellen und dabei den Code sauber zu halten. Dies ist ein großer Vorteil gegenüber vielen anderen Programmiersprachen.
Es ist schnell genug und leistungsstark genug für umfangreiche Webanwendungen. Beispielsweise ist Dropbox in Python geschrieben. YouTube setzt stark auf Python. Reddit verlässt sich, wenn ich mich recht erinnere, auch auf Python.
¹ Eine gut geschriebene Dokumentation hilft immer noch dabei, die Dinge richtig und schnell zu erledigen.
quelle
Wenn Sie wie ich sind, benutzen Sie keinen Hammer, nur weil er einen bequemen Griff hat. Sie benutzen einen Hammer, weil Sie ihn brauchen, um etwas zu
erledigengehämmert wird.Also, nein, eine gute Dokumentation ist sicherlich hilfreich, aber kein Grund für sich , eine Programmiersprache zu lernen.
quelle
Hier sind meine Hauptgründe, warum ich eine neue Sprache lernen sollte:
Der Rest des Teams, mit dem Sie arbeiten, nutzt es und Sie werden der neue Typ, der Teil des Teams wird.
Sie möchten ein Problem lösen, und Sprache X oder Bibliotheken / Frameworks für Sprache X bieten die bestmögliche Unterstützung für diese Aufgabe
Sie tun es nur für eigene Bildungszwecke.
Oft gibt es für Situation 2 mehr als eine Sprache oder einen Rahmen, der zur Lösung des Problems geeignet ist. Dann kann eine gut geschriebene Dokumentation einer der zu berücksichtigenden Faktoren sein (aber auch andere Faktoren). Für Punkt 3 mag eine gute Dokumentation wichtiger sein, aber ehrlich gesagt, wenn Sie eine neue Sprache lernen möchten, um sie zu lernen, müssen Sie zuerst ein Problem finden, das Sie lösen möchten. Andernfalls verlieren Sie bald Ihre Motivation. schriftliche Dokumentation vorhanden oder nicht.
quelle
Ja, warum nicht? Je mehr Sprachen Sie lernen, desto einfacher ist es, die nächste Sprache zu lernen. Viele Programmierkonzepte können in verschiedenen Sprachen erlernt werden. Beginnen Sie also genauso gut mit dem, das die besten Materialien zum Lernen bietet.
Die meisten Aufgaben können auch in einer Vielzahl von Sprachen ausgeführt werden. In der Regel beherrschen Sie nach einiger Zeit die wichtigsten Sprachkonzepte und -werkzeuge, lernen jedoch die meisten Bibliotheken nach Bedarf. Es ist ein Argument für eine Sprache, wenn die Bibliotheken gut dokumentiert sind, damit Sie sich schnell mit einer bestimmten Anwendungsdomäne vertraut machen können.
quelle
Nein, eine gut geschriebene Dokumentation ist kein ausreichender Grund, eine Sprache zu lernen.
Der Interviewer hat diese Frage gestellt, damit Sie ihm etwas von Python erzählen. Sie sollten Python und Ruby vergleichen.
quelle