Чи вивчив би будь-яку природну мову, зокрема, подальшу кар’єру програмування? [зачинено]


52

Мабуть, очевидно, що англійська мова є домінуючою міжнародною мовою для програмування, заснованої на попередніх питаннях P.SE (хоча високооцінений коментар правильно вказує на те, що задавати подібне запитання на веб-сайті, що переважно є англійським, буде перекручено результати).

Однак чи є користь у вивченні іноземної мови для розробки програмного забезпечення? Наприклад, чи мають китайці абсолютно різні програмні засоби, мови, технології тощо? Як щодо японської, російської та інших не латинських мов? Чи існує цілий світ мов, інструментів розробки програмного забезпечення тощо, які існують лише в цих інших мовах?

Або люди, які знають ці мови, використовують інструменти та мови, які ми знаємо і любимо?


2
+1. Приємне запитання. Мені було б цікаво знати себе.
Ніл

2
Менш поширені мови часто мають книги / підручники, написані рідною мовою автора. Наприклад, довгий час більшість речей Ruby були японськими, перш ніж вона стала популярною.
jozefg

6
У старі часи було корисно знати японську, якщо ви розробник консольних відеоігор.
Давид Сергій

2
Цікава сторінка, пов’язана з цим у Вікіпедії про не-англійські мови програмування .
Олександр

1
Я працював з китайськими та російськими розробниками, і вони працювали англійською мовою, тому я б сказав, що, хоча завжди корисно підвищувати свої навички, зусилля щодо вивчення важкої мови (під якою я маю на увазі, що вона не використовує західний алфавіт) ймовірно, мізерно.
Тепла хвиля

Відповіді:


44

Я збираюся відповісти на ваше титульне запитання. Відповідь "так", але не з причин, які ви шукаєте. Будучи багатомовним в розмовних мовах, ІМО може допомогти вам відокремити ідеї від речей, які використовуються для їх вираження. З подібних причин я рекомендую вивчити принаймні одну синтаксичну мову, яка не базується на мові, якщо ви почали з неї.


17
+1 Знання кількох людських мов може допомогти з абстрактною думкою, що часто застосовується при розробці програмного забезпечення.
Аллан

4
+1 (більше, якщо я міг) Я бачив, що занадто багато людей створюють проблеми для себе, оскільки вони не могли зрозуміти різницю між поняттям і словами, що використовується для його опису.
Антон

3
Я вважаю, що знання підписаної мови, як-от ASL, дає вам інший погляд на мови в цілому
TruthOf42

1
@ TruthOf42 принаймні ви не знайдете код, коментований в ASL.
nalply

1
@EricDong я не знаю. Норвезьку я вивчив, коли мені було 7-8 років. Я роблю враження від взаємодії з людьми протягом багатьох років, що багато людей не регулярно ловлять себе на думці невербально. Я думаю, що знання кількох розмовних мов багато допоможе в цьому. Знання ASL, можливо, допоможе ще більше. І звичайно, вивчення багатьох мов програмування з дуже різних шкіл дизайну теж дуже допомагає. Я паршивий поет, але я підозрюю, що це багато чого. Чим більше ви бачите за завісою слів, тим ефективніше ви висловлюєте будь-яку ідею.
Ерік Реппен

13

Ні. Ви не пропускаєте жодного навчального матеріалу.
Будучи носієм голландської мови, я можу пообіцяти, що моє середовище розробки + більшість моїх довідкових матеріалів написані англійською мовою. Є кілька навчальних програм, написаних іншою мовою, але я можу запевнити, що в жодній із них немає ніякої магії.

Однак я можу уявити, що документація щодо API / веб-служб / проектів або коментарі у вихідному коді може бути іншою мовою, ніж англійською. Для цього я б запропонував вам висвітлити деякі найбільш розмовні мови: іспанську, арабську та китайську


5
Це, звичайно, також буде залежати від обраного поля - для ігор, я думаю, японці можуть бути дуже зручними ....
Clockwork-Muse

Я працював над кодом, коментуючи трьома різними мовами: французькою, англійською та німецькою.
nalply

12

Це може мати сенс, коли ви хочете спеціалізуватися на певній технології, яка була розроблена в не-англійській країні.

Наприклад, SAP - німецька компанія. SAP ERP, що є програмним забезпеченням, яке зазвичай називають "SAP", має більшість модулів програмного забезпечення користувача, написаних на власній мові програмування SAP. Як розробник ви можете (і часто доводиться) дивитися на код ABAP.

Десятиліття тому більшість розробок ABAP відбувалися в Німеччині, і не було політики, що коментарі та ідентифікатори повинні бути англійською мовою, тому ви знайдете багато німецької мови у застарілому коді ABAP.

