Ist eine gut geschriebene Dokumentation ein guter Grund, eine Programmiersprache zu lernen? [geschlossen]

14

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.

Aseem Bansal
quelle
12
Möglicherweise nicht im Interview, aber ich würde fragen, ob Sie einen Grund brauchen, etwas anderes zu lernen, als Sie wollen.
jk.
2
@jk Ich kenne C nur so weit. Ich bin kein großer Experte, aber ich kenne die Syntax, kann Datenstrukturen implementieren und so. Ich brauchte eine Sprache, in der ich Ideen schneller umsetzen kann. Aus diesem Grund habe ich mich für eine Skriptsprache entschieden. Dokumentation, Benutzerfreundlichkeit und Benutzerbasis waren die Hauptvorteile im Vergleich zu Perl und Tcl. Nicht alle drei galten für beide Sprachen, aber soweit ich Google Python verwenden konnte, war es in einer dieser Sprachen besser als in diesen. Also habe ich mich für Python entschieden. Lernen, weil ich will, ist ein guter Grund, aber es war nicht Python, an dem ich interessiert war. Die Ideen waren die Hauptsache.
Aseem Bansal
1
[Etwas zu tun, weil es leicht ist] ist bei weitem nicht so beeindruckend wie [Etwas zu tun, weil es schwer ist]. Es sei denn, es ist wirklich schwer und Sie zeigen nur. ;)
TimG
5
Da Sie Python noch nicht kennen, empfehlen wir Ihnen, nicht mehr darauf zu verweisen und es als "Skriptsprache" zu betrachten. Es ist eine Sprache . Menschen schreiben damit Websites, Desktop-Apps, kleine Skripte, große Bibliotheken, eingebettete Controller usw. Es als "Skriptsprache" zu bezeichnen, erscheint mir unangemessen.
Chelonian
@Chelonian Point zur Kenntnis genommen. Vielen Dank für den Hinweis.
Aseem Bansal

Antworten:

20

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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:

  1. 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.

  2. Es ist elegant. Vielleicht nicht so elegant wie beispielsweise Haskell, aber dennoch ist der Vergleich mit gängigen weborientierten Sprachen wie PHP einfach.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Arseni Mourzenko
quelle
Ich weiß nur C. Ich habe Python gelernt, weil ich Ideen schneller umsetzen wollte. Das schließt den ersten Punkt aus. Ich habe das funktionale Paradigma erst durch Python kennengelernt, daher ist auch der zweite Punkt zu erwähnen. Dann bleibt mir in dieser Situation nur der 3. Punkt. Was hätte der Schwerpunkt meiner Antwort sein sollen? Weitere Informationen in diesem Kommentar zu Frage
Aseem Bansal
@AseemBansal: Ich habe meine Frage bearbeitet, um zu zeigen, was Sie hätten beantworten können. Auch die Tatsache, dass Sie "das funktionale Paradigma nur durch Python kennengelernt haben", ist genau das, worüber ich spreche: Sie haben Python gelernt, und es hat Ihnen geholfen, FP zu entdecken, das genau der Zweck des Lernens einer Sprache ist.
Arseni Mourzenko
1
Sie können Dropbox als Beispiel anstelle von YouTube und Reddit verwenden. Es ist komplett in Python gemacht. Wenn ich mich recht erinnere, hat Guido Dropbox geholfen, ihr Produkt zu bauen, und er ist kürzlich wieder dazugekommen.
Aseem Bansal
Es gibt einen vierten Grund, aus dem Sie wahrscheinlich übersprungen haben: Weil die Sprache lustig aussieht!
20.
Etwas in der Reihe von martiert, aber was ist mit Spaß? Wenn Sie eine bestimmte Sprache lernen möchten, ist das mehr als ein guter Grund. Es muss nicht alles von beruflichen Fortschritten und Strategien motiviert sein, um Ihre Fähigkeiten zu maximieren.
Gilles
7

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 erledigen gehämmert wird.

Also, nein, eine gute Dokumentation ist sicherlich hilfreich, aber kein Grund für sich , eine Programmiersprache zu lernen.

stakx
quelle
1
Ich habe Dinge hinzugefügt, die ich wollte und die ich mit Python gemacht habe, aber ich denke, ich hätte mehr Wert darauf legen sollen, Dinge zu erledigen als Dokumentation.
Aseem Bansal
3
Sie verwenden einen Hammer, weil Sie etwas hämmern müssen ... zu viele Leute verwenden Hämmer, wenn ein Schraubenzieher besser geeignet wäre.
gbjbaanb
@ gbjbaanb: Genau! Danke, dass du noch genauer bist.
Stakx
1

Hier sind meine Hauptgründe, warum ich eine neue Sprache lernen sollte:

  1. Der Rest des Teams, mit dem Sie arbeiten, nutzt es und Sie werden der neue Typ, der Teil des Teams wird.

  2. 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

  3. 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.

Doc Brown
quelle
1

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.

Gilles 'SO - hör auf böse zu sein'
quelle
0
  • 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.

Edward Shen
quelle