Mehrere Sprachen gleichzeitig lernen [geschlossen]

35

Wenn Sie neue Sprachen lernen, ist es besser, sich zu 100% auf eine Sprache festzulegen und zu warten, bis Sie sie "gemeistert" haben, um zur nächsten überzugehen oder daran zu arbeiten, verschiedene Sprachen gleichzeitig zu lernen?

Wenn es darauf ankommt, lerne ich gerade C ++ und möchte auch Java und Python kennenlernen.

Maxpm
quelle
12
Es gibt oft keine 100% ige Flüssigkeit. Weder Jon Skeet noch Eric Lippert kennen sich zu 100% mit C # aus.
Job
3
Lerne keine Sprachen, lerne, wie man eine Sprache benutzt, um ein bestimmtes Programm zu implementieren. Dh wenn Sie ein Programmierer sind, spielt es keine Rolle, welche Sprache Sie verwenden, da Sie das gleiche Ergebnis erzielen können. Schlimmer noch, sobald Sie eine Sprache niederlegen, um eine andere zu "lernen", werden Sie die vorherige sowieso vergessen.
Solange Sie beide Sprachen wirklich LERNEN.
Tulains Córdova
@ Maxpm Können Sie sagen, wie war Ihre Erfahrung mit dem Lernen von Multi-Lang auf einmal ...
Rahul Patil

Antworten:

31

Ich sehe nicht nur kein Problem darin, mehrere Sprachen gleichzeitig zu lernen, sondern ich denke, es kann Ihnen auch direkt zugute kommen, dass etwas in einer Sprache einen Problembereich aufklärt, den Sie möglicherweise in einer anderen Sprache haben. Zum Beispiel ist meine Hauptsprache C # und als ich mich mit LINQ befasste, habe ich das SQL-Format verwendet (was in Ordnung ist, ich klopfe überhaupt nicht daran, aber es schien einfach nicht die „coole Art“ zu sein). Ich habe mich von Lambdas ferngehalten, weil ich sie ehrlich gesagt nicht verstanden habe und die C # -Dokumentation, die ich gesehen habe, keine klare Definition (für mich) enthielt. Dann fing ich an, ein paar Bücher über F # in die Hand zu nehmen und lernte das, was mir den "ah ha!" - Moment gab, in dem ich verstand, wie es Lambdas geht.

Ich habe festgestellt, dass ich mit C # (und ASP.Net) besser geworden bin, da ich immer mehr Erfahrung mit anderen Sprachen (und Frameworks) habe. Deshalb glaube ich, dass das gleichzeitige Lernen mehrerer Sprachen überhaupt keine schlechte Sache ist!

Jetti
quelle
1
Ich stimme voll und ganz zu und habe auch mit C # angefangen. In dieser Sprache habe ich viele Dinge erlebt, die aus der Sicht meines Anfängers sehr schwer zu verstehen waren, und wenn ich sie wirklich begriff, war es genauso schwer zu verstehen, wofür sie waren oder warum sie benutzt wurden. Ich habe seitdem ein paar andere Sprachen gelernt und es hat den Unterschied in der Welt gemacht. Zumal jede Sprache anders ist, können Sie aus jeder Sprache verschiedene Aspekte des Programmierens lernen.
Fender1901
49

Wenn es Ihre Muttersprache ist, ist es meiner Meinung nach besser, sie gut genug zu lernen, um zu verstehen, wie eine Programmiersprache funktioniert.

Sobald Sie eine gute Grundlage haben, können Sie so viele auswählen, wie Sie möchten.

OscarRyz
quelle
2
+1 Ich denke, es macht einen großen Unterschied, ob Sie Ihre ersten drei Sprachen im
Vergleich zu
12

Ich denke, eine wichtige Fähigkeit für Programmierer ist die Fähigkeit, neue Programmiersprachen zu lernen. Als solches würde ich eher vorschlagen, dass man zuerst eine einzelne Sprache lernt und dann andere hinzufügt.

Was auch immer Ihre erste Sprache ist, der Prozess des Lernens weiterer Sprachen sollte:

  • Suchen Sie eine gute Syntaxreferenz für die neue Sprache
  • Identifizieren Sie die Stärken der neuen Sprache, codieren Sie sie nicht einfach so, als ob Sie sie bereits kennen (Programmieren mit Akzent).
  • Erkunden Sie Bereiche der neuen Sprache, die früheren Sprachen, die Sie zuvor verwendet haben, nicht zugeordnet sind
  • Suchen Sie nach Codebeispielen, und versuchen Sie, ohne diese zu überprüfen, dasselbe von Grund auf neu zu codieren, um festzustellen, wie sich Ihre Implementierung vom Beispiel unterschied

Mit der Zeit werden Sie beim Sammeln von Sprachen eine eigene abstrakte Pseudocodesprache bilden, mit deren Hilfe Sie zwischen den von Ihnen bekannten Sprachen übersetzen können. Diese interne Sprache ist das Framework, mit dem Sie schnell neue Sprachen lernen können.

Jason Aller
quelle
1
+1 für "Identifizieren Sie die Stärken der neuen Sprache ...". Sehr schön
Nick Burns
8

Sprachen parallel zu lernen ist eine ganz normale Sache. Zum Beispiel Webprogrammierung. Sie haben es mit mindestens drei Sprachen zu tun: Server-Seite (PHP, Java, .NET, Ruby, Python ...), Client-Code (Java-Skript und HTML), Datenbank (SQL).

Boris Pavlović
quelle
noch htmlnoch sqlsind Programmiersprachen.
aeid
der Buchstabe l steht für Sprache
Boris Pavlović
7