Як розробник ABAP мені часто потрібно налагоджувати застарілий код, написаний SAP. Я є носієм німецької мови, тому для мене постійно подумки перемикатися між німецькою та англійською мовами, але мені дуже шкода всіх, хто не розмовляє німецькою мовою, і раптом опиняється у вихідному коді, прокоментованому німецькою мовою.

Ви також знайдете німецьку мову в старих API. Наприклад, поточний час знаходиться у глобальній змінній SY-UZEIT. "Uzeit" - скорочення "Uhrzeit", що є німецькою для "Час дня". CustomerID - це KUNNR("Kundennummer"), сума грошей у домашній валюті - BETRH("Betrag - Hauswährung") тощо.

Я чув анекдоти про бідних ненімецьких програмістів ABAP, які мають словник німецької мови біля свого довідника ABAP.


У мене був подібний досвід роботи з TYPO3.
liori

9

Якщо ви не плануєте свою кар'єру на місці, наприклад, у Китаї, який має самодостатній ринок, я б покладався на думку, що англійської мови більш ніж достатньо. Хоббіст може використовувати інші мови, але в усіх платних творах, які я бачив де-небудь навколо англійської мови, це була мова з дорученням. З практичних причин теж.

З іншого боку, знання більше мов може допомогти вашій кар’єрі в супутникових заходах. Багато програм локалізовано, і для перекладу, і для тестування потрібні люди, які володіють цільовою мовою. Це цінна «майстерність». Тож якщо у вас є спорідненість до цього, просто продовжуйте вчитися.


1
ІМО, як правило, є помилкою використовувати перекладача, який не був розмовляв цільовою мовою. Багато американців можуть бути досить компетентними перекладати іноземну мову на англійську, але дуже мало хто буде компетентний перекласти англійську мову на іншу.
кевін клайн

2
звичайно, і програміст також буде марно перекладачем - але добре, якщо він зможе помітити проблеми, пов'язані з l10n
Balog Pal

8

Так, вивчення іншої мови продовжить вашу кар’єру програмування. Це тому, що, на мою думку, вивчення іншої мови продовжить будь-яку кар’єру.

Це з кількох причин, деякі з яких уже торкалися вище:

  • Вивчення іншої мови розширить ваш кругозір; це обов'язково підведе вас до аспектів іншої культури та способу мислення та дасть вам досвід у зіставленні цього з вашими власними думками. Очевидно, це має паралелі з програмуванням, але це також загалом корисна навичка спілкування між особами.
  • Вивчення іншої мови (особливо другої) допоможе вам зрозуміти, як працює ваша мова, тому що ви змушені аналізувати, як працює граматика нової мови та як вона відображає граматику вашої власної мови, а не сліпо визнаючи це " так воно і є ». Навіть якщо ви використовуєте лише рідну мову в своїй кар’єрі, краще розуміння цього допоможе вам ефективніше спілкуватися.
  • Навіть трохи знання іншої мови може змусити вас виглядати справді добре. Усі, крім найменших компаній, повинні мати справу з іноземними постачальниками чи замовниками. Навіть якщо ви обидва ведете свій бізнес англійською мовою, можливість обмінятися невеликими приємностями (наприклад, привітаннями) з людьми рідною мовою створює гарне враження. Доступність для створення гарного враження збільшить ваше становище у вашій компанії.
  • Знання іншої мови допоможе вам ефективніше спілкуватися з носіями цієї мови, навіть якщо ви використовуєте рідну мову. Це тому, що ви можете помітити спроби використовувати конструкції, які є загальними в іноземній мові, і отримати значення від них, навіть якщо вони не настільки зрозумілі у вашій власній. Так само це допоможе вам помітити та зрозуміти будь-яких помилкових друзів, які можуть з’явитися.
  • Знання мови відкриває можливість працювати в країнах, де цією мовою розмовляють. Це розширює наявний у вас потенційний доступ, що, у свою чергу, означає, що у вас буде більше можливостей для подальшої кар’єри.

Отже, щоб відповісти прямо на ваші запитання: Чи вивчить іноземна мова відкриє дивовижне нове коло мов програмування та навчальні ресурси? Ні. Це зробить вас кращим програмним інженером? Напевно, не безпосередньо. Але чи допоможе вам зробити вас кращою, всебічнішою, більш працездатною людиною та просунути свою кар’єру? Абсолютно.


2
+1! Якщо говорити ширше: це тому, що навчитися будь-чому (для більшості цінностей будь-якого) сприятиме будь-якій кар’єрі. Але не тільки це. Більш освічена людина просто має краще життя.
Інго

