Будет ли изучение какого-либо естественного языка, в частности, вашей карьере программиста? [закрыто]

52

Кажется очевидным, что английский является доминирующим международным языком для программирования, основанным на предыдущих вопросах P.SE (хотя комментарий с высоким голосом правильно указывает на то, что задание такого вопроса на преимущественно английском сайте искажает результаты).

Однако есть ли польза в изучении иностранного языка для разработки программного обеспечения? Например, есть ли у китайцев совершенно разные программные инструменты, языки, технологии и т. Д.? Как насчет японского, русского и других нелатинских языков? Существует ли целый мир языков разработки программного обеспечения, инструментов и т. Д., Которые существуют только на этих других языках?

Или люди, которые знают эти языки, используют инструменты и языки, которые мы знаем и любим?

анонимное
источник
2
+1. Хороший вопрос Мне было бы интересно узнать себя.
Нил
2
Менее распространенные языки часто имеют книги / учебные пособия, написанные на родном языке их автора. Например, долгое время большинство Ruby было японским, пока оно не стало популярным.
jozefg
6
В старые времена было полезно знать японский язык, если вы были разработчиком консольных видеоигр.
Давид Сергей
2
Интересная страница, связанная с этим в Википедии о неанглийских языках программирования .
Александр
1
Я работал с китайскими и русскими разработчиками, и они работали на английском языке, поэтому я бы сказал, что, хотя всегда полезно повышать свои навыки, усилия по изучению сложного языка (я имею в виду, что он не использует западный алфавит) вероятно, незначительный.
Тепловая

Ответы:

44

Я собираюсь ответить на ваш заглавный вопрос. Ответ - да, но не по тем причинам, которые вы ищете. Будучи многоязычным в разговорных языках, IMO может помочь вам отделить идеи от того, что использовалось для их выражения. По тем же причинам я рекомендую изучать хотя бы один язык синтаксиса без c, если вы начали с него.

Эрик Реппен
источник
17
+1 Знание нескольких человеческих языков может помочь с абстрактным мышлением, и это часто применимо при разработке программного обеспечения.
Аллан
4
+1 (больше, если бы я мог) Я видел, как слишком много людей создавали проблемы для себя, потому что они не могли понять разницу между понятием и словами, используемыми для его описания.
Антон
3
Я считаю, что знание языка жестов, такого как ASL, дает вам другой взгляд на языки в целом
TruthOf42
1
@ TruthOf42, по крайней мере, вы не найдете код с комментариями в ASL.
nalply
1
@EricDong Я не знаю. Я выучил норвежский, когда мне было 7-8 лет. На протяжении многих лет у меня складывается впечатление, что многие люди не ловят себя на мысли не на словах. Я думаю, что знание более чем одного разговорного языка очень помогло бы с этим. Знание ASL, вероятно, поможет еще больше. И, конечно же, очень помогает изучение нескольких языков программирования из самых разных школ дизайна. Я паршивый поэт, но я подозреваю, что это так. Чем больше вы видите за кулисами слов, тем эффективнее вы выражаете любую идею.
Эрик Реппен
13

Нет. Вы не пропустите ни одного учебного материала.
Как нидерландский оратор, я могу обещать вам, что моя среда разработки + большая часть моего справочного материала написана на английском языке. Есть несколько программ, написанных на другом языке, но я могу заверить вас, что ни в одной из них нет магии.

Однако я могу представить, что документация по API / webservices / projects или комментарии в исходном коде могут быть на другом языке, чем английский. Для этого я бы предложил вам охватить некоторые из самых распространенных языков: испанский, арабский и китайский.

Steffe
источник
5
Это также, конечно, будет зависеть от выбранного поля - для игр, я думаю, японский язык может быть весьма кстати ...
Clockwork-Muse
Я работал над кодом, комментируемым на трех разных языках: французском, английском и немецком.
nalply
12

Это может иметь смысл, если вы хотите специализироваться на конкретной технологии, которая была разработана в неанглийской стране.

SAP, например, немецкая компания. SAP ERP, гигант программного обеспечения, обычно называемого «SAP», имеет большинство своих пользовательских программных модулей, написанных на собственном языке программирования SAP ABAP. Как разработчик, вы можете (и часто должны) взглянуть на код ABAP.

Десять лет назад большая часть разработки ABAP происходила в Германии, и не было политики, согласно которой комментарии и идентификаторы должны быть на английском языке, поэтому в устаревшем коде ABAP вы найдете много немецкого языка.

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

Вы также найдете немного немецкого языка в старых API. Например, текущее время находится в глобальной переменной SY-UZEIT. «Uzeit» означает «Uhrzeit», что в переводе с немецкого означает «время суток». KUNNRCustomerID - это («Kundennummer»), сумма денег в валюте дома BETRH(«Betrag - Hauswährung») и т. Д.

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

Philipp
источник
У меня был похожий опыт работы с TYPO3.
Лиори
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 . То есть, как и для форматов даты, существуют разные правила для грамматики, так что локализация не может быть сделана простым добавлением заполнителей для строк.

Если вы просто хотите улучшить свою карьеру программиста, есть гораздо более эффективное использование вашего времени, например, совершенствование имеющихся навыков или изучение другого языка программирования , предпочтительно из другой парадигмы .

