It's english, get over it
Verfasst: Sonntag 11. Januar 2009, 14:55
Servus,
in letzter Zeit habe ich das recht oft wiederholt, daher mache ich hier einen längeren Post mit detailierteren Begründungen. Und zwar geht es mir um die forderung nach deutscher Dokumentation und warum ich meine dass das sinnlos und wenig zielführend ist.
Es ist so, dass Programmieren ein gewisses Vorwissen benötigt und die Programmierfähigkeiten einem nicht einfach so in den Schoß fallen. Programmieren erfordert Übung und Nachdenken, sowie Wissen um die Umgebung in der Man arbeitet und um die Konzepte die man nutzt. Erstere beiden Dinge muss man selbst leisten, letztere beiden kann man lernen. Da aber die Welt komplex ist, wird man nie auslernen und es wird immer etwas neues kommen, somit ist dieses Wissen immer im fluss. Einige neue Dinge kommen dazu, einige alte Dinge verlieren an Bedeutung. So war es immer schon und auf absehbare Zeit wird es so bleiben.
Woraus kann man nun lernen? Die meisten lernen aus einer Dokumentation, die jemand anders früher geschrieben hat, aus welchen Gründen auch immer (sei es weil er es selbst implementiert hat, oder weil er aus dem Code gelernt hat und es für die Nachwelt einfacher machen will). In der Regel ist so eine Dokumentation auf Englisch, da Englisch die Standard-Sprachwahl ist, wenn es um Computer geht. Das hat Teils historische Gründe (weil die Geschichte der Computer wie wir sie kennen stark im englischsprachingen Raum geprägt wurde) und weil Englisch eine recht populäre Sprache ist, die neben vielen Native Speaker auch eine große Anzahl der nicht-native-Speaker hat, schätzungsweise sogar mehr als Spanisch und Chinesisch die zwar mehr Leute sprechen aber diese kommen dann aus Spanisch/Chinesischsprechenden Ländern. Also wählt man in der Regel für die Dokumentation eine Sprache mit der man möglichst viele Leute erreichen kann. Das wird dann meistens Englisch sein, selbst wenn der Autor aus Albanien ist denn ein Text auf Albanisch über ein spezielles Programmierthema erreicht eben weniger Leute als der gleiche Text in Englisch. Er erreicht auch mehr Leute als wenn er in Chinesisch oder Spanisch wäre, denn der Anteil der spanischsprechenden Programmierer ist zwar groß aber nicht annähernd so groß wie der der englischsprechenden.
Also wird der Artikel auf Englisch geschrieben und der Anteil der englischsprachigen Dokumentation erhöht sich weiter. Also wenn man den Artikel lesen will braucht man zumindest grundlegende Englischkenntnisse. Das ist in vielen europäischen, asiatischen, australischem oder amerikanischen Schulen kaum ein Problem da Lehrpläne so ziemlich immer vorsehen dass mindestens eine Fremdsprache gelernt wird und in aller Regel ist diese Sprache Englisch, wenn es gar nicht die Landessprache ist. Somit kommt man in der Schule kaum um irgendwelche Englischkenntnisse nicht rum. Das wäre der erste Teil der Vorraussetzungen.
Natürlich ist so ein Programmierartikel nicht nur mit grundlegenden Englischkenntnissen verständlich, es kann durchaus sein, dass er irgendwelche noch unbekannten Begriffe verwendet. Das ist aber auch kein Problem, denn es gibt im deutschen Sprachraum das Wörterbuch von LEO, dass durchaus ziemlich brauchbar ist. In anderen Sprachräumen mag es andere Online-Wörterbücher geben oder einfach echte Wörterbücher, aus echtem Papier. Dort stehen viele Begriffe drin die man nachschauen kann. Nicht immer kann man eine zufällige Übersetzung hernehmen also muss man bischen Nachdenken (siehe oben, Grundvorraussetzung fürs Programmieren; unabhängig von der Programmier-/Natürlichen Sprache) und schauen was in dem Kontext am meisten Sinn macht.
Nun gibt es ggf. auch noch Fachwörter, die einfach nicht im Wörterbuch stehen - was ja durchaus sein kann. Diese Fachwörter sind entweder im Artikel früher eingeführt worden und wenn nicht, dann Teil der geforderten Vorraussetzungen zum Verständnis des Artikels. Dann sollte man sich aber vorher dieses Wissen aneignen; gerade Wikipedia hat zu vielen Fachbegriffen auf viele Sprachen mehr oder minder gute Erklärungen. Dieses Problem ist auch von der Sprache unabhängig. Ich kann auch kaum ein Buch für Chirurgen durchblättern und erwarten dass ich alles verstehe; selbst wenn es auf deutsch ist (was bei der Medizin wohl auch immer seltener der Fall ist). Die Möglichkeiten sich zu Informieren sind heutzutage wesentlich höher, man sollte also nicht immer erwarten dass einem das Wissen vor die Nase gestellt wird; sowas heißt heutzutage Medienkompetenz und ist ziemlich wichtig.
Nun, warum nun englische Dokumentation auch als deutsprachiger Programmierer oftmals zu bevorzugen ist hat auch mehrere Gründe. Ein erster Grund ist, dass es davon am meisten gibt. Wie oben beschrieben erscheint Dokumentation in aller Regel erst auf Englisch und dann erst (wenn überhaupt) in irgendeiner anderen Sprache; ist somit also auch fast immer am aktuellsten und am umfangreichsten. Übersetzungen haben immer das Problem, dass jemand sich die Arbeit machen muss es zu übersetzen und gerade wenn man für ein Publikum scheibt dass sowieso zu einem großen Teil Englisch kann ist das wenig motivierend und Übersetzen ist auch nicht so sonderlich spannend. Eine gute Übersetzung ist zudem recht schwer zu machen, da sie fachlich korrekt sein sollte sowie aktuell. Somit ist der Übersetzer ständig beschäftigt dem aktuellen Stand des Originals hinterherzulaufen - oder es einfach sein zu lassen und zuzusehen wie über die Jahre die Übersetzung immer wertloser wird.
Auf deutsch geschriebene Programmierbücher haben natürlich auch Vorteile für Leute die gerade anfangen, da es viele Konzepte zu verstehen gilt und es daher ggf. einfacher ist sie auf deutsch zu lesen, aber gerade wenn man aus der Konzeptlernphase raus ist, sollte dann Dokumentation wie etwa irgendwelche Funktionen auch auf englisch kein Problem sein: "function foo expects an integer, does bar and returns baz" ist in der Regel nicht so kompliziert zu verstehen wenn man die Konzepte schon kann.
Ein weiterer Faktor kommt hinzu: englische Dokumentation ist nicht immer von Native-Speakern geschrieben. Wenn man sich die Autoren der Python-Dokumentation ansieht sind da eine Menge Leute dabei, deren Landessprache nicht Englisch ist und die daher auch keine so komplexen Sätze bauen, dass andere sie nicht verstehen würden. Bei Ruby ist das auch recht ähnlich, viel war anfangs einfach auf japanisch und daher war es nur in Japan populär, wohingegen Pythons Dokumentation nicht auf niederländisch war sondern auf Englisch auch wenn sie von einem Niederländer geschrieben wurde.
Das ist aber nicht alles: es gibt eine Fachsprache. Das heißt dass wenn man die Begriffe kennt, man die Dokumentation in aller Regel recht gut versteht, weil der Sprachumfang einigermaßen beschränkt ist. Also kurz zusammengefasst: Englische Programmierdokumentation ist sehr einfach lesbar wenn man die Vorraussetzungen dafür erfüllt (daher haben Tutorial geringe Vorraussetzungen und führen viele Begriffe ein). Ich weiß noch wie es war vor einigen Jahren zum ersten man Stephen King (also Belletristik) zu lesen, da habe ich auch nichts verstanden obwohl ich mit Programmierdokumentation keine Probleme hatte. Inzwischen ist auch Belletristik für mich kein größeres Problem; an James Joyce würde ich mich aber dennoch noch nicht wagen.
Also Leute, die ihr auf deutschsprachiger Dokumentation besteht: ihr verbaut euch echt eine ganze Menge Wege. Denn wenn man etwas in der englischsprachigen Dokumentation nicht versteht, dann gibt es gerade im Python-Umfeld viele Möglichkeiten Hilfe zu bekommen.
Manchmal wird argumentiert, dass man in anderen Programmiersprachen mehr deutsprachige Quellen für Dokumentation hat, aber ehrlich: es wird niemals alles auf deutsch verfügbar sein, auch für Java nicht. Auch dort werden Bücher zuerst in englisch herausgegeben und wenn man gerade an dem Thema interessiert ist wird man wohl in den sauren Apfel beißen müssen.
Es gibt natürlich die englische Newsgroup/Mailingliste und den IRC-Channel, sowie die entsprachenden Supportstellen für andere Projekte wie Django. Aber ich sehe durchaus, dass lesen & verstehen einfacher ist als sprechen und das man sich eher schämt was falsch zu sagen als etwas falsch zu verstehen. Daher gibt es ja auch dieses Forum, die Mailingliste, die Newsgroup, den IRC-Channel. Sind alle auf deutsch, aber es wird oft vorrausgesetzt das man zumindest versucht hat die Dokumentation zu lesen, ob sie nun auf englisch oder deutsch ist. Verständnisprobleme werden, wie man schon oftmals gesehen hat gerne gelöst und das ist auch gut so.
in letzter Zeit habe ich das recht oft wiederholt, daher mache ich hier einen längeren Post mit detailierteren Begründungen. Und zwar geht es mir um die forderung nach deutscher Dokumentation und warum ich meine dass das sinnlos und wenig zielführend ist.
Es ist so, dass Programmieren ein gewisses Vorwissen benötigt und die Programmierfähigkeiten einem nicht einfach so in den Schoß fallen. Programmieren erfordert Übung und Nachdenken, sowie Wissen um die Umgebung in der Man arbeitet und um die Konzepte die man nutzt. Erstere beiden Dinge muss man selbst leisten, letztere beiden kann man lernen. Da aber die Welt komplex ist, wird man nie auslernen und es wird immer etwas neues kommen, somit ist dieses Wissen immer im fluss. Einige neue Dinge kommen dazu, einige alte Dinge verlieren an Bedeutung. So war es immer schon und auf absehbare Zeit wird es so bleiben.
Woraus kann man nun lernen? Die meisten lernen aus einer Dokumentation, die jemand anders früher geschrieben hat, aus welchen Gründen auch immer (sei es weil er es selbst implementiert hat, oder weil er aus dem Code gelernt hat und es für die Nachwelt einfacher machen will). In der Regel ist so eine Dokumentation auf Englisch, da Englisch die Standard-Sprachwahl ist, wenn es um Computer geht. Das hat Teils historische Gründe (weil die Geschichte der Computer wie wir sie kennen stark im englischsprachingen Raum geprägt wurde) und weil Englisch eine recht populäre Sprache ist, die neben vielen Native Speaker auch eine große Anzahl der nicht-native-Speaker hat, schätzungsweise sogar mehr als Spanisch und Chinesisch die zwar mehr Leute sprechen aber diese kommen dann aus Spanisch/Chinesischsprechenden Ländern. Also wählt man in der Regel für die Dokumentation eine Sprache mit der man möglichst viele Leute erreichen kann. Das wird dann meistens Englisch sein, selbst wenn der Autor aus Albanien ist denn ein Text auf Albanisch über ein spezielles Programmierthema erreicht eben weniger Leute als der gleiche Text in Englisch. Er erreicht auch mehr Leute als wenn er in Chinesisch oder Spanisch wäre, denn der Anteil der spanischsprechenden Programmierer ist zwar groß aber nicht annähernd so groß wie der der englischsprechenden.
Also wird der Artikel auf Englisch geschrieben und der Anteil der englischsprachigen Dokumentation erhöht sich weiter. Also wenn man den Artikel lesen will braucht man zumindest grundlegende Englischkenntnisse. Das ist in vielen europäischen, asiatischen, australischem oder amerikanischen Schulen kaum ein Problem da Lehrpläne so ziemlich immer vorsehen dass mindestens eine Fremdsprache gelernt wird und in aller Regel ist diese Sprache Englisch, wenn es gar nicht die Landessprache ist. Somit kommt man in der Schule kaum um irgendwelche Englischkenntnisse nicht rum. Das wäre der erste Teil der Vorraussetzungen.
Natürlich ist so ein Programmierartikel nicht nur mit grundlegenden Englischkenntnissen verständlich, es kann durchaus sein, dass er irgendwelche noch unbekannten Begriffe verwendet. Das ist aber auch kein Problem, denn es gibt im deutschen Sprachraum das Wörterbuch von LEO, dass durchaus ziemlich brauchbar ist. In anderen Sprachräumen mag es andere Online-Wörterbücher geben oder einfach echte Wörterbücher, aus echtem Papier. Dort stehen viele Begriffe drin die man nachschauen kann. Nicht immer kann man eine zufällige Übersetzung hernehmen also muss man bischen Nachdenken (siehe oben, Grundvorraussetzung fürs Programmieren; unabhängig von der Programmier-/Natürlichen Sprache) und schauen was in dem Kontext am meisten Sinn macht.
Nun gibt es ggf. auch noch Fachwörter, die einfach nicht im Wörterbuch stehen - was ja durchaus sein kann. Diese Fachwörter sind entweder im Artikel früher eingeführt worden und wenn nicht, dann Teil der geforderten Vorraussetzungen zum Verständnis des Artikels. Dann sollte man sich aber vorher dieses Wissen aneignen; gerade Wikipedia hat zu vielen Fachbegriffen auf viele Sprachen mehr oder minder gute Erklärungen. Dieses Problem ist auch von der Sprache unabhängig. Ich kann auch kaum ein Buch für Chirurgen durchblättern und erwarten dass ich alles verstehe; selbst wenn es auf deutsch ist (was bei der Medizin wohl auch immer seltener der Fall ist). Die Möglichkeiten sich zu Informieren sind heutzutage wesentlich höher, man sollte also nicht immer erwarten dass einem das Wissen vor die Nase gestellt wird; sowas heißt heutzutage Medienkompetenz und ist ziemlich wichtig.
Nun, warum nun englische Dokumentation auch als deutsprachiger Programmierer oftmals zu bevorzugen ist hat auch mehrere Gründe. Ein erster Grund ist, dass es davon am meisten gibt. Wie oben beschrieben erscheint Dokumentation in aller Regel erst auf Englisch und dann erst (wenn überhaupt) in irgendeiner anderen Sprache; ist somit also auch fast immer am aktuellsten und am umfangreichsten. Übersetzungen haben immer das Problem, dass jemand sich die Arbeit machen muss es zu übersetzen und gerade wenn man für ein Publikum scheibt dass sowieso zu einem großen Teil Englisch kann ist das wenig motivierend und Übersetzen ist auch nicht so sonderlich spannend. Eine gute Übersetzung ist zudem recht schwer zu machen, da sie fachlich korrekt sein sollte sowie aktuell. Somit ist der Übersetzer ständig beschäftigt dem aktuellen Stand des Originals hinterherzulaufen - oder es einfach sein zu lassen und zuzusehen wie über die Jahre die Übersetzung immer wertloser wird.
Auf deutsch geschriebene Programmierbücher haben natürlich auch Vorteile für Leute die gerade anfangen, da es viele Konzepte zu verstehen gilt und es daher ggf. einfacher ist sie auf deutsch zu lesen, aber gerade wenn man aus der Konzeptlernphase raus ist, sollte dann Dokumentation wie etwa irgendwelche Funktionen auch auf englisch kein Problem sein: "function foo expects an integer, does bar and returns baz" ist in der Regel nicht so kompliziert zu verstehen wenn man die Konzepte schon kann.
Ein weiterer Faktor kommt hinzu: englische Dokumentation ist nicht immer von Native-Speakern geschrieben. Wenn man sich die Autoren der Python-Dokumentation ansieht sind da eine Menge Leute dabei, deren Landessprache nicht Englisch ist und die daher auch keine so komplexen Sätze bauen, dass andere sie nicht verstehen würden. Bei Ruby ist das auch recht ähnlich, viel war anfangs einfach auf japanisch und daher war es nur in Japan populär, wohingegen Pythons Dokumentation nicht auf niederländisch war sondern auf Englisch auch wenn sie von einem Niederländer geschrieben wurde.
Das ist aber nicht alles: es gibt eine Fachsprache. Das heißt dass wenn man die Begriffe kennt, man die Dokumentation in aller Regel recht gut versteht, weil der Sprachumfang einigermaßen beschränkt ist. Also kurz zusammengefasst: Englische Programmierdokumentation ist sehr einfach lesbar wenn man die Vorraussetzungen dafür erfüllt (daher haben Tutorial geringe Vorraussetzungen und führen viele Begriffe ein). Ich weiß noch wie es war vor einigen Jahren zum ersten man Stephen King (also Belletristik) zu lesen, da habe ich auch nichts verstanden obwohl ich mit Programmierdokumentation keine Probleme hatte. Inzwischen ist auch Belletristik für mich kein größeres Problem; an James Joyce würde ich mich aber dennoch noch nicht wagen.
Also Leute, die ihr auf deutschsprachiger Dokumentation besteht: ihr verbaut euch echt eine ganze Menge Wege. Denn wenn man etwas in der englischsprachigen Dokumentation nicht versteht, dann gibt es gerade im Python-Umfeld viele Möglichkeiten Hilfe zu bekommen.
Manchmal wird argumentiert, dass man in anderen Programmiersprachen mehr deutsprachige Quellen für Dokumentation hat, aber ehrlich: es wird niemals alles auf deutsch verfügbar sein, auch für Java nicht. Auch dort werden Bücher zuerst in englisch herausgegeben und wenn man gerade an dem Thema interessiert ist wird man wohl in den sauren Apfel beißen müssen.
Es gibt natürlich die englische Newsgroup/Mailingliste und den IRC-Channel, sowie die entsprachenden Supportstellen für andere Projekte wie Django. Aber ich sehe durchaus, dass lesen & verstehen einfacher ist als sprechen und das man sich eher schämt was falsch zu sagen als etwas falsch zu verstehen. Daher gibt es ja auch dieses Forum, die Mailingliste, die Newsgroup, den IRC-Channel. Sind alle auf deutsch, aber es wird oft vorrausgesetzt das man zumindest versucht hat die Dokumentation zu lesen, ob sie nun auf englisch oder deutsch ist. Verständnisprobleme werden, wie man schon oftmals gesehen hat gerne gelöst und das ist auch gut so.