Неанглійські люди бачать слабкість англійської мови, коли API не зосереджені на технічній математиці чи бізнесі. Мислення мовою та переклад на іншу (з різним правилом, синтаксисом, граматикою) потребують творчості, уяви та гумору.
cl-r

7

Якщо англійська мова є вашою рідною мовою, вивчення іноземної мови, ймовірно, не допоможе вашій кар’єрі програмування безпосередньо. Особисто я вважаю, що знання іноземних мов - це дуже гарна загальна вправа, яка розширює ваш кругозір ("Wie viele Sprachen du sprichst, sooftmal bist du Mensch"), але якщо ви дивитесь лише на миттєві вигоди, то це, мабуть, не варто суєти.

Самореалізація осторонь, ось деякі ситуації, в яких, я думаю, ви могли б отримати користь від знання іноземної мови з суто прагматичних причин:

  • Співпраця з партнерами або замовниками з-за кордону. Навіть якщо ви не знаєте достатньо добре мови для спілкування, знання деяких основ може дати вам знати про проблеми, які можуть виникнути у спілкуванні, або проблеми, які можуть мати користувачі іноземних мов із вашим продуктом.
  • Робота над будь-яким продуктом, який потрібно добре інтернаціоналізувати. Не знаючи основ якоїсь іноземної мови, можливо, вам залишиться цікаво, для чого потрібні всі складні бібліотеки i18n (наприклад, чому повідомлення "% d нових повідомлень" може вимагати декількох різних перекладів на одну і ту ж мову залежно від значення% d) .
  • Це допомагає зрозуміти складності правильної обробки Unicode.

Однак, як уже згадувалося раніше, у багатьох ситуаціях переваги не будуть варті зусиль, якщо ви дивитесь лише на негайні прибутки.


6

Англійська мова є домінуючою мовою в цій галузі, не тільки в країнах ЄС та США.

Як носій китайської мови, я знаю, що люди там використовують один і той же набір ОС, мов програмування та інструментів. Частина з них перекладається на китайську мову, решта не такі складні, як англійські романи. Є кілька «китайських мов програмування», які мають китайські ключові слова, вони широко не використовуються і навіть не вважаються серйозними матеріалами.

Зараз я живу в Японії і бачу подібні речі тут. Так що, принаймні, я не думаю, що знання китайської, японської чи іншої загадкової природної мови може надати доступ до незамінних ресурсів.

З іншого боку, я отримав користь від (не вказаної мови) теорії семантики. І в природній мові, і в мові програмування мені це допомогло розрізнити та уточнити вирази таким чином, як огляд коду.


5

Єдина пряма користь від вивчення іншої мови - це краще оцінити проблеми навколо i18n . Тобто, як і у форматах дат, для граматики існують різні правила, такі що локалізацію неможливо зробити, просто додавши заповнювачі для рядків.

Якщо ви просто хочете вдосконалити свою кар’єру програмування, є набагато ефективніше використання вашого часу, як-от зміцнення наявних навичок або вивчення іншої мови програмування , бажано з іншої парадигми .

Сказавши це, існує багато корисних прямих та побічних ефектів для вивчення іншої мови, особливо якщо ви одномовні. Багато речей, які здаються очевидними для багатомовних людей, насправді не такі очевидні, якщо ви не зазнавали різних мов, наприклад, я помітив, що багато одномовних людей, схоже, не усвідомлюють, що жарти, залежні від мови (такі як каламбури) взагалі не працюють при перекладі. Це може допомогти вам утримати нечутливі промахи, серед яких моїм улюбленим прикладом є апокрифічна історія того, що рекламу Пепсі "ожив", що її перекладають китайською мовою як "приведення живих мертвих предків" . Наявність цієї додаткової чутливості корисно в будь-якій кар’єрі.

На закінчення, я думаю, вивчення нової мови дає великі переваги; Я просто сумніваюся, чи ефективно це використовувати ваш час.


Я думаю, що англійська мова - це ваша мати матері.
Тулен Кордова

@ user61852 Я поняття не маю, як ви це отримаєте, але ви помиляєтесь.
congusbongus

3

Англійська мова є мовою вирішення проблем.

Подивіться це коротке відео.

"Твоя рідна мова - це твоє життя, але з англійською ти стаєш частиною ширшої розмови, глобальної розмови про глобальні проблеми, як-от зміни клімату чи бідність ... математика - це мова науки, музика - мова емоцій, а тепер англійська стає мовою вирішення проблем ".

-- Jay Walker, american inventor and entrepreneur

