Würde das Erlernen einer natürlichen Sprache Ihre Programmierkarriere fördern? [geschlossen]


52

Es scheint offensichtlich, dass Englisch die dominierende internationale Programmiersprache ist, basierend auf früheren P.SE-Fragen (obwohl ein hochgelobter Kommentar richtig darauf hinweist, dass das Stellen einer solchen Frage auf einer überwiegend englischen Site die Ergebnisse verzerrt).

Gibt es jedoch Vorteile beim Erlernen einer Fremdsprache für die Softwareentwicklung? Haben die Chinesen beispielsweise völlig unterschiedliche Softwaretools, Sprachen, Technologien usw.? Wie wäre es mit Japanisch, Russisch und anderen Sprachen, die nicht auf Latein basieren? Gibt es eine ganze Welt von Softwareentwicklungssprachen, Tools usw., die nur in diesen anderen Sprachen existieren?

Oder benutzen Leute, die diese Sprachen beherrschen, die Werkzeuge und Sprachen, die wir kennen und lieben?


2
+1. Gute Frage. Es würde mich interessieren, mich selbst zu kennen.
Neil

2
In selteneren Sprachen sind Bücher / Tutorials häufig in der Muttersprache des Autors verfasst. Zum Beispiel war das meiste Ruby-Zeug lange Zeit japanisch, bevor es populär wurde.
Jozefg

6
In früheren Zeiten war es nützlich, Japanisch zu beherrschen, wenn Sie Entwickler von Konsolenvideospielen waren.
David Sergey

2
Interessante Seite zu nicht englischsprachigen Programmiersprachen in Wikipedia .
Alexander

1
Ich habe mit chinesischen und russischen Entwicklern zusammengearbeitet und sie haben auf Englisch gearbeitet. Daher würde ich sagen, dass es zwar immer von Vorteil ist, Ihre Kenntnisse zu verbessern, sich aber die Mühe macht, eine schwierige Sprache zu lernen (womit ich meine, dass das westliche Alphabet nicht verwendet wird) wahrscheinlich vernachlässigbar.
Hitzewelle

Antworten:


44

Ich werde Ihre Titelfrage beantworten. Die Antwort lautet ja, aber nicht aus den Gründen, die Sie suchen. IMO ist mehrsprachig in gesprochenen Sprachen und kann Ihnen helfen, Ideen von den Dingen zu trennen, mit denen sie ausgedrückt werden. Aus ähnlichen Gründen empfehle ich, mindestens eine nicht-c-basierte Syntaxsprache zu lernen, wenn Sie mit einer begonnen haben.


17
+1 Die Kenntnis mehrerer menschlicher Sprachen kann beim abstrakten Denken hilfreich sein, und dies ist in der Softwareentwicklung häufig der Fall.
Allan

4
+1 (mehr, wenn ich könnte) Ich habe gesehen, dass viel zu viele Menschen Probleme für sich selbst schaffen, weil sie den Unterschied zwischen einem Konzept und den Wörtern, mit denen es beschrieben wird, nicht verstehen konnten.
Anton

3
Ich finde, dass die Kenntnis einer Gebärdensprache wie ASL Ihnen eine andere Perspektive auf Sprachen im Allgemeinen
bietet

1
@ TruthOf42 Zumindest finden Sie in ASL keinen kommentierten Code.
Nalply

1
@ EricDong Ich weiß es nicht. Ich habe Norwegisch gelernt, als ich 7-8 Jahre alt war. Durch die Interaktion mit Menschen über die Jahre habe ich den Eindruck, dass sich viele Menschen nicht regelmäßig dabei erwischen, nonverbal zu denken. Ich denke, mehr als eine gesprochene Sprache zu kennen, würde dabei sehr helfen. Die Kenntnis der ASL würde wahrscheinlich noch mehr helfen. Und natürlich hilft es auch sehr, mehrere Programmiersprachen von sehr unterschiedlichen Designschulen zu lernen. Ich bin ein mieser Dichter, aber ich vermute, dass es sehr ähnlich ist. Je mehr Sie hinter dem Vorhang der Worte sehen, desto effizienter können Sie eine Idee ausdrücken.
Erik Reppen

