Английский vs С#: есть ли общее в изучении иностранного языка и языка программирования
Сегодня хотим поговорить с вами о сравнении изучения иностранного языка с изучением нового языка программирования. Сравнивать будем английский и программирование на детище всем известной компании Microsoft — C#. Размышляет на тему наш эксперт Антон.
Немного о бэкграунде
Я овладел английским до того, как начал изучать C#. Учился как самостоятельно, так и в школе. В данный момент моего уровня хватает, чтобы смотреть сериалы без перевода и читать профессиональную литературу. Сначала я программировал на Turbo Pascal, потом на Borland Delphi, а после этого на PHP. Теперь на С#. Также пишу скрипты на PowerShell для основных задач.
Элементы языка
С чего обычно начинается изучение языка? С осмотра его атомарных единиц. В иностранном языке это буквы и звуки, в случае языка программирования — переменные.
Дальше в языке мы начинаем изучать построение слов, а из слов строим фразы. В программировании же мы учимся сначала элементарным операциям, которые затем превращаются в функции и процедуры.
Mary.
Mary is a girl.
Mary has a green dress.
Посмотрим на это с точки зрения программирования: есть переменная “Mary” типа “girl” со свойством “dress”, у которого значение “green”.
Синтаксис
Синтаксис языка программирования по своей структуре очень схож с построением фразы на английском языке. Да возьмём даже шире: законченную программу можно сравнить с рассказом, который подчиняется аналогичным правилам. Мы начинаем с описания героев произведения в рассказе и с описания классов и методов в программировании, затем переходим к развитию сюжета и основной логике соответственно, а заканчиваем выводами истории и на экран.
Попробуем рассмотреть «Три поросёнка» с такого ракурса. У нас есть класс “поросёнок” со свойствами “имя” и “домик”. Есть экземпляры класса “первый поросёнок”, “второй поросёнок” и “третий поросёнок”. Дальше необходимо свойствам “имя” и “домик” каждого поросёнка присвоить значения. Как описанное запрограммировать?
public Class Pig < public string Name public string House > Pig pig1 = new Pig(); Pig pig2 = new Pig(); Pig pig3 = new Pig(); pig1.Name = “Nif-Nif”; pig1.House = “Straw”; pig2.Name = “Nuf-Nuf”; pig2.House = “Wood”; pig3.Name = “Naf-Naf”; pig3.House = “Stone”;
Скажем это по-английски:
There are three little pigs.
The first pig’s name is Nif-Nif, the name of the second pig is Nuf-Nuf and the third one is Naf-Naf.
Nif-Nif lives in a house made of straw, Nuf-Nuf lives in a wooden house and Naf-Naf lives in a stone house.
Что в одном, что в другом случае мы обозначили три экземпляра класса “поросёнок“, а потом каждому из них присвоили значения свойств “имя” и “дом проживания“.
Теперь, когда мы рассмотрели общую структуру, перейдём к более мелким частям. Выше я упоминал буквы и фразы в иностранном языке и переменные и выражения в программировании. Научившись выражать языком C# элементарные конструкции, можно, изучив правила построения предложения в английском, пробовать строить законченные фразы.
Представим, что у нас богатырь стоит перед путеводным камнем и читает, куда идти и что ему за это будет. Как это описать машинным кодом?
Switch (Dobrynya.Walk)
Здесь мы видим последствия его действий: если Добрыня пойдёт налево, то сложит голову, если направо, то потеряет коня, а если прямо, то получит счастье.
Теперь напишем это по-английски:
If Dobrynya walks to the right, his horse will die.
If Dobrynya walks to the left, he will lose his head.
If Dobrynya goes forward, he will be safe and happy.
Как видите, такое же описание блоков условий и описание изменений свойств объектов.
Зная язык программирования, вы сможете освоить грамматические правила построения фраз и на иностранном языке.
А дальше всё как в программировании: наращиваем словарный запас, заучивая новые слова. Сравните это с чтением MSDN и TechNet. Составлять изученные слова во фразы и предложения, а предложения уже состыковывать между собой. Это похоже на написание логики на языке программирования. Да и вообще, что программирование — это диалог машины с человеком или машины с машиной, что человеческий язык — это общение двух людей. И там, и там языковые элементы подчиняются законам и правилам, которые человеку с техническим складом мышления не составит труда систематизировать и применять на практике в свою пользу.
Конечно, это лишь размышления на тему: данная статья не призывает к изучению английского именно таким методом, но показывает, что он имеет право на жизнь.
Бонус читателям
На нашем сайте можно учить английский бесплатно, но с ограничениями. Для неограниченного доступа есть абонемент, дарим на него скидку 500 рублей по этой ссылке (скидка доступна после регистрации).
- английский язык
- иностранные языки
С начала английский, потом программирование?
Я решил с начала освоить перевод с технического английского ( в английском есть только базовые знания пока , однако все необходимые ресурсы нашёл уже и изучаю) , а затем я думаю начать осваивать программирование. Для начало думаю про PHP и JS, поскольку знаю что проблем с поиском работы со знанием этих языков не будет, плюс мне нравятся сфера web development
На данный момент знаю базу HTML и CSS, но чистой версткой нет интереса заниматься.
Хочу программировать , однако если для HTML и CSS есть прекраснейший ресурс как htmlbook.ru, в частности, где все разобрано , то вот для остального я знаю больше проблем с поиском инфы, хотя как я понимаю тот же PHP и JS у нас в рунете описан/
Но в общем где не читаю, всюду пишут учи мол английский, на нем все есть и мануалы и гвайды и туториалы и комьюнити , вобщем все что душе угодно.
С одной стороны я понимаю, что это наверно как-то криво подходить к программированию с изучения english , а с другой, я что-то уверился что при умении читать на нём , освоить программирование для меня труда не составит ( матеша в универе по крайней мере нормально лавалась , и склад ума больше технический, чем гуманитария)
Просто осваивать и программирование и английский одновременно это уже круто проблематично, хотя в скором времени начну все же помаленьку читать основы .
В общем у кого какие мысли на сей счёт, о таком «подходе» к изучению программирования.
Может кто чего посоветует.
Пишите любую критику , интересно Ваше мнение любое.
- Вопрос задан более трёх лет назад
- 1549 просмотров
2 комментария
Оценить 2 комментария
5 причин, почему разработчику стоит выучить английский язык
Английский — основной язык разработки. На нём написаны самые популярные языки программирования и техническая документация, на нём говорят в международных компаниях, общаются на форумах и сайтах вакансий.
Онлайн-школа английского языка Wordika рассказывает, почему разработчику важно знать английский и какие карьерные перспективы это откроет.