Сказав это, есть много полезных прямых и побочных эффектов для изучения другого языка, особенно если вы говорите на одном языке. Многие вещи, которые кажутся очевидными для многоязычных людей, на самом деле не так очевидны, если вы не знакомы с разными языками, например, я заметил, что многие одноязычные люди, похоже, не понимают, что языковые шутки (такие как как каламбур) вообще не работает при переводе. Это может помочь вам избежать грубых ошибок, из которых мой любимый пример - апокрифическая история рекламы Pepsi «оживи», которая неправильно переводится на китайский язык как «оживление твоих мертвых предков» . Наличие такой дополнительной чувствительности полезно в любой карьере.

В заключение, я думаю, что изучение нового языка дает большие преимущества; Я просто задаюсь вопросом, эффективно ли это использует ваше время.

congusbongus
источник
Я думаю, английский - это твоя мама.
Тулаинс Кордова
@ user61852 Я понятия не имею, как ты это получишь, но ты ошибаешься.
congusbongus
3

Английский - это язык решения проблем.

Посмотрите это короткое видео.

«Ваш родной язык - это ваша жизнь, но с английским вы становитесь частью более широкого разговора, глобального разговора о глобальных проблемах, таких как изменение климата или бедность ... математика - это язык науки, музыка - это язык эмоций, и теперь английский становится языком решения проблем ".

-- Jay Walker, american inventor and entrepreneur

Думаю, если бы Римская империя не рухнула, мы бы сейчас писали на латыни.

Определенно английский язык, чтобы идти. Мой родной язык испанский, и хотя испанский является одним из самых распространенных языков, количество технических материалов, документации, учебных пособий, блогов, сайтов с вопросами и ответами и т. Д. На испанском языке даже не приближается к огромному количеству ресурсов на английском языке. ,

Кроме того, у английского есть краткое качество, которое делает его однозначным во многих контекстах.

Другая причина: iTunes U.

Тулаинс Кордова
источник
1
«Английский - это язык решения проблем». Что это обозначает?
ypercubeᵀᴹ
@ypercube Посмотрите это короткое видео: Climateadaptation.tumblr.com/post/4895540259/…
Тулаинс Кордова
2

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

talloaktrees
источник
2

Хотя английский язык является языком де-факто для разработчиков программного обеспечения, несколько раз мне удавалось находить подсказки и решения на сайтах сообщества на других языках. Благодаря автоматическому переводу такие страницы превращаются в месиво, поэтому приятно читать его как есть.

Конечно, если вы работаете с людьми, которые лучше владеют другим языком, может быть очень хорошо, как в профессиональном, так и в личном смысле, иметь возможность общаться на своем родном языке. В зависимости от их уровня и вашего уровня, может быть легче выучить пару технических слов на их языке и сделать так, чтобы они выразили себя наиболее удобным способом, чем перенести их понимание в язык, где они с большей вероятностью допустят семантические ошибки.

l0b0
источник
Автоматизированные переводчики переводят «стол» на испанский «меза», что означает мебель, на которой вам подают еду, независимо от контекста таблиц базы данных.
Тулаинс Кордова
2

Это зависит от того, что вы понимаете под карьерой .

Если у вас есть работа в вашей стране в качестве работника, и вы хотите, чтобы она оставалась таковой, вам обычно не нужно знать какой-либо язык, кроме вашего родного и английского. Исключением может быть ситуация, когда основным клиентом вашей компании является иностранная компания, и вы должны знать язык этой компании. Например, многие компании из западной Польши сотрудничают в основном с немецкими компаниями, и знание немецкого языка является большим преимуществом или даже требованием для работы в качестве старших разработчиков (в то время как юниоры не имеют контактов с заказчиками, они не обязаны говорить по-немецки ).

Однако, если вы хотите быть фрилансером , вы должны свободно говорить на языке вашего клиента. Конечно, вы можете ориентироваться только на англоязычные страны, но знание, например, немецкого или французского языков дает вам больше возможностей и потенциально более выгодные контракты.

Если вы хотите работать за границей , это зависит. Конечно, при поездке в США или Великобританию, английский является правильным выбором. В небольших странах (в Европе) есть много англоязычных команд, поэтому в качестве иностранного подрядчика вы можете рассчитывать на множество англоязычных рабочих мест, например, в Дании или Нидерландах.

Но в больших странах, таких как Германия, англоязычные рабочие места являются исключением , и, не зная немецкого языка, у вас мало шансов что-то найти. Чтобы получить самые высокооплачиваемые контракты, вы должны свободно говорить по-немецки, но тогда вы сможете получить действительно хорошо оплачиваемую работу .

Дунайский моряк
источник
2

Это хороший вопрос. Я бы сказал, что полезно изучать другой разговорный язык по той же причине, что полезно изучать другой язык программирования: он позволяет вам думать о вещах по-новому.

Хорошо это или плохо, но английский является универсальным языком программистов. Так что вы вряд ли пропустите многое из-за того, что говорите только по-английски.

Майкл Браун
источник
1

Кажется, что все люди здесь согласны с тем, что нет непосредственного преимущества изучения другого языка для непосредственного программирования (языки программирования в основном основаны на английском языке, это язык учебников и журналов по информатике и т. Д.).

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

wirrbel
источник