Я здогадуюсь, якби Римська імперія не розпалася, ми б писали латинською мовою прямо зараз.

Однозначно англійська мова - це мова. Моя рідна мова - іспанська, і хоча іспанська мова є однією з найбільш широко розмовних мов, кількість технічного матеріалу, документації, навчальних посібників, блогів, сайтів з питань питань тощо тощо на іспанській мові навіть не наближається до великої кількості ресурсів англійською мовою .

Також англійська мова має стислий рівень якості, що робить його однозначним у багатьох контекстах.

Інша причина: iTunes U.


1
"Англійська мова - це мова вирішення проблем." Що це означає?
ypercubeᵀᴹ

@ypercube Дивіться це коротке відео : limateadaptation.tumblr.com/post/4895540259/…
Tulains Córdova

2

Я вільно володію китайською мовою і при нагоді заглядав у світ китайських програмістів. Більшість їх навчального матеріалу - це переклади англійською мовою, тому ви нічого не пропускаєте на цьому фронті. Однак цікаво бачити культурні відмінності у виборі технології програмування. Наприклад, Go здається популярнішим у Китаї, ніж у будь-якій іншій країні. Ви можете перевірити, чи виконуються пошукові тенденції в google для "golang": http://www.google.com/trends/explore?q=golang#q=golang&cmpt=q


2

Хоча англійська мова є мовою розробників програмного забезпечення де-факто, мені кілька разів вдалося знайти підказки та рішення на сайтах спільноти іншими мовами. Автоматизований переклад створює каші з таких сторінок, тому приємно мати можливість читати його як є.

Звичайно, якщо ви працюєте з людьми, які володіють іншою мовою, це може бути дуже добре, як в професійному, так і в особистому розумінні, мати можливість спілкуватися рідною мовою. Залежно від їх рівня та вашого, можливо, буде простіше навчитися пару технічних слів на їхній мові та змусити їх висловитись найзручнішим способом, ніж перейняти своє розуміння мовою, де вони, швидше за все, роблять смислові помилки.


Автоматизовані перекладачі перекладають "стіл" на іспанську "меса", що означає меблі, на яку вам подають їжу, незалежно від контексту, що стосується таблиць бази даних.
Тулен Кордова

2

Це залежить від того, що ви розумієте як кар'єру .

Якщо ви працюєте працівником у своїй країні, і хочете, щоб вона залишалася такою, зазвичай вам не потрібно знати будь-яку мову, крім рідної та англійської. Виняток може бути, коли основним клієнтом вашої компанії є іноземна компанія, і ви повинні знати мову цієї компанії. Наприклад, багато компаній із західної Польщі співпрацюють в основному з німецькими компаніями, і знання німецької мови є великою перевагою або навіть вимогою для роботи старшими розробниками (в той час як юніори не мають контакту з замовником, вони не зобов'язані розмовляти німецькою ).

Однак, якщо ви хочете бути фрілансером , вам потрібно вільно володіти мовою свого клієнта. Звичайно, ви можете орієнтуватися лише на англомовні країни, але, знаючи, наприклад, німецьку чи Францію, ви надаєте більше можливостей та потенційно краще оплачувані контракти.

Якщо ви хочете працювати за кордоном , це залежить. Звичайно, їдучи до США чи Великобританії, англійська мова є правильним вибором. У малих країнах (у Європі) є багато англомовних команд, тому як іноземний підрядник можна сподіватися на багато англомовних робочих місць, наприклад, у Данії чи Нідерландах.

Але у великих країнах, таких як Німеччина, англомовні робочі місця є винятком , і не знаючи німецької мови, у вас є маленькі шанси щось знайти. Щоб отримати найкращі оплачувані контракти, вам потрібно вільно розмовляти німецькою мовою, але ви зможете отримати справді добре оплачувані роботи .


2

Це гарне запитання. Я заперечую, що корисно вивчати іншу розмовну мову з тієї ж причини, що корисно вивчити іншу мову програмування: вона дозволяє думати про речі по-новому.

На краще чи гірше, англійська мова є універсальною мовою програмістів. Тож ви, швидше за все, не пропустите багато чого лише завдяки розмові англійською мовою.


1

Схоже, всі люди тут, мабуть, згодні з тим, що немає безпосередньої вигоди від вивчення іншої мови для програмування безпосередньо (мови програмування здебільшого базуються на англійській мові, це мова підручників та журналів з інформатики тощо).

Тим не менш, знання іноземної мови вигідно багатьма способами. Принаймні, про це говорить мені мій досвід вивчення кількох іноземних мов. Ви дізнаєтесь різні способи вираження речей іншими мовами, і це відкриє вам нові способи погляду на речі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.