Онлайн-школа английского языка
Популярные языки программирования используют ключевые слова из английского
Подавляющее большинство (90%) языков программирования используют ключевые слова из английского. На нём же основаны языки разметки и оформления HTML и CSS.
Знание английского облегчит изучение языка программирования: начинающему разработчику будет проще запомнить используемые слова в названиях и значениях методов, если он будет понимать их смысл.
Для тех, кто пишет код, владение английским даёт понимание логики используемых слов. Руководствуясь ей, можно вспомнить подходящий метод или попробовать интуитивно его подобрать.
Важно понимать, что освоить язык программирования можно и без английского, но на заучивание и отработку команд потребуется больше усилий и времени.
В проекте Anvaka.GitHub.io представлены часто используемые ключевые слова в разных языках программирования, и можно посмотреть контекст каждого слова:
Для развития разработчику необходимо читать англоязычные ресурсы и специализированную литературу
На начальном этапе обучения и на джуниор-позициях знание английского может не пригодиться. По популярным языкам программирования есть обучающие курсы, можно найти статьи и видео на русском. Ошибки можно погуглить или найти решения на русскоязычных форумах.
Английский необходим для дальнейшего развития. Чем глубже разработчик погрузится в специализацию, тем меньше информации на русском языке сможет найти.
Получить специфический совет или познакомиться с коллегами проще в международном сообществе. Например, популярная англоязычная платформа GitHub объединяет 50 млн разработчиков со всего мира.
Техническая документация многих сервисов написана на английском
Бизнесу часто требуется интеграция с популярными англоязычными сервисами: платёжными системами, социальными сетями, маркетинговыми инструментами. Технической документации для многих сервисов нет на русском.
Для решения задачи нужно читать на английском и понимать письменную речь. Не стоит опасаться сложных конструкций и слов. Документация пишется для разработчиков из разных стран, и потому в тексте чаще всего встретятся простые предложения с технической терминологией.
Английский может потребоваться для общения с коллегами, клиентами и партнёрами
В международных или крупных российских компаниях работают сотрудники из разных стран. Для обсуждения и совместного выполнения задач с иностранными коллегами вам потребуется общий язык. Чаще всего его функцию выполняет английский как язык международного общения. В редких случаях используют китайский, немецкий или французский — зависит от страны происхождения компании.
В российских компаниях английский может потребоваться, если компания работает с иностранными клиентами и партнёрами. Как специалиста и исполнителя сотрудника могут пригласить на деловую встречу и попросить обсудить требования и возможность их реализации. Сделать это нужно будет на английском, и если заказ не крупный, то переводчика не предоставят.
Во всех этих ситуациях важно, чтобы вас поняли, а за акцент и ошибки переживать не стоит. На них в профессиональном разговоре никто не укажет и, вероятнее, даже не обратит внимания.
Знание английского расширяет возможности трудоустройства в России и за рубежом
На hh.ru около 30,5 тысяч вакансий по программированию и разработке (данные ноября 2020 года). В трети из них от соискателя требуется знание английского языка. В большинстве этих вакансий работодатели хотят, чтобы будущий сотрудник мог читать техническую документацию, писать деловые письма и общаться в чатах с коллегами на английском. Реже пишут о необходимости свободного устного общения.
Владея нужными языковыми навыками, вы расширяете свои возможности трудоустройства в России и открываете перспективы работы за рубежом.
Для фрилансеров знание английского даёт выход на иностранных клиентов и проекты. Вы сможете использовать зарубежные маркетплейсы с широкой базой заказов как Fiver и Toptal или специализированные сайты как Remote Python и uTest. Из полученных проектов можно создать хорошее портфолио и продвигать себя как международного специалиста.