13

Nein, Sie verpassen kein Lernmaterial.
Als niederländischer Muttersprachler kann ich Ihnen versprechen, dass meine Entwicklungsumgebung + der größte Teil meines Referenzmaterials auf Englisch geschrieben ist. Es gibt einige Lehrpläne, die in einer anderen Sprache geschrieben sind, aber ich kann Ihnen versichern, dass in keinem von ihnen Magie steckt.

Ich kann mir jedoch vorstellen, dass die Dokumentation zu APIs / Webservices / Projekten oder Kommentare im Quellcode in einer anderen Sprache als Englisch vorliegen kann. Dafür würde ich vorschlagen, dass Sie einige der am meisten gesprochenen Sprachen behandeln: Spanisch, Arabisch und Chinesisch


5
Dies hängt natürlich auch von dem gewählten Bereich ab - für Spiele, denke ich, ist Japanisch vielleicht recht praktisch ...
Clockwork-Muse

Ich habe an Code gearbeitet, der in drei verschiedenen Sprachen kommentiert wurde: Französisch, Englisch und Deutsch.
Nalply

12

Es kann sinnvoll sein, sich auf eine bestimmte Technologie zu spezialisieren, die in einem nicht englischen Land entwickelt wurde.

SAP zum Beispiel ist ein deutsches Unternehmen. SAP ERP, der Gigant einer Software, die normalerweise als "SAP" bezeichnet wird, verfügt über die meisten Anwendersoftwaremodule, die in der SAP-eigenen Programmiersprache ABAP geschrieben sind. Als Entwickler können (und müssen) Sie sich den ABAP-Code ansehen.

Vor einem Jahrzehnt passierte der größte Teil der ABAP-Entwicklung in Deutschland, und es gab keine Richtlinien, nach denen Kommentare und Bezeichner auf Englisch sein mussten. Daher ist im älteren ABAP-Code viel Deutsch enthalten.

Als ABAP-Entwickler muss ich häufig von SAP geschriebenen Legacy-Code debuggen. Ich bin ein deutscher Muttersprachler, daher ist es für mich nur ein kleiner Ärger, ständig zwischen Deutsch und Englisch zu wechseln, aber ich bedaure wirklich jeden, der kein Deutsch spricht und sich plötzlich im auf Deutsch kommentierten Quellcode wiederfindet.

Deutsch finden Sie auch in älteren APIs. Beispielsweise wird die aktuelle Zeit in der globalen Variablen gefunden SY-UZEIT. "Uzeit" ist die Abkürzung für "Uhrzeit". Eine customerID ist eine KUNNR("Kundennummer"), ein Geldbetrag in BETRHHauswährung eine ("Betrag - Hauswährung") usw.

Ich habe Anekdoten von armen nicht-deutschen ABAP-Programmierern gehört, die ein deutsches Wörterbuch direkt neben ihrem ABAP-Nachschlagewerk haben.


Ich habe ähnliche Erfahrungen mit TYPO3 gemacht.
Liori

9

Wenn Sie Ihre Karriere nicht wie in China mit einem sich selbst tragenden Markt planen, würde ich wetten, dass Englisch mehr als genug ist. Hobbyist kann andere Sprachen verwenden, aber in allen bezahlten Arbeiten, die ich überall in der Welt gesehen habe, war Englisch die vorgeschriebene Sprache. Auch aus praktischen Gründen.

Andererseits können mehr Sprachkenntnisse Ihre Karriere bei Satellitenaktivitäten erleichtern. Viele Programme sind lokalisiert, und sowohl das Übersetzen als auch das Testen erfordern Kenntnisse der Zielsprache. Es ist eine wertvolle "Fähigkeit". Wenn Sie also eine Affinität dazu haben, lernen Sie es einfach.


