Welche natürliche Sprache hat den Vorteil, wenn es um Programmierung geht? [geschlossen]


21

Die sprachliche Relativitätstheorie ist der Gedanke, dass Sprache unser Denken prägt. Meine Frage ist, wie viel und inwieweit dies für die Programmierung gilt.

  • Sind einige natürliche Muttersprachen besser geeignet, um über Programmierung nachzudenken als andere? Kann zum Beispiel das Folgende in einer nicht englischen Sprache präziser formuliert werden? Select a pivot. Move all the items less than the pivot to one side of the list, and all the items greater than the pivot to the other side.
  • Ist ein chinesisch sprechender Programmierer View-Programmierung in einer radikal anderen Linse als ein englischsprachigen Programmierer will, oder die Unterschiede verblassen, wenn beide in dem Thema eingetaucht sind?
  • Sind einige Programmiersprachen und Domänen in der einen oder anderen Sprache leichter zu verstehen? Ist es zum Beispiel einfacher, Ruby zu grillen, wenn Sie Japaner sind, weil der Schöpfer von Ruby Japaner ist?

Beachten Sie, dass diese Frage konzentriert sich nicht auf „wie Programmiersprachen beeinflussen die Art und Weise denken die Leute über die Programmierung“, sondern „wie tun natürlich beeinflussen Sprachen, wie die Leute denken, über die Programmierung“.

Um das aus dem Weg zu räumen, ist Englisch eine Sprache, die eindeutig einen pragmatischen Vorteil hat . Ich denke , der Vorteil wenig mit Programmiersprachen Auswahl Englisch Schlüsselwort wie zu tun hat if, for, while, und do, ebenso wie Musiker , die kein Italienisch sprechen nicht durch Worte wie gestolpert forte . Es hat mehr mit der Kommunikation von Ideen mit anderen Programmierern zu tun, da Englisch heutzutage die Verkehrssprache ist, zumindest in der Programmierwelt. Wenn Sie beispielsweise in StackOverflow eine Frage stellen möchten, müssen Sie wirklich Englisch und ziemlich gut Englisch sprechen, um gute Antworten zu erhalten. Obwohl dies nach einer imperialistischen Haltung klingt, ist es in der Praxis wirklich wahr.

Abgesehen davon, wie wirken sich die intrinsischen Eigenschaften von Sprachen darauf aus, wie Programmierer, die sie sprechen, über Datenstrukturen, Algorithmen usw. denken? Sind Sprachen besonders prägnant, wenn es um Logik und Programmierung geht, damit Muttersprachler dieser Sprachen schneller denken können?


2
Das können Sie ganz einfach jedem kompetenten Programmierer mitteilen. Implement quick sort.
Josh K

Antworten:


3

Ah, die Sapir-Whorf-Hypothese gegen die Chomsky-Deep-Structure-Hypothese wars ...

Die Programmierung ist Mathematik. Die Mathematik ist angewandte Philosophie. Dann stellt sich die Frage, welche natürliche Sprache mathematische Konzepte ohne nennenswerte Kopfkratzer exakt beschreiben kann. Anders ausgedrückt, welche Sprachen können mit aristotelischer Metaphysik leicht umgehen?

Die sprichwörtliche "wilde" Sprache kann anfänglich Schwierigkeiten haben , die erforderlichen Abstraktionen erster Ordnung auszudrücken. However- aber! - Menschen können neue Wörter und neue Konzepte lernen. Altgriechisch begann nicht mit philosophischen Begriffen aus; Sie mussten erfunden und dann auf andere Sprachen portiert werden.

In Anbetracht dessen, dass Mathematik universell ist, postuliere ich, dass die starke Sapir-Whorf-Hypothese falsch ist.


"Mathematik ist angewandte Philosophie" Erklären?
Frank Shearar

1
@Frank: Historisch war das der Fall. Wenn Sie einen flüchtigen Blick auf 'Grundlagen der Mathematik' werfen, wird es ziemlich offensichtlich, dass es philosophisch begründet ist. ZB das ganze intuitionistische Argument.
Paul Nathan