Статьи по теме
Что сложнее: выучить иностранный язык или язык программирования, например такой как С++ ?
Правила ЯП проще, исключений практически нет. Сложности иностранных языков в большом количестве правил (не всегда логичных) и исключений. Кроме того, и в том и в другом важен навык . Без практики никакого результата не будет. Так вот с практикой легче программирование, кроме того, ответы в нём имеют меньше вариантов, так же в нём легче получить навыки самостоятельно и самое интересное: без знания английского, даже азов, практически очень сложно достичь навыка в программировании
Стим мобайлУченик (210) 5 месяцев назад
Не сказал бы я что нужно изучать английский для программирования. Я пишу код на C#, C++, JavaScript и мне не нужно было абсолютно морочится с иностранным языком, достаточно понимать значение 200-400 слов
Остальные ответы
Из разной оперы вещи.
нельзя сравнить, разные способности нужны для освоения)
Проще ЯП.
На ЯП можно набыдлокодить, и всё будет работать. В естественных языках с этим жёстче.
Рязанов АлексейГуру (2663) 9 лет назад
В естественных языках можно невозбранно нести пургу. Правила естественных языков этого не запрещают, так же как ЯП не запрещают быдлокодить.
C++. Но есть большая разница в применении: при знании иностранного языка ты можеiь сразу переводить с русского на иностранный и обратно, а для использования C++ тебе придется изучать еще и программирование, что займет примерно в десять раз больше времени.
Язык — только система обозначений. Выучив математические обозначения, математиком еще не станешь. То же с C++ и программированием.
эт все равно что спросить что дольше килограмм или киловатт
Изучить семантику языка можно за неделю. Этого времени не хватит даже на то, чтобы научиться писать без ошибок на своем родном языке.
Даже самый сложный язык программирования существенно проще самого простого языка общения.
Но нет ни какой гарантии, что выучив иностранный язык ты сможешь писать на нем поэмы и романы, ровно как нет ни какой гарантии, что выучив язык программирования ты сможешь писать программы. Как в первом так и во втором случаях нужно иметь способности.
Стим мобайлУченик (210) 5 месяцев назад
Тоесть C++ например намного проще Эсперанто? Эсперанто можно изучить за 2 недели, когда чтобы дойти до такого же уровня освоения c++ уйдет более года минимум