1
IMO ist es im Allgemeinen ein Fehler, einen Übersetzer einzustellen, der nicht in der Zielsprache aufgewachsen ist. Viele Amerikaner sind möglicherweise sehr kompetent, eine Fremdsprache ins Englische zu übersetzen, aber nur sehr wenige sind in der Lage, Englisch in eine andere Sprache zu übersetzen.
Kevin Cline

2
Sicher, und ein Programmierer wäre auch als Übersetzer eine Verschwendung - aber es ist gut, wenn er Probleme im Zusammenhang mit l10n
Balog Pal

8

Ja, das Erlernen einer anderen Sprache fördert Ihre Programmierkarriere. Dies liegt daran, dass das Erlernen einer anderen Sprache meiner Meinung nach jede Karriere fördert.

Dies hat mehrere Gründe, von denen einige oben bereits angesprochen wurden:

  • Das Erlernen einer anderen Sprache erweitert Ihren Horizont. Es wird Sie notwendigerweise Aspekten einer anderen Kultur und Denkweise aussetzen und Ihnen die Erfahrung geben, dies auf Ihre eigenen Gedanken abzubilden. Dies hat natürlich Parallelen zur Programmierung, ist aber auch eine allgemein nützliche Fähigkeit für die Kommunikation zwischen Personen.
  • Das Erlernen einer anderen Sprache (insbesondere Ihrer zweiten) hilft Ihnen zu verstehen, wie Ihre eigene Sprache funktioniert, da Sie analysieren müssen, wie die Grammatik der neuen Sprache funktioniert und wie sie der Grammatik Ihrer eigenen Sprache entspricht, anstatt dies blind zu akzeptieren. " so ist es". Selbst wenn Sie in Ihrer Karriere nur Ihre Muttersprache verwenden, hilft Ihnen ein besseres Verständnis dabei, effektiver zu kommunizieren.
  • Schon ein bisschen Fremdsprachenkenntnis kann dazu führen, dass Sie richtig gut aussehen. Mit Ausnahme der kleinsten Unternehmen müssen sich alle mit ausländischen Lieferanten oder Kunden auseinandersetzen. Auch wenn Sie beide Ihr Geschäft auf Englisch betreiben, macht es einen guten Eindruck, kleine Höflichkeiten (zum Beispiel Grüße) mit Menschen in ihrer Muttersprache auszutauschen. Wenn Sie für diesen guten Eindruck zur Verfügung stehen, wird sich Ihr Ansehen in Ihrem Unternehmen verbessern.
  • Wenn Sie eine andere Sprache kennen, können Sie effektiver mit Muttersprachlern dieser Sprache kommunizieren, auch wenn Sie Ihre Muttersprache verwenden. Dies liegt daran, dass Sie Versuche erkennen können, Konstrukte zu verwenden, die in der Fremdsprache üblich sind, und von ihnen die Bedeutung abrufen können, auch wenn sie in Ihrer Sprache nicht so klar sind. Ebenso hilft es Ihnen, falsche Freunde zu erkennen und zu verstehen , die möglicherweise auftauchen.
  • Gute Sprachkenntnisse eröffnen die Möglichkeit, in Ländern zu arbeiten, in denen diese Sprache gesprochen wird. Dies erweitert den Pool potenzieller Jobs, die Ihnen zur Verfügung stehen, was wiederum bedeutet, dass Sie mehr Möglichkeiten haben, Ihre Karriere voranzutreiben.

Um Ihre Fragen direkt zu beantworten: Wird das Erlernen einer Fremdsprache eine erstaunliche Reihe neuer Programmiersprachen und Lernressourcen eröffnen? Wird es Sie zu einem besseren Softwareentwickler machen? Wahrscheinlich nicht direkt. Aber wird es Ihnen helfen, eine bessere, vielseitigere und beschäftigungsfähigere Person zu werden und Ihre Karriere voranzutreiben? Absolut.