Ich werde nicht argumentieren, dass einige mathematische Fragen philosophisch sind, wie Sie sagen. Davon scheint mir ein großer Schritt entfernt zu sein: "Mathematik ist angewandte Philosophie".
Frank Shearar

@Frank: Nun, wenn die Grundlagen der Mathematik philosophisch sind, dann scheint es, dass das, was von den Grundlagen abgeleitet wird, auch philosophisch ist. Nein? Ja?
Paul Nathan

1
@Frank: Schrecklich, oder? Ich wette, jetzt kichert ein Major der Freien Künste aus seiner Latte. :)
Paul Nathan

13

Ich weiß nicht, ob sich eine bestimmte natürliche Sprache für eine bessere Programmierung eignet (außer vielleicht Latein?). Ich weiß, dass es ziemlich mächtig ist , mehr als eine Sprache zu kennen .

Dijkstra sagte in einem seiner letzten Interviews (nachgedruckt in CACM Vol. 53 Nr. 8, S. 44):

Es gibt einen enormen Unterschied zwischen jemandem, der einsprachig ist, und jemandem, der zumindest eine zweite Sprache gut beherrscht, weil man sich dadurch der Sprachstruktur im Allgemeinen viel bewusster wird. Sie werden feststellen, dass bestimmte Konstruktionen in einer Sprache nicht übersetzt werden können.


6

Türkisch ist eine sehr interessante Sprache, da sie ausnahmslos strenge Regeln enthält (die mir bekannt sind), nahezu vollkommen redundanzfrei ist, kein grammatikalisches Geschlecht hat und mit Worten so viel ausdrücken kann wie ein Satz in Englisch.

In der Vergangenheit "Çekoslovakyalılaştıramadıklarımızdan mısınız?" was bedeutet "Gehören Sie zu den Leuten, die wir nicht aus der Tschechoslowakei kennen?" war sehr beliebt und wurde als das längste türkische Wort akzeptiert. Die Frage-Suffixe (in diesem Fall "mısınız") werden jedoch separat geschrieben. Obwohl es sich um ein Wort handelt, sieht es beim Schreiben des Wortes wie zwei Wörter aus. Auch längere Versionen dieses Wortes könnten leicht gemacht werden, wie "Çekoslovakyalılaştırabildiklerimizden miydiniz?". Aus diesen Gründen hat das Wort an Popularität verloren, ist aber in der Türkei immer noch ein beliebter Zungenbrecher.

Wenn ich auf Türkisch spreche, denke ich darüber nach, was ich erreichen möchte, welche Informationen ich übermitteln möchte und weniger darüber, welche Wörter ich verwenden soll.

bearbeiten
Natürlich Türkisch hat also das biologische Geschlecht darzustellen. Aber es hat keine Trennung in er / sie / es - auf Türkisch "o".

Oder auf Spanisch würde man "profesor / profesora" und auf Deutsch "Lehrer / Lehrerin" sagen. In der türkischen Sprache müssen Sie zusätzliche Wörter verwenden, um das Geschlecht anzugeben - ähnlich wie in der englischen Sprache.
In der türkischen Lehrer ist öğretmen. Um auf eine Lehrerin hinzuweisen, würde man "kadın öğretmen" - Lehrerin sagen. Aber trotz Deutsch, wo - wenn nicht durch Hinzufügen eines "-in" femalisiert - der Standard männlich ist, hat öğretmen kein Geschlecht, wie es nicht gibt.

Eine andere Sache, die auf Türkisch nicht verfügbar ist, sind Artikel wie "el / la", "the", "der / die / das" - da es sich normalerweise nur um Informationen handelt, die im Kontext bereits verfügbar sind.
Aber es gibt Wörter, die "dies", "este / esta", "diese / dieses / diese" ausdrücken, zum Beispiel "bu".
Dies sind zusätzliche Informationen, da sie auf ein bestimmtes Objekt zeigen.


1
Woher kommen die kleinen Türken ohne grammatikalischen Sex? (Übrigens, als ich die Frage sah, aber bevor ich hierher schaute, dachte ich an Türkisch. Obwohl ich sie nicht spreche, habe ich gehört, wie regelmäßig sie ist.)
Randall Schulz