Ich sehe kein Problem damit, mehrere Sprachen gleichzeitig zu lernen. Tatsächlich beherrschen Sie eine Sprache nie wirklich. Wenn Sie also mit mehr als einer Sprache arbeiten, lernen Sie wahrscheinlich beide Sprachen.

Möglicherweise möchten Sie sich auf eine Sprache konzentrieren, um die Grundlagen zu erlernen, damit Sie die beiden Sprachen nicht verwechseln. Dies gilt insbesondere dann, wenn Sie ähnliche Sprachen wie Java und C # lernen.

Paul Whitehurst
quelle
Aufgrund der Unterschiede ist JavaScript / Python möglicherweise eine gute Wahl. Als Beispiel.
Nick Indiessance
6

Ich unterrichte seit mehreren Jahren Programmierung, damit ich meine Erfahrungen mit Ihnen teilen kann. Ich gehe davon aus, dass C # Ihre Muttersprache ist. Daher kann meine Erfahrung als Programmierlehrer für Personen nützlich sein, die noch nie zuvor programmiert haben.

Lassen Sie mich zunächst einmal sagen, dass jeder erfahrene Programmierer mehr als eine Sprache lernen sollte. Dies bedeutet jedoch nicht, dass Sie mehrere Sprachen gleichzeitig lernen sollten, wenn Sie gerade erst anfangen.

Im Laufe der Jahre haben die Schüler gezeigt, dass es ungefähr ein Jahr dauert, bis sich eine Sprache im Kopf verfestigt (zumindest die erste), manchmal ein bisschen mehr, manchmal ein bisschen weniger. Wenn Sie versuchen, mehr als eine Sprache in einem Jahr zu unterrichten, neigen die Schüler dazu, diese zu verwechseln und Konzepte und Sprachen zu verwirren. Obwohl die Schüler Fortschritte machen, geraten sie in viele schlechte Gewohnheiten, die später nur schwer auszumerzen sind. Wenn Sie alleine lernen, ist dieses Risiko höher.

Mir ist jedoch aufgefallen, dass es hilfreich ist, wenn Sie zwei Sprachen mit einer sehr unterschiedlichen Syntax unterrichten. Wenn zwei Programmiersprachen wirklich unterschiedlich aussehen , hilft es dem Verstand, sie als wirklich unterschiedliche Einheiten zu betrachten, ohne sich gegenseitig zu verschmutzen. (Wenn eine Programmiersprache Ihnen hilft, schwierige Konzepte in einer anderen Sprache zu verstehen, ist das gut. Wenn eine Sprache Sie dazu bringt, schlechten Code in einer anderen Sprache zu schreiben, ist das schlecht.)

Daher würde ich empfehlen, für Ihr erstes Jahr an einer Programmiersprache festzuhalten. Alternativ kann es eine gute Idee sein, zwei Sprachen gleichzeitig zu lernen, solange sie sehr unterschiedlich aussehen. Wenn Ihre Muttersprache C # ist, würde ich mich mit Sicherheit von C, C ++, Objective C und Java fernhalten. und wahrscheinlich Python, Ruby und Javascript. Ich würde empfehlen, C # mit einer funktionalen Sprache wie Haskell, Scheme, F #, Erlang, Clojure oder vielleicht Scala zu kombinieren.

Sergut
quelle
5

Ich denke, dass das Lernen mehrerer Sprachen gleichzeitig besser ist als das Lernen einer nach der anderen, denn wenn die Sprachen ausreichend unterschiedlich sind, gibt Ihnen jede eine Pause von der anderen. Versuchen Sie, sie so zu stapeln, dass Sie mit einer neuen beginnen, sobald Sie die "absolute Newbie" -Stufe der vorherigen durchlaufen haben. Auf diese Weise haben Sie eine viel bessere Chance, nicht nur das beizubehalten, was Sie über die Sprache gelernt haben, sondern auch, wie Sie eine neue Sprache gelernt haben. (Generalisierte Sprachlernfähigkeiten sind etwas, für das Sie später im Programmierleben sehr dankbar sind.)

Das heißt, das Erlernen Ihrer Muttersprache erfordert eine enorme Investition an Zeit und Energie, und Sie haben möglicherweise nicht die Zeit, sich während dieses Prozesses einem anderen großen Projekt zu widmen. Wenn Sie überlegen, eine andere Sprache zu starten, weil Sie C ++ satt haben, tun Sie das nicht! Es wird Sie ermutigen, zu zögern. Wenn Sie darüber nachdenken, eine andere Sprache zu starten, weil Sie immer wieder in Java geschriebene Projekte erwähnen und frustriert sind, dass Sie den Code nicht einfach lesen und analysieren können, tun Sie es! Dies ist ein guter Grund, jederzeit eine andere Sprache zu lernen.

Arkaaito
quelle
2

Ich habe festgestellt, dass das gleichzeitige Erlernen mehrerer Sprachen offensichtlich zu einer längeren Lerndauer für eine bestimmte Sprache führen kann (was für mich selbstverständlich ist). In meinem Fall konnte ich jedoch entscheiden, welche Sprachen ich bevorzuge und welchen Codierungsstil ich am meisten mag.

In meinem Fall habe ich mit C # angefangen und bin dann zu Python und F # gekommen. Ich mochte den funktionalen Stil von F #, der mich dazu brachte, Scala und Clojure auszuprobieren. Jetzt, da ich all diese Sprachen gelernt habe, fand ich, dass Scala gut zu dem passt, was ich tue. Außerdem bin ich jetzt sehr zuversichtlich in OOP und funktionale Stile und kann mehrere Sprachen kompetent lesen und schreiben. Es ist eine großartige Fähigkeit.

Richard Todd
quelle