2
+1! Um es allgemeiner auszudrücken: Dies liegt daran, dass das Lernen von irgendetwas (für die meisten Werte von irgendetwas) jede Karriere fördern wird. Aber nicht nur das. Ein besser ausgebildeter Mensch hat einfach ein besseres Leben.
Ingo

Nicht-Engländer sehen die Schwäche des Englischen, wenn sich API nicht auf technische Mathematik oder Wirtschaft konzentriert. In einer Sprache zu denken und in einer anderen zu übersetzen (mit anderen Regeln, Syntaxen, Grammatik), erfordert Kreativität, Vorstellungskraft und Humor.
Cl-R

7

Wenn Englisch Ihre Muttersprache ist, wird das Erlernen einer Fremdsprache Ihrer Programmierkarriere wahrscheinlich nicht viel helfen. Persönlich denke ich, dass Fremdsprachenkenntnisse eine sehr gute allgemeine Übung sind, die Ihren Horizont erweitert ("Wie viele Sprachen du sprichst, sooftmal bist du Mensch"), aber wenn Sie sich nur mit Sofortgewinnen befassen, ist es wahrscheinlich nicht die Aufregung wert.

Abgesehen von der Selbstverwirklichung gibt es hier einige Situationen, in denen Sie meines Erachtens aus rein pragmatischen Gründen von der Kenntnis einer Fremdsprache profitieren könnten:

  • Zusammenarbeit mit Partnern oder Kunden aus dem Ausland. Selbst wenn Sie die Sprache nicht gut genug beherrschen, um kommunizieren zu können, können Sie bei Kenntnis einiger Grundlagen auf Probleme aufmerksam werden, die bei der Kommunikation auftreten können, oder auf Probleme, die Benutzer von Fremdsprachen mit Ihrem Produkt haben können.
  • Arbeiten an jedem Produkt, das gut internationalisiert werden muss. Ohne die Grundlagen einer Fremdsprache zu kennen, werden Sie sich möglicherweise fragen, wozu all die komplexen i18n-Bibliotheken dienen (z. B. warum für die Nachricht "% d neue Nachrichten" abhängig vom Wert von% d möglicherweise mehrere verschiedene Übersetzungen in dieselbe Sprache erforderlich sind). .
  • Dies erleichtert das Verständnis der Komplexität einer ordnungsgemäßen Unicode-Verarbeitung.

Wie bereits erwähnt, lohnen sich die Vorteile in vielen Situationen nicht, wenn Sie sich nur die unmittelbaren Vorteile ansehen.


6

Englisch ist die dominierende Sprache in diesem Bereich, nicht nur in der EU / USA.

Als Muttersprachler des Chinesischen kenne ich Leute, die dieselben Betriebssysteme, Programmiersprachen und Tools verwenden. Einige von ihnen sind ins Chinesische übersetzt, der Rest ist nicht so schwierig wie englische Romane. Es gibt einige "chinesische Programmiersprachen" mit chinesischen Stichwörtern, die nicht weit verbreitet sind oder sogar als ernst zu nehmende Dinge gelten.

Zur Zeit lebe ich in Japan und sehe hier ähnliche Dinge. Zumindest glaube ich nicht, dass Chinesisch, Japanisch oder eine andere mysteriöse natürliche Sprache den Zugang zu unersetzlichen Ressourcen ermöglichen.

Andererseits habe ich von der (nicht sprachspezifischen) Semantiktheorie profitiert. Sowohl in der natürlichen Sprache als auch in der Programmiersprache hat es mir geholfen, Ausdrücke ähnlich wie bei der Codeüberprüfung zu unterscheiden und zu verfeinern.


5

Der einzige direkte Vorteil beim Erlernen einer anderen Sprache besteht darin, dass Sie die Probleme rund um i18n besser verstehen . Das heißt, genau wie bei Datumsformaten gibt es unterschiedliche Regeln für die Grammatik, sodass die Lokalisierung nicht durch einfaches Hinzufügen von Platzhaltern für Zeichenfolgen erfolgen kann.