Anscheinend ist die Syntax von Smalltalk der türkischen noch näher als der englischen: smalltalk.gnu.org/blog/zuluuuuu/smalltalk-and-turkish
Frank Shearar

@Frank Shearer: Zeit, Smalltalk zu lernen!
VikingoS sagt Reinstate Monica

@Randall Schulz: Du hast mich erwischt;) Ich verwechsele immer den Begriff Geschlecht und Geschlecht ...
VikingoS sagt Reinstate Monica

Ich habe gehört, dass Sanskrit laut einer Studie einer Computersprache am ähnlichsten ist, man kann es googeln. Ich bin mir nicht sicher, wie wahr das sein kann, aber da Sanskrit als Mainstream-gesprochene Sprache nie aufgehört hat und in der Wissenschaft auch für technische Studien verwendet wurde, ist es wahrscheinlich, dass es sich von den natürlichen gesprochenen Sprachen von heute unterscheidet. Türkisch klingt in meinen Ohren sehr süß (nur akustisch), aber wenn alles und Sanskrit wie Programmiersprachen sprechen, Junge, wäre das sehr langweilig. Das Letzte, was ich hören möchte, wenn ich gefragt werde: "Ist es ein Junge oder ein Mädchen?" ist ja".
Nawfal

2

Ich denke, es ist wahrscheinlicher, dass die von Ihnen verwendete Programmiersprache die Art und Weise beeinflusst, wie Sie über das Problem denken. Die Variablen- und Klassennamen usw. sind nur Zeichen, die etwas darstellen. Obwohl es sehr wahrscheinlich ist, dass Programmierer in verschiedenen Kulturen aufgrund ihrer gesprochenen Sprache und der Art und Weise, wie sie gelernt haben, unterschiedlich über das Programmieren denken.


1

Meiner Meinung nach spielt die natürliche Sprache keine Rolle (oder sollte es zumindest nicht sein), wenn Sie über die Methoden oder Ideen sprechen, die Sie mit Ihrem Code umsetzen möchten.

Wie Sie selbst sagten, ist Englisch am besten geeignet , wenn Sie mit dem Code selbst arbeiten und Dokumentationen über den Code schreiben . Aber da der Code selbst nur ein Handwerk ist , liegt die wahre Stärke eines Programmierers / Informatikers darüber, dass es sich um Ideen, Algorithmen und dergleichen handelt - und dann ist die Sprache, in der diese Dinge beschrieben werden, für den tatsächlichen Inhalt völlig unwichtig.


0

Dies war ein Thema, an dem ich mich irgendwann sehr interessiert hatte, daher meine (jetzt) ​​noch größere Trauer, dass ich die Lesezeichen, die ich damals hatte, nicht finden konnte.

Ich habe einen Link gespeichert, über den ich neulich gestolpert bin: Sind verschiedene Sprachen gleich verschiedenen Realitäten? das tangiert etwas drauf (lest auch die Kommentare). Einige sind interessant.

Sowieso ...


-1

Englisch ist eigentlich ziemlich effizient und prägnant. Die Übersetzung in die meisten Sprachen verlängert die Ausdrucksfähigkeit einer Idee .

Es ist auch allgemein anerkannt, dass es keine primitiven natürlichen Sprachen gibt . Alle aktiven natürlichen Sprachen sind gleichermaßen ausdrucksstark. Das heißt nicht, dass Ideen nicht durch Sprache geformt werden, aber ich denke nicht, dass natürliche Sprache einen großen Einfluss hat.


Ich finde, dass Chinesisch die knappste Sprache ist, die mir je begegnet ist, sowohl in Wort und Schrift. Die Übersetzungslänge beträgt in der Regel etwas mehr als die Hälfte des Englischen.
Jon Purdy

4
Aber ist die Symbolkomplexität nicht nur höher?
Joeri Sebrechts

Chinesisch ist APL der gesprochenen Sprachen, die Sie meinen? :)
Nawfal
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.