Wenn Sie nur Ihre Programmierkarriere verbessern möchten, können Sie Ihre Zeit viel effektiver nutzen, z. B. um Ihre vorhandenen Fähigkeiten aufzufrischen oder eine andere Programmiersprache zu lernen , vorzugsweise von einem anderen Paradigma aus .

Allerdings hat das Erlernen einer anderen Sprache viele positive direkte und Nebenwirkungen, insbesondere wenn Sie einsprachig sind. Viele Dinge, die für mehrsprachige Menschen offensichtlich erscheinen, sind tatsächlich nicht so offensichtlich, wenn Sie nicht mit verschiedenen Sprachen in Berührung gekommen sind. Ich habe zum Beispiel bemerkt, dass viele einsprachige Menschen nicht zu erkennen scheinen, dass sprachabhängige Witze (z als Wortspiele) funktionieren überhaupt nicht, wenn sie übersetzt werden. Dies kann Ihnen helfen, unsensible Fehler zu vermeiden. Mein Lieblingsbeispiel ist die apokryphe Geschichte, in der Pepsis "Come Alive" -Anzeige auf Chinesisch als "Bring Your Dead Ancestors Alive" fehlübersetzt wird . Diese zusätzliche Sensibilität ist in jeder Karriere hilfreich.

Abschließend denke ich, dass das Erlernen einer neuen Sprache große Vorteile bietet. Ich frage mich nur, ob es eine effiziente Nutzung Ihrer Zeit ist.


Ich denke, Englisch ist deine Mutter Tonge.
Tulains Córdova

@ user61852 Ich habe keine Ahnung, wie Sie das bekommen würden, aber Sie sind falsch.
Congusbongus

3

Englisch ist die Sprache der Problemlösung.

Sehen Sie sich dieses kurze Video an.

"Ihre Muttersprache ist Ihr Leben, aber mit Englisch werden Sie Teil eines umfassenderen Gesprächs, eines globalen Gesprächs über globale Probleme wie Klimawandel oder Armut ... Mathematik ist die Sprache der Wissenschaft, Musik ist die Sprache der Gefühle und jetzt Englisch wird zur Sprache der Problemlösung. "

-- Jay Walker, american inventor and entrepreneur

Ich denke, wenn das Römische Reich nicht zusammengebrochen wäre, würden wir jetzt auf Latein schreiben.

Definitiv Englisch ist die Sprache, in die man gehen muss. Meine Muttersprache ist Spanisch, und obwohl Spanisch eine der am häufigsten gesprochenen Sprachen ist, kommt die Menge an technischem Material, Dokumentation, Tutorials, Blogs, Q & A-Sites usw. auf Spanisch nicht einmal an die enorme Menge an Ressourcen auf Englisch heran .

Auch Englisch hat eine prägnante Qualität, die es in vielen Zusammenhängen eindeutig macht.

Anderer Grund: iTunes U.


1
"Englisch ist die Sprache der Problemlösung." Was bedeutet das?
Ypercubeᵀᴹ

@ypercube Sehen Sie dieses kurze Video: climateadaptation.tumblr.com/post/4895540259/…
Tulains Córdova

2

Ich spreche fließend Chinesisch und habe gelegentlich einen Blick in die Welt der chinesischen Programmierer geworfen. Der größte Teil des Lernmaterials wurde ins Englische übersetzt, so dass Sie an dieser Front nichts verpassen. Es ist jedoch interessant, kulturelle Unterschiede bei der Auswahl der Programmiertechnologie festzustellen. Zum Beispiel scheint Go in China beliebter zu sein als in jedem anderen Land. Sie können eine Google Trends-Suche nach "golang" durchführen: http://www.google.com/trends/explore?q=golang#q=golang&cmpt=q


2

Während Englisch die Sprache der De-facto-Softwareentwickler ist, konnte ich einige Male auf Community-Websites Hinweise und Lösungen in anderen Sprachen finden. Durch die automatische Übersetzung werden solche Seiten zu Brei. Es ist also schön, sie so lesen zu können, wie sie sind.

Wenn Sie mit Leuten zusammenarbeiten, die eine andere Sprache beherrschen, kann es natürlich sowohl im beruflichen als auch im persönlichen Sinne sehr gut sein, in ihrer Muttersprache kommunizieren zu können. Je nach Kenntnisstand und Ihrer Sprache ist es möglicherweise einfacher, ein paar Fachwörter in ihrer Sprache zu lernen und sich auf bequeme Weise ausdrücken zu lassen, als ihr Verständnis in eine Sprache umzuwandeln, in der es wahrscheinlicher ist, dass sie semantische Fehler machen.


Automatisierte Übersetzer übersetzen "Tabelle" in spanisches "Mesa", was bedeutet, dass auf den Möbeln, auf denen Sie Essen serviert bekommen, unabhängig vom Kontext, in dem es um Datenbanktabellen geht.
Tulains Córdova

2

Es kommt darauf an, was Sie als Karriere verstehen .

Wenn Sie als Angestellter in Ihrem Land arbeiten und dies auch weiterhin möchten, müssen Sie in der Regel keine andere Sprache als Ihre Muttersprache und Englisch sprechen. Eine Ausnahme kann sein, wenn der Hauptkunde Ihres Unternehmens ein ausländisches Unternehmen ist und Sie die Sprache dieses Unternehmens kennen sollten. Beispielsweise kooperieren viele Unternehmen aus Westpolen hauptsächlich mit deutschen Unternehmen, und Deutschkenntnisse sind ein großer Vorteil oder sogar eine Voraussetzung für die Arbeit als leitende Entwickler (während Junior-Unternehmen keinen Kontakt zum Kunden haben, müssen sie kein Deutsch sprechen) ).

Wenn Sie jedoch freiberuflich tätig sein möchten , müssen Sie die Sprache Ihres Kunden fließend sprechen. Sie können natürlich nur englischsprachige Länder ansprechen, aber wenn Sie zum Beispiel Deutsch oder Frankreich kennen, haben Sie mehr Möglichkeiten und potenziell besser bezahlte Verträge.

Wenn Sie im Ausland arbeiten möchten , kommt es darauf an. Natürlich ist Englisch die richtige Wahl, wenn Sie in die USA oder nach Großbritannien reisen. In kleinen Ländern (in Europa) gibt es viele englischsprachige Teams, sodass Sie als ausländischer Auftragnehmer auf viele englischsprachige Jobs hoffen können, zum Beispiel in Dänemark oder den Niederlanden.

Aber in großen Ländern wie Deutschland sind englischsprachige Jobs eine Ausnahme , und ohne gute Deutschkenntnisse haben Sie nur geringe Chancen, etwas zu finden. Um bestbezahlte Verträge zu erhalten, müssen Sie fließend Deutsch sprechen, aber Sie können dann wirklich gut bezahlte Jobs bekommen .


2

Das ist eine gute Frage. Ich würde argumentieren, dass es nützlich ist, eine andere gesprochene Sprache zu lernen, aus dem gleichen Grund, aus dem es nützlich ist, eine andere Programmiersprache zu lernen: Sie können über Dinge auf neue Weise nachdenken.

Englisch ist die universelle Sprache der Programmierer. Sie werden also wahrscheinlich nicht viel verpassen, weil Sie nur Englisch sprechen.


1

Offenbar sind sich alle hier einig, dass es keinen unmittelbaren Nutzen bringt, eine andere Programmiersprache direkt zu lernen (die Programmiersprachen basieren meist auf Englisch, es ist die Sprache von Lehrbüchern und Zeitschriften der Informatik usw.).

Trotzdem sind Fremdsprachenkenntnisse in vielerlei Hinsicht von Vorteil. Das ist zumindest meine Erfahrung mit dem Erlernen mehrerer Fremdsprachen. Sie lernen verschiedene Arten, Dinge in anderen Sprachen auszudrücken, und es eröffnet Ihnen neue Möglichkeiten, Dinge zu betrachten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.