Как учить английский для программистов + 79 отличных ресурсов ‹ Инглекс
По статистике, более 75% заказов на разработку программного обеспечения поступает к отечественным специалистам от иностранцев и почти все заказчики предпочитают общаться на английском языке. Именно поэтому каждый IT-специалист должен владеть им на хорошем уровне. В этой статье мы расскажем, как английский поможет вам в работе и какие ресурсы нужно использовать при изучении английского для программистов.
Зачем программисту английский язык
Если вы уже начали работу в IT-сфере, то прекрасно понимаете, что без английского программистам не обойтись. Однако некоторые люди считают, что технический английский можно и не учить: почти вся терминология произошла из английского, поэтому все будет понятно и так. Тем, кто не уверен, стоит ли тратить время на изучение иностранного языка, мы приведем несколько весомых аргументов.
- Понимание терминологии
Большинство языков программирования основано на ключевых словах на английском языке.
- Выбор средств разработки
В некоторых из них отсутствует русифицированный интерфейс.
- Чтение технической документации
Практически все справочные материалы и технические задания пишутся на английском (если вас интересуют заказы из заграницы).
- Общение с клиентами
Многие зарубежные компании активно пользуются услугами русских «айтишников», и, чтобы точно понимать нужды клиентов, вам нужно хорошо знать английский.
- Изучение профессиональной литературы
Новейшие книги и статьи в IT-сфере публикуются на английском языке. Программистам нужно постоянно быть в курсе всех новостей и обновлений, поэтому стоит учить английский.
- Посещение онлайн-курсов и вебинаров
В Интернете можно найти сотни обучающих бесплатных курсов от гуру программирования. А на платных курсах вы сможете получить диплом международного образца — большой плюс к резюме.
- Поиск решений во всемирной паутине
В своей работе вы периодически сталкиваетесь со сложными задачами и некоторыми проблемами, решение которых можно найти в англоязычной части Интернета.
- Шанс получить работу за границей
Не секрет, что почти все IT-гиганты находятся в США. В такие фирмы постоянно требуются грамотные специалисты, но, чтобы общаться с коллегами и дирекцией, необходимо знать английский язык. Хотите работать в Силиконовой долине? Учите английский.
Ваши сильные и слабые стороны: как учить английский программисту
В изучении английского, как и в любом другом деле, следует использовать свои сильные стороны и стараться работать над слабыми. Давайте выясним, над чем вам предстоит трудиться.
- Ваши сильные стороны:
- Логическое мышление
Как использовать: грамматика — логичная структура, поэтому при условии постоянных занятий вам будет несложно ее изучить.
- Широкий словарный запас
Как использовать: вам будет проще изучать английский для IT, ведь у вас уже есть хорошая база лексики. При изучении слов вы заметите, что многие знакомые вам «технические» слова имеют другое значение в общеразговорном английском.
- Неуверенное знание грамматики
Причина: в технических текстах, как правило, используется сложная терминология, но очень простые грамматические конструкции, поэтому вы могли не уделять должное внимание грамматике. Все решается изучением конструкций и выполнением практических упражнений.
- Языковой барьер
Причина: у вас было очень мало или вообще не было разговорной практики. Из-за этого развивается так называемый «синдром собаки», то есть вы все понимаете, но не можете сами сказать. Практика устной речи решит эту проблему.
- Слуховой барьер
Причина: программистам нечасто приходится воспринимать информацию на английском на слух, поэтому у вас могут быть проблемы с пониманием речи собеседника. Работа с аудиоматериалами избавит вас от этого.
Мы выяснили ваши слабые и сильные стороны, а теперь надо решить, каким же образом учить английский для программистов. Исходя из нашего опыта, начинать изучать специализированный английский для IT следует после того, как вы закончили курс Pre-Intermediate. До этого лучше изучать общий разговорный английский, чтобы заложить прочный базис для профессиональных знаний.
Где лучше изучать язык? Найти специальные курсы для изучения английского для разработчиков практически невозможно, поэтому лучшим решением будут индивидуальные занятия с преподавателем. А еще удобнее будет изучать английский без отрыва от любимого компьютера, и мы предлагаем вам делать это на уроках английского по Скайпу. Если вы хотите изучать именно английский для IT, рекомендуем вам персональный курс английского языка, в таком случае на уроках вы будете изучать материалы вашей тематики, то есть учить только то, что вам нужно.
Базовый английский словарь для программиста
В этом разделе мы хотели бы представить вам базовые понятия на английском языке, которые пригодятся почти каждому «айтишнику». Для удобства мы выделили набор глаголов IT-тематики, а также слова, связанные с Интернетом, аппаратным и программным обеспечением.
Полезные глаголы
Слово | Перевод |
---|---|
to back up (backup) | выполнять резервное копирование |
to boot | загружать, загружаться (например, об устройстве или операционной системе) |
to burn | записывать на оптический диск |
to create | создавать |
to compile | компилировать |
to compress | сжимать (например, архиватором) |
to connect | соединять, подключаться |
to copy | копировать |
to cut | вырезать в буфер обмена |
to debug | отлаживать |
to decrypt | расшифровывать |
to delete | удалять |
to deploy | развертывать (например, приложение на сервере) |
to develop | разрабатывать |
to disable | отключать, деактивировать |
to disconnect | разъединять, отключаться |
to display | отображать |
to download | загружать, скачивать |
to eject | извлекать (устройство) |
to enable | включать, активировать |
to encrypt | шифровать, зашифровывать |
to execute | исполнять |
to format | форматировать |
to implement | внедрять, реализовывать |
to initialize | приводить в исходное состояние, инициализировать |
to install | инсталлировать, устанавливать |
to integrate | интегрировать, объединять в одну систему |
to link to | ссылаться на что-либо |
to load | загружать |
to paste | вставлять из буфера обмена |
to plug in | подключать |
to press (a button) | нажимать (кнопку) |
to read | считывать |
to reboot | перезагружать, перезагружаться |
to restore | восстанавливать |
to save | сохранять |
to scroll up/down | прокручивать вверх/вниз (например, веб-страницу) |
to sort | сортировать |
to switch on/off | включать/выключать |
to uninstall | деинсталлировать, удалять |
to update | обновлять |
to upgrade | улучшать, модернизировать |
to upload | загружать, закачивать |
to verify | проверять |
Hardware — аппаратное обеспечение
Слово/Словосочетание | Перевод |
---|---|
a bus | шина |
a cable | кабель |
a central processing unit (CPU) | центральный процессор |
a computer case | корпус системного блока |
a device | устройство |
a fan | вентилятор охлаждения, кулер |
a graphics card (display card, display adapter, graphics adapter) | видеокарта (графический адаптер) |
a graphics processing unit (GPU) | графический процессор |
a hard disk drive (HDD) | жесткий диск |
a laptop | ноутбук, портативный компьютер |
a light-emitting diode (LED) | светодиод |
a motherboard (mainboard) | материнская плата |
a network card | сетевой адаптер (сетевая карта, сетевая плата) |
a port | разъем, порт |
a power supply unit (PSU) | блок питания |
a solid-state drive (SSD) | твердотельный накопитель |
a sound card (audio card) | звуковая карта |
a storage device | запоминающее устройство, накопитель |
a touch screen | сенсорный экран |
air cooling | воздушное охлаждение |
an expansion card | карта (плата) расширения |
an optical disk drive | оптический привод |
an uninterruptible power source (UPS) | источник бесперебойного питания |
random-access memory (RAM) | оперативная память (ОЗУ) |
read-only memory (ROM) | постоянное запоминающее устройство (ПЗУ) |
removable media | съемные носители информации |
water cooling | водяное охлаждение |
output devices:
| устройства вывода:
|
input devices:
| устройства ввода:
|
Software — программное обеспечение
Слово/Словосочетание | Перевод |
---|---|
a compiler | компилятор |
a database | база данных |
a debugger | отладчик |
a desktop application/app | приложение для настольного компьютера |
a device driver | драйвер устройства |
a graphical user interface (GUI) | графический пользовательский интерфейс |
a kernel | ядро (например, операционной системы) |
a mobile application/app | мобильное приложение |
a plug-in (plugin) | плагин, расширение, дополнительный программный модуль |
a programming language | язык программирования |
a query | запрос |
a scroll bar | полоса прокрутки |
a snapshot | снимок состояния системы |
a spreadsheet | электронная таблица |
a status bar | строка состояния |
a template | шаблон |
a version control system (VCS) | система контроля версий |
a web application/app | веб-приложение |
a word processor | текстовый процессор |
a text editor | текстовый редактор |
a utility | утилита (служебная программа) |
acceptance testing | приемочное тестирование |
agile methodology | гибкая методология разработки |
an algorithm | алгоритм |
an array | массив |
an encoding | кодировка |
an enterprise application | корпоративное приложение |
an executable (file) | исполняемый файл |
an interpreter | интерпретатор |
an operating system (OS) | операционная система |
application software | прикладное программное обеспечение |
aspect-oriented programming (AOP) | аспектно-ориентированное программирование |
binary data | двоичные данные |
commercial software | платное программное обеспечение |
data | данные, информация |
data processing | обработка данных |
extreme programming | экстремальное программирование |
firmware | прошивка, микропрограмма |
freeware | бесплатное программное обеспечение |
incremental development | инкрементная модель разработки |
integrated development environment (IDE) | интегрированная среда разработки |
iterative development | итеративная модель разработки |
malicious software (malware) | вредоносное программное обеспечение |
object-oriented programming (OOP) | объектно-ориентированное программирование |
open source software | программное обеспечение с открытым исходным кодом |
prototyping | создание прототипа, прототипирование |
rapid application development (RAD) | быстрая разработка приложений (методология) |
regression testing | регрессионное тестирование |
runtime (runtime environment) | среда выполнения кода |
server software | серверное программное обеспечение |
spiral development | спиральная модель разработки |
spyware | программа-шпион, шпионское программное обеспечение |
system software | системное программное обеспечение |
unit testing | модульное (блочное, компонентное) тестирование |
waterfall model | каскадная модель разработки |
Internet — Интернет
Слово/Словосочетание | Перевод |
---|---|
a bookmark | закладка (в браузере) |
a bridge | мост |
a browser | браузер, обозреватель |
a domain | домен |
a firewall | брандмауэр, межсетевой экран |
a gateway | шлюз |
a hyperlink | гиперссылка |
a node | узел сети |
a packet | пакет |
a patch cord | коммутационный кабель, патч-корд |
a router | маршрутизатор, роутер |
a search engine | поисковая система |
a subdomain | поддомен, субдомен |
a switch | коммутатор, свитч |
a website | веб-сайт, веб-узел |
a wireless network | беспроводная сеть |
bandwidth | пропускная способность (канала передачи данных) |
broadband | широкополосный доступ в Интернет |
client-server architecture | клиент-серверная архитектура |
cloud computing | облачные вычисления |
cloud storage | облачное хранилище данных |
dynamic host configuration protocol (DHCP) | протокол динамической настройки узла |
domain name system (DNS) | система доменных имен |
instant messaging (IM) | обмен мгновенными сообщениями |
Internet service provider (ISP) | интернет-провайдер |
local area network (LAN) | локальная сеть |
latency | задержка, период ожидания |
media access control (MAC) address | аппаратный адрес, MAC-адрес |
peer-to-peer (P2P) | одноранговая сеть, пиринговая сеть |
twisted pair | витая пара |
voice over IP (VoIP) | голосовая связь через Интернет, IP-телефония |
wide area network (WAN) | глобальная сеть, широкомасштабная сеть |
Немаленькая подборка, не правда ли? Но для того, чтобы научиться хорошо говорить по-английски, недостаточно знать слова, необходимо учить грамматику, развивать навык восприятия речи на слух и т. д. Поэтому в следующей главе нашей статьи мы приведем 79 ресурсов для совершенствования английского. Выберите несколько из них и штурмуйте вершины знаний.
Как учить английский для программистов самостоятельно
Учебники по английскому языку для программистов
Для начала мы представим хорошо зарекомендовавшие себя учебники по английскому языку для программистов. Наши преподаватели успешно используют материалы, разработанные на основе этих пособий, для обучения «айтишников».
Для начального уровня:
English for Information Technology | Career path Information Technology | Career path Computing | Career path Software Engineering |
---|---|---|---|
Для среднего уровня:
Словари технического английского языка для программистов
- multitran. ru
Англо-русский и русско-английский словарь также пригодится вам для перевода. Чтобы получить правильный перевод термина, смотрите перевод слова рядом с примечанием «комп.» (компьютерные термины).
- english5it.com
Простой и удобный англоязычный словарь, в котором можно прослушать звучание каждого слова. Там же составлены предложения со всеми словами, их тоже можно прослушать.
- computerlanguage.com
Словарь компьютерных терминов на английском языке. Введите незнакомое слово в строку поиска и узнайте его значение.
- techterms.com
Англоязычный словарь технических терминов. Все слова сортируются по категориям, а также можно искать значение слова через систему поиска на сайте. Здесь есть подробное разъяснения для каждого понятия. Кроме того, можно проходить тесты из раздела Quizzes, чтобы проверять свои знания.
- computerhope.com
В разделе Dictionary этого сайта вы найдете англоязычный словарь технических терминов, в котором дано подробное пояснение каждого понятия. Кроме того, вам предложат почитать полезную статью, связанную с тем термином, определение которого вы искали.
- blogs.gartner.com
IT-словарь на английском языке. К каждому понятию дано краткое понятное пояснение.
Ресурсы для изучения новых слов
- Сайты с тестами и упражнениями на лексику:
- businessenglishsite.com — упражнения, помогающие запомнить правила употребления IT-лексики в предложениях.
- blairenglish.com — технические тексты, в которых жирным шрифтом выделены новые слова, а ниже приведен тест на знание этой лексики.
- Приложения для изучения слов:
- Lingualeo и Memrise — с помощью этих программ вы сможете изучать новые слова, составлять собственные словари терминов для изучения, смотреть видео профессиональной тематики и т. д.
- Плагины для браузеров:
- ЛеоПереводчик — подойдет для Chrome и Firefox, будет логичным дополнением одноименного приложения. С помощью «ЛеоПереводчика» можно переводить слова и целые фразы на страницах любого сайта, добавлять их в свой словарь и затем изучать.
- Google Переводчик или English dictionary translate pronunciation — расширения для перевода слов и фраз на страницах любых сайтов. Это бесплатные удобные плагины, однако следует учесть, что в машинном переводе могут быть ошибки и неточности, поэтому всегда обращайте внимание на контекст.
Ресурсы для изучения грамматики
Разработчики могут учить грамматические конструкции по обычным материалам общей тематики, ведь правила не зависят от вашей профессии. Пока никакой специальной грамматики английского языка для программистов не существует, рекомендуем использовать следующие ресурсы:
- Изучаем теорию:
- engblog.ru — простой и удобный справочник по грамматике, составленный опытными преподавателями. К каждой статье есть тест, по которому можно проверить, насколько хорошо вы поняли материал.
- engvid.com — грамматика в видеоуроках от носителей английского языка. Материал изложен очень доступно, и почти к каждому видео есть тест по теме.
- Выполняем практические упражнения:
- learnenglish.de — сайт с большой подборкой грамматических тестов, а также пояснениями теории на английском языке.
- tolearnenglish.com — не лучший по дизайну, но хороший по наполнению сайт. Чтобы найти тесты на нужную вам тему, укажите, например, Article в поисковой строке, и вам выдадут ссылки на упражнения для отработки артиклей.
- perfect-english-grammar.com — удобный сайт, где простыми словами излагается грамматика английского языка и есть практические упражнения для проработки изученных тем.
- Работаем со специальными приложениями:
- Learn English Grammar для Android и iOS — позволяет изучать грамматические правила и предоставляет грамматические упражнения для отработки использования этих правил на практике.
- Johnny Grammar’s English Quiz для Android и iOS — удобное приложение с тестами на разные грамматические темы английского языка.
Как научиться говорить по-английски ИТ-специалисту
В развитии этого навыка все логично: чтобы заговорить, надо говорить. Некоторые люди полагают, что развивать устную речь можно с помощью пособий и онлайн-упражнений, однако это не так. Представьте, что вы полностью прочли самоучитель по Python, но не пробовали программировать на нем. Получится ли у вас сразу написать качественную программу? Скорее всего, она будет работать с ошибками, и только после продолжительной практики вы научитесь писать что-то толковое на этом языке.
С английским ситуация аналогичная: никакой учебник или самоучитель не заменят вам разговорной практики с собеседником. Поэтому ищите себе партнера для разговоров на английском. Причем можно развивать устную речь не выходя из дома. Воспользуйтесь сайтом italki.com или polyglotclub.com и общайтесь с носителем языка онлайн. Еще больше ресурсов для поиска собеседника вы найдете в статье «Где можно поговорить на английском языке».
Подкасты для разработчиков
Подкасты незаменимы для развития навыка восприятия английской речи на слух, а также из них вы узнаете много полезной профессиональной информации. Мы рекомендуем два вида материалов:
- На общие темы для совершенствования знаний общеразговорного английского:
- eslpod.com — аудиоматериалы на разные темы. Дикторы говорят медленно и четко, поэтому можно слушать их даже на уровнях Elementary и Pre-Intermediate. Ранее материалы сайта были бесплатными, сейчас же для пользования подкастами необходимо приобрести платный аккаунт.
- esl-lab.com — подкасты на общие темы, распределенные по 3 уровням сложности. К каждой записи есть тесты, вы можете проверить, насколько хорошо поняли услышанное.
- Профессиональные подкасты. Таких материалов очень много, и вы можете выбрать те, которые подходят именно вам. Мы рекомендуем:
Сериалы и фильмы для программистов
Сериалы и фильмы, близкие к вашей тематике, будут развивать восприятие английского языка на слух. Любой из эпизодов можно смотреть с субтитрами, установив расширение для браузера hamatata, а также воспользовавшись сайтами ororo. tv или show-english.com. Программистам можно порекомендовать смотреть следующее:
- Сериалы:
- The IT Crowd.
- Silicon Valley.
- The Big Bang Theory.
- Halt and catch fire.
- Фильмы:
- Free to Play.
- The Imitation Game.
- jOBS.
- The Internship.
- The Fifth Estate.
- Away From Keyboard.
- Web Junkie.
- Hackers.
- The Social Network.
- Mr. Robot.
Если вы будете смотреть эти фильмы с субтитрами, то можно выписывать незнакомые слова и учить их, так вы пополните свой словарный запас. Хотите, чтобы просмотр видео приносил максимум пользы вашему английскому? Читайте нашу статью «Как учить английский язык по фильмам и сериалам».
Форумы на английском языке для «айтишников»
На форумах можно потренироваться читать и писать по-английски. К тому же сообщества — ценный источник знаний, где можно получить бесплатную консультацию у более опытных коллег. Рекомендуем обратить внимание на следующие форумы:
- stackoverflow.com — самый крупный и известный в мире форум IT-специалистов. Здесь можно задавать профессиональные вопросы и просто общаться со своими единомышленниками на свободные темы.
- forums.devshed.com — популярное сообщество, где общаются англоговорящие программисты со всего мира. Попробуйте и вы!
- forum.xda-developers.com — форум, где общаются в основном разработчики мобильных приложений. Присоединяйтесь!
- programmers.stackexchange.com — еще один крупный форум, на котором можно задавать вопросы и получать ответы от опытных коллег.
Кстати, если вам срочно нужно сформулировать предложение или текст на английском языке, но вы не можете этого сделать, предлагаем воспользоваться программой imtranslator.net. Введите в окно предложение или текст по-русски, и программа переведет вам его на выбранный язык, например, английский. Причем переведенный текст можно будет прослушать с помощью встроенного модуля TTS (text to speech). Однако старайтесь нечасто пользоваться этим сайтом: машинный перевод не всегда бывает правильным.
Видеоролики общей тематики
Чтобы научиться хорошо разговаривать на английском и понимать его, вам нужно знать и понимать не только профессиональную лексику, но и общеразговорные фразы. Именно поэтому в процессе изучения английского для IT мы рекомендуем смотреть видео непрофессиональной тематики на следующих сайтах:
- ted.com
Знаменитый проект TED — источник вдохновения и уникальных идей. Выбирайте интересные вам темы лекций, при необходимости пользуйтесь субтитрами и учите английский!
- englishcentral.com
Видеоролики от Englishcentral — хороший обучающий материал для тех, кому сложно воспринимать английскую речь на слух, ведь все видео снабжены субтитрами. Кроме того, работа с этим сайтом не отнимет много времени: большинство роликов занимает не более 2-3 минут.
- elllo.org
На сайте представлены видеоролики и подкасты с транскриптами (текстами записей). Большой охват тем позволит без труда выбрать интересный для вас материал.
Обучающие видеоканалы на YouTube для программистов
- ProgrammingKnowledge
Видео, обучающие новичков основам программирования в различных средах.
- Sentdex
Обучающие видео для тех, кто работает на Python.
- Cave of Programming
Канал для обучения программированию на Java и C++ для начинающих и совершенствующихся.
- Paul Programming
Видеопрезентации для программистов C++.
- The Go Programming Language
Различные профессиональные видео для программистов.
- Learning Programming
Обучающие видео для работы в разных средах программирования.
- Programming
Разнообразные обучающие видео для профессионалов.
- Programming Tutorials
Канал для тех, кто делает первые шаги в программировании.
- Computer Programming University
Видео для разработчиков на UNIX.
Обучающие курсы на английском языке для программистов
Всевозможные обучающие программы и вебинары — источник профессиональных знаний и отличный ресурс для совершенствования английского языка. Попробуйте поучиться бесплатно у зарубежных экспертов.
- codecademy.com
Один из самых популярных за рубежом сайтов с обучающими курсами для программистов. Вся информация представлена только на английском языке, обучение бесплатное.
- udacity.com
Образовательный портал с курсами на английском, предназначенными для работников IT-сферы. Программы обучения можно посмотреть тут.
- coursera.org
Coursera — подборка курсов от более чем 120 университетов и образовательных организаций. Большинство материалов представлено на английском языке, но есть и на русском. Многие обучающие программы можно пройти бесплатно. Посмотрите, какой выбор курсов предлагает Coursera в разделе «Компьютерные науки».
- edx.org
Аналогичный Coursera сайт, предлагающий большой выбор курсов на разных языках, однако на русском пока не представлено ни одного курса. Каталог уроков для IT-области можно увидеть тут. В основном обучение бесплатное. Необходимо будет внести оплату, если вы захотите получить сертификат о прохождении конкретного курса.
- udemy.com
Большой каталог платных и бесплатных курсов на разных языках, в том числе есть материалы и на русском. Программы обучения для IT можно увидеть на этой странице.
- futurelearn.com
На этом сайте также можно подписаться и пройти бесплатный или платный курс обучения на английском языке. Программы, связанные с IT, можно найти тут.
Сайты с новостями для программистов на английском языке
- reddit.com
Ресурс, на котором пользователи оставляют ссылки на интересные новости по темам, связанным с IT. Тут вы найдете новую информацию со всего Интернета.
- news.ycombinator.com
Агрегатор новостей, аналогичный предыдущему ресурсу: все самое свежее об IT на англоязычных сайтах.
- smashingmagazine.com
Профессиональный онлайн-журнал для разработчиков программного обеспечения и веб-дизайнеров. Авторы излагают информацию о новых техниках, лайфхаках и полезных ресурсах в области IT.
- arstechnica.com
Ресурс со статьями и новостями из области информационных технологий. Материалы изложены довольно простым языком, без обилия специальных терминов.
- thenextweb.com
Один из самых посещаемых сайтов, который публикует статьи о новых технологиях, новостях мира бизнеса и культуры.
Русскоязычные ресурсы, где вам могут дать советы по изучению английского для IT
Вы можете использовать и русскоязычные ресурсы, чтобы изучать английский язык. Например, можно задавать вопросы по изучению языка своим коллегам на профессиональном форуме, они точно порекомендуют вам что-то практичное и полезное. Также посещайте сайты, посвященные обучению английскому, там могут ответить на любой вопрос, касающийся изучения языка.
- cyberforum.ru
Популярное сообщество русскоговорящих программистов и системных администраторов. Воспользуйтесь поиском, чтобы найти темы, связанные с изучением английского языка. Например, пользователи составили словарь-базу английских слов, которая будет полезна «айтишникам».
- programmersforum. ru
Еще один популярный форум, на котором вы можете задавать свои вопросы по изучению языка. Коллеги точно дадут вам профессиональный ответ.
- englex.ru и engblog.ru
Наши ресурсы хоть и не ориентируются исключительно на IT-область, но будут полезны любому изучающему английский язык, будь то ИТ-специалист или менеджер. У вас есть вопросы по изучению языка? Задавайте их нам в комментариях, чтобы получить ответ от наших преподавателей — «разработчиков» сферы изучения английского.
Мы постарались составить для вас наиболее полное руководство о том, как учить английский язык программисту, исходя из опыта наших преподавателей и учеников. Выберите удобные для работы сайты и старайтесь посвящать им хотя бы 30 минут в день, чтобы ваш уровень английского постепенно повышался. Если у вас есть вопросы по этой теме, пишите их в комментариях, мы обязательно ответим на них. А если вы чувствуете, что вам нужна помощь в учебе, обращайтесь к нашим преподавателям английского языка, которые научат вас всем премудростям английского для IT.
Мы составили для вас документ, в котором собраны все слова по данной теме. Вы можете скачать его по ссылке ниже.
Скачать список слов по теме «Английский для IT» (*.pdf, 377 Кб)
© 2021 englex.ru, копирование материалов возможно только при указании прямой активной ссылки на первоисточник.
Как я учил английский и программирование одновременно / Хабр
Шесть лет назад мне было 43 года, и я не умел программировать вообще. Ну, может немного на Бэйсике, который преподавали в институте, как вы понимаете, очень давно.В книжном магазине попалась мне на глаза книга «Программирование для iPhone/iPad» и, будучи человеком любознательным, я решил попробовать. Купил книгу, MacBook Air (iPad у меня тогда уже был), установил XCode и начал с примеров из книги. Когда я получил общее представление о том, как что работает, мне захотелось сделать что-то полезное. Так как для программиста очень полезным, или скорее даже необходимым, является знание английского языка, я решил создать такое приложение.
Сразу на ум пришла программа для изучения английского языка еще времен Windows 98 под названием Triple Play Plus. В ней совсем нет перевода и много самых необходимых слов и выражений, которые предлагается запоминать с помощью картинок и простых, увлекательных игр. Мои дети, когда были еще школьниками, очень любили в нее играть и выучили много слов и выражений, которые были нам очень полезны в заграничных поездках.
Программа так и просилась на планшет, и я с энтузиазмом приступил к ее созданию. Но столкнувшись с суровой реальностью, я понял, насколько мало еще у меня знаний и опыта, а также какой чудовищный объем работы меня ждет. Это было просто нереально, и я, сделав всего один экран, оставил эту идею. Создавать разные калькуляторы или плееры из уроков программирования было совсем неинтересно и я забросил это дело надолго.
Прошло три года
В августе 2012 года мы с женой улетели в Таиланд, решив провести там всю зиму. Чтобы не бездельничать все это время, записались на курсы английского языка, уровень которого у нас в то время был как у большинства наших соотечественников, то есть ноль.
Копилось стеснение, скованность, неуверенность. С этим нужно было что-то делать. Одна знакомая посоветовала посмотреть передачу «Полиглот» Дмитрия Петрова и скачать приложение-тренажер. Посмотрели, скачали, потренировались — выходим на улицу — не можем говорить, язык во рту как каменный. Чувствую, что нужно тренировать речь, разрабатывать язык, но с кем? Кто сможет долго слушать мои невнятные мычания, и как я пойму понятно я сказал или нет? Решение очевидно:
Говорить нужно с устройством
Во первых, нет стеснения и боязни говорить. Во вторых, можно мучить его сколько угодно, пока не надоест. И самое главное — уверенность, что говоришь понятно.
Погуглив немножко, обнаружил библиотеку распознавания английской речи для iOS и демонстрационное приложение с открытым кодом. Снова энтузиазм! Достал запылившийся MacBook, скачал пример, поиграл с ним чтобы разобраться в коде что за что отвечает, переименовал в Polyglot Sound и начал переделывать его под голосовой тренажер по Полиглоту.
Примерно в течении недели методом проб, ошибок и художественного тыка, работая по 12—15 часов в сутки, я создал рабочий прототип, который можно было использовать для тренировки. Нужно было лишь заполнить его русскими фразами и звуковыми дорожками и соответствующими им английскими. Фразы я нашел частично в интернете, частично из приложения по Полиглоту, по которому занимался раньше.
Примерно в течение месяца — двух я заполнял приложение фразами урок за уроком и одновременно тестировал-тренировался. Тренировалась и жена. За это время мы с ней так разработали мышцы языка и связанные с ним, что на курсах вышли в лидеры, а на улице моя доселе более чем скромная супруга, которая даже стеснялась спросить что-нибудь в магазине, вовсю болтала и по-моему флиртовала с американцами.
Такого эффекта я не ожидал и, не обнаружив ничего подобного в App Store, решил подготовить и выложить туда мое первое приложение. Я и не думал тогда, что это потребует от меня больше времени и сил, чем освоение английского языка.
Тернистый путь в App Store для начинающего разработчика
Самое трудное, на что я наткнулся, — это дизайн. Всем известно как внимательно в Apple относятся к дизайну приложений, поэтому певый вариант моего приложения с топорным, остроугольным оформлением тут же был отвергнут цензорами. Впрочем второй и третий и четвертый и пятый… ждала та же участь. Пришлось подойти основательно, освоить фотошоп, купить программку, позволяющую рисовать с помощью кода Objective C, разработать концепцию, выбрать фон, обляпать его полупрозрачными облачками с подсказками. Сами понимаете как это непросто для человека, делающего все это в первый раз. Ушло много времени и сил, приняли мою работу уже когда мы вернулись в Россию, то есть чуть меньше, чем через год. Зато до сих пор я смотрю на мое первое приложение, и оно мне нравится.
Лаконично, ничего лишнего, полностью голосовое управление и всего одна кнопка — все как я люблю. Получив зеленый свет в App Store, я установил цену в 4 доллара и занялся подготовкой к релизу бесплатной лайт-версии приложения, содержащей только первый урок, резонно полагая, что «кто купит кота в мешке? Нужно дать людям попробовать». Каково же было мое удивление, когда через месяц я увидел на своем счете около 300 долларов. Как выяснилось потом, в то время передача Полиглот имела огромный успех, очень большое количество желающих скачать приложения и малое количество конкурентов в App Store. Сейчас уже все не так радужно: мое приложение скатилось вниз, продаж мало, в App Store очень много приложений по Полиглоту, хотя голосовой тренажер по-прежнему единственный, мой Polyglot Sound.
Direct Method
Если умение не думая выдавать грамотно построенные английские фразы — это заслуга приложения Polyglot Sound, то словарный запас, идиомы, умение читать, писать и глубокое знание грамматики (да, английскую грамматику реально выучить до конца, в отличии от русской) — это заслуга Direct Method, по которому мы занимались в Таиланде.
Приложение очень простое в использовании, оно не дает пользователю никакого выбора: читать — значит читать, диктант — значит диктант. Все как на курсах. Единственное, что может выбрать пользователь, это голос (американский, британский или австралийский) и темп речи.
Возвращение к заброшенному
Имея уже некоторый опыт, по прошествии четырех лет, я вернулся к идее разработки приложения по программе Triple Play Plus. Открыв заброшенный проект, я ужаснулся, улыбнулся, удалил его и начал новый, назвав его Play English. Я сделал даже больше, чем было в оригинале, добавил прилагательные наречия и глаголы, формы неправильных глаголов в игре Бинго усваивались легко и незаметно, добавил тенажер произношения, диктанты грамматические задания по Полиглоту. Получилось самое объемное из моих приложений, зато оно давало возможность практически с нуля начать изучение английского языка человеку любой национальности и добиться приемлемого уровня для начала языковой практики.
Кому интересно узнать подробнее об изучении английского языка, то это можно сделать на моем сайте.
Заключение
В заключении хотелось бы сказать, что научиться разработке мобильных приложений можно и без специального образования, если есть идея, которая способна вас увлечь. Хотя, оглядываясь назад, я не сказал бы, что это легко. Попутно я выяснил, что учиться нужно исключительно на практике, будь то иностранный язык или создание мобильных приложений. В первом случае нужно просто начать говорить, во втором — начать программировать. Надеюсь, что моя статья будет кому-нибудь полезной. Спасибо.
P.S. По многочисленным просьбам все-таки сделал приложение Полиглот с распознаванием речи для андроид: в GooglePlay
Можно ли стать успешным программистом без знания английского?
Английский для программистов — это необходимость или желание?
Я поговорила с руководителем образовательного процесса в школе цифрового творчества Кодабра и узнала, нужен ли программистам английский и возможно ли написать программу без знания языка.
Расскажите немного о себеМария Рыбакова, руководитель образовательного процесса в Кодабре
Меня зовут Мария Рыбакова.
Несколько лет я развивала концепцию experiential learning в Китае и Японии: вела свой молодежный проект в рамках крупнейшей на китайском рынке компании, занимающейся детскими лагерями и образовательными тренингами для студентов и учителей.
Читала лекции об инновационных техниках образования в Пекинском государственном университете и United world college, а также на проектах руководила командами вожатых и педагогов со всего мира.
В Кодабре вы применяете Experiential learning или другой подход?Наши занятия проходят по системе Project Based Learning — дети изучают навыки для решения конкретных задач, которые стоят на пути к достижению их цели.
Основа обучения — создание интересных проектов, которые увлекают ребят с головой. Когда ребята осознают, что им нужны новые знания для решения проблем, мы даем им эти знания.
Целью курса становится создание проекта, а не зубрежка, поэтому и процесс так нравится детям.
Частью обучения также является групповая работа, презентация идей и проектов. Занятия выстроены таким образом, чтобы дети могли эффективно усваивать материал и отрабатывать теорию на практике во время занятия.
Расскажите о своей школе программированияКодабра – это место, где дети и подростки учатся создавать свои собственные цифровые проекты: полноценные игры, сайты, приложения и видео. У нас учатся ребята от 6 до 17 лет, обучение проходит в неформальной и комфортной обстановке с опытными педагогами.
Огромное внимание уделяется и тому, чтобы наши ученики могли погрузиться в IT-среду: мы проводим регулярно экскурсии в IT-компании, знакомим наших ребят с состоявшимися программистами. Помимо этого, мы проводим в Москве собственный фестиваль новых технологий и профессий будущего – Digital Fest for kids and teens.
В какие компании ребята ходили на экскурсии с вашей школой?Наши ребята были в компаниях, которые занимаются разработкой игр, таких как Innova, Crazy Panda, Playkot, 101ХР, а еще в компаниях-лидерах отечественной IT-индустрии: Mail. ru Group, Yandex и других.
Экскурсия учеников Кодабры в 101ХР
Почему сейчас такой высокий интерес к программированию?Интерес связан с перспективами, которые эта сфера открывает перед человеком. Большие зарплаты, мобильность, комфортные условия труда – это одни из самых популярных причин, почему люди выбирают область IT.
Кроме того, в IT десятки путей для самореализации: можно стать геймдизайнером и делать игры, создавать сайты или заниматься графикой и дизайном. Важную роль играет также востребованность специалистов в этой сфере: потребность в digital-специалистах только растет, а это значит, что у вас всегда будет работа.
Как долго нужно учиться, чтобы создать свою первую игру?Свои первые мини-игры ребята создают уже на первом уроке. У них простая механика и прохождение не занимает много времени, но ребенок выходит с занятия, уже сделав свой первый шаг в разработке и убедившись, что программирование ему по силам.
С каждым уроком знания углубляются, и к 8-му занятию ученики создают свою полноценную игру с уникальными механиками, персонажами и сюжетом. На это уходит примерно 2 месяца.
Дети сами хотят научиться программировать или это больше инициатива родителей?Бывает по-разному: иногда дети хотят создавать свои собственные игры и воплощать идеи в реальность, иногда родители предлагают ребенку попробовать себя в программировании.
Часто родители сами работают в этой области, или просто хотят приобщить ребенка к новым технологиям. Многие дети вдохновляются старшими братьями и сестрами, или начинают интересоваться программированием, например, из-за блогеров за которыми следят.
Ребята смотрят, как создаются реальные игры
Какие языки ребята изучают для создания игр и сайтов?В Кодабре мы учим ребят создавать свои игры с помощью разных инструментов.
Дети от 7 до 10 лет создают свои первые проекты с помощью блокового языка Scratch. Он очень визуальный, что помогает ребятам с легкостью освоить основы программирования. Еще один простой и удобный инструмент для самого начала обучения – Minecraft: с его помощью даже самые юные ученики проходят путь от азов компьютерной грамотности к полноценной работе с кодом.
Ребята от 10 до 14 лет также могут выбрать из нескольких вариантов: у нас есть курсы по созданию игр с помощью движка Unity и языка программирования Python. Здесь ребята получают уже более глубокие знания кода, алгоритмов, процесса создания игр.
На курсах по созданию сайтов ученики Кодабры изучают язык гипертекстовой разметки HTML, каскадные таблицы стилей (CSS), а также популярный язык программирования Java Script.
Самым старшим студентам мы предлагаем изучение разработки нейронной сети на Python и углубленное изучение разработки сайтов.
Английский для программистов — это необходимость?Знать английский программисту критически важно, потому что большинство языков программирования используют именно его.
Если ты не способен понимать значение терминов, ты никогда не напишешь даже самый простой код. Будет сложно понять смысл и отличить причину от следствия. Особенно если мы говорим о таких серьезных языках, как Python, C#, JavaScript.
Читайте также: «10 англоязычных блогов для знания языка»
Нужно ли заходить на иностранные ресурсы, чтобы научиться классно программировать или все можно найти на русском?
Существует большое количество толковых материалов на русском языке, но англоязычные источники помогают расширить свои знания и всегда быть в курсе событий на международной IT-арене.
Некоторые ученики Кодабры делились с нами, что часто сидят на международных форумах, чтобы пообщаться с программистами со всего мира, когда не могут найти решение для какой-либо задачи. Такая практика положительно сказывается как на их навыках языковых, так и на навыках программирования, так что эти два увлечения зачастую идут рука об руку.
Где сидят лучшие программисты? На какую страну равняются ребята?Силиконовая долина все еще наиболее известна своими программистами и возможностями для самореализации в сфере IT. Но на самом деле географической привязки к успеху компании нет — существует много состоятельных компаний и стартапов, которые доказали свою значимость в России.
Всем известны такие российские компании, как “Яндекс”, “Mail.Group” или “Рамблер”, которые занимают ведущие позиции на отечественном рынке. Из наших стартапов я бы выделила группу разработчиков приложения “Bookmate”, за развитием которого я сама слежу с большим интересом.
Ребята на уроке программирования в Кодабре
В каких ситуациях программисту требуется английский?С одной стороны, программистам нужно знать английский язык для написания кода или понимания интерфейса той или иной программы.
С другой стороны, IT-специалист со знанием английского может участвовать в международных проектах, ездить в командировки за границу и работать в другой стране. Знание языка расширяет возможности.
В 2016 году HackerRank опубликовала рейтинг лучших программистов мира по разным критериям. Россия практически всегда находилась в топе. Какая сейчас ситуация? Мы все еще в топе по уровню специалистов?Нас теснит Китай с его огромным кадровым резервом и мощным потенциалом, но мы все еще на лидирующих позициях, и во многом благодаря вышеупомянутым IT- компаниям, которые поддерживают идею воспитания культуры программирования у молодежи.
“Яндекс” регулярно устраивает конкурсы среди школьников и студентов, по результатам которых можно выиграть обучение на внутренних курсах компании или даже стипендию на образование. А ”Mail.Group” ведет ряд проектов вместе со студентами технических учебных заведений.
Читайте также: «9 cпособов быстрее запомнить новые слова»
Кодабра тоже развивает культуру программирования среди школьников?
Безусловно. Мы стремимся сделать из каждого ребенка создателя, а не потребителя. Свяжет ребенок в дальнейшем свою жизнь с программированием или нет — не так важно, ведь приобретенные навыки все равно будут ему полезны. Некоторые наши ученики делают сайт для своего собственного интернет-магазина, другие — чат-ботов.
Программирование помогает развить логику и алгоритмическое мышление, которые пригодятся как ребенку, так и взрослому. Дети изучают понятия из школьных курсов математики и информатики, и таким образом им становится проще осваивать программу. Еще на занятиях развиваются soft-skills – умение работать в команде и презентовать свою работу.
Мы специально проводим открытые занятия, на которых знакомим юных программистов с удивительным IT-миром.
Как программисту прокачать английский | Rusbase
Хорошему программисту требуется и технический английский, чтобы общаться с коллегами по команде, и бизнес-английский – для коммуникации с менеджерами и заказчиками на международном рынке, и разговорный – для естественного общения в чатах, на митапах, стендапах и интернет-площадках.
Зачем программисту учить английский?
Понимание терминологии
Даже российские разработчики используют огромное количество англицизмов при обсуждении рабочих тем.
Один из наших студентов рассказывал, как в первый же день на новой работе на него обрушилась лавина английских терминов. Коллеги-программисты сообщили ему, что «все фронтовики должны идти на фронт: взять таски в Джире и написать свитч».
Можно вспомнить и известный мем «Как пропатчить KDE2 под FreeBSD?», который задавали даже Путину, а также президентам Армении и Казахстана.
Эндпоинты, коммиты, репозитории, референсы и инстансы – все эти специфические словечки проще запомнить и правильно использовать, если понимаешь их смысл.
Опубликовали в Instagram-аккаунте школы словарик для начинающих программистов
Свободное изучение любой технической документации
Главный источник информации для программиста – техническая документация. Она нужна всегда. Если разработчики – это строители, то техническая документация – инструкция по сборке.
Практически вся техническая документация изначально публикуется на английском. Некоторые материалы со временем переводят на русский язык, но к этому моменту документация может безнадежно устареть. А подавляющее большинство документов и профессиональной литературы так и остаются непереведенными.
Пример документации к JavaScript с сайта devdocs.io – агрегатора документаций к самым популярным языкам программирования мира
Сотрудничество с иностранными коллегами
Программирование – интернациональное занятие. Даже в российском офисе крупной компании в команде легко могут оказаться разработчики из разных стран. В этом случае все обсуждения – на скрам-митингах, в переписке, в менеджере задач, в рабочем мессенджере – будут идти на английском. Если у компании открыты офисы в нескольких странах, общение будет идти на английском в обязательном порядке.
Кроме того, зарубежные заказчики часто готовы платить больше, чем предлагают за ту же задачу на внутреннем рынке. На английском говорит около трети населения Земли: знание языка открывает доступ к бесконечному количеству вакансий и позволяет не зависеть от колебаний местной валюты.
Профессиональная подготовка
Программист, цитируя Кэрролла, должен «бежать со всех ног, чтобы остаться на месте»: постоянно осваивать новые языки программирования и смежные навыки, чтобы его компетенции не устаревали и не теряли актуальности. Английский открывает доступ к зарубежным базам знаний и онлайн-курсам, где намного больше качественных и свежих материалов, чем в рунете.
Общение в международном комьюнити
Программисты всего мира общаются на Reddit, выкладывают свой код на GitHub и просят помощи с заковыристыми задачками на Stack Overflow. С уверенным английским вы можете быстро искать решение в сети, посещать зарубежные конференции, слушать вебинары и узнавать новости индустрии до того, как их переведут на русский.
Как учить английский?
Я большой сторонник обучения методом погружения. Лучший способ прокачать язык – это уехать на несколько недель или месяцев в англоговорящую страну. Но если обстоятельства пока не позволяют это сделать, есть способы попроще.
Поставьте цель
Поставить цель – самое важное. Она должна быть достижимая, измеряемая, с понятными сроками. «Выучить английский» – плохая цель: именно поэтому вы не видите прогресса и бросаете заниматься.
Спросите себя, для каких задач вам острее всего требуется язык. Читать документацию? Понимать сленг коллег? Выступать на конференции?
Затем выделите подзадачи и обозначьте сроки. Хороший пример цели – «за два месяца подтянуть язык, чтобы читать книги по JavaScript со словарем». Еще одна конкретная и вполне достижимая цель – «выучить терминологию по Big Data и аналитике».
Учите лексику по актуальным темам
Туризм, искусство и столицу Великобритании можно оставить на потом. Ваш первый приоритет – профессиональные темы:
- software,
- SEO,
- web-design,
- IT project management,
- IT slang,
- networking.
Продвинутым студентам я советую читать профессиональные статьи по разработке и выписывать термины и характерные обороты.
Занимайтесь регулярно
Серьезно, это работает.
Повесьте список слов на холодильник и двери или положите рядом с рабочим местом карточки с терминами.
Попробуйте слушать подкасты по дороге на работу: начинающим подойдет 6 minute English от BBC и подобные программы, продвинутым ребятам имеет смысл слушать подкасты про программирование – например, CodeNewbie для начинающих разработчиков, или Developer Tea, где выпуски длятся по десять минут и идеально укладываются в рабочий перерыв.
Не бойтесь ошибаться
Почти все поначалу стесняются говорить, потому что боятся, что кто-то услышит их ошибки. Услышит, разумеется: вы будете ошибаться, как и каждый, кто говорит на иностранном языке.
Со временем, особенно при изучении второго и последующих иностранных языков, понимаешь, что все это не так уж важно. Главное – свобода коммуникации, которую дает новый язык, и минимальное искажение смысла в процессе общения.
Фото: Unsplash
Несмотря на то что большинство из нас провели школьные годы за бесконечными упражнениями на грамматику, она не так уж и важна на начальных этапах: понимать написанное можно и без четкого знания правил, а говорить намного проще, если не фокусироваться лишний раз на возможных ошибках. В процессе погружения в язык интуитивное понимание закономерностей построения фраз придет само собой.
Окружите себя английским
Языку нужна постоянная практика.
- Переключите на английский все устройства, с которыми работаете, чтобы в пассивном режиме запоминать термины в интерфейсе.
- Заведите аккаунты на крупных IT-ресурсах и комментируйте (задача со звездочкой – поставьте себе KPI по комментариям).
- Приучите себя смотреть фильмы и сериалы с субтитрами и как можно скорее переключайтесь с русских субтитров на английские.
- Посещайте вебинары и онлайн-конференции, чтобы прокачать способность воспринимать на слух живой язык с профессиональным жаргоном.
Для тренировки восприятия на слух опять-таки подойдут подкасты. Мои любимые – новостной The Daily NY Times, истории из жизни людей в This American Life, Mission Daily – истории стартапов и стартаперов в Долине из первых рук.
Шпаргалка по полезным ресурсам
В нашей культуре считается, что шпаргалка – плохо. В Америке же любая новая тема начинается с изучения Сheat Sheet. К примеру, готовиться к публичному выступлению начинают по Public Speaking Cheat Sheet. По языкам программирования тоже есть Cheat Sheet –например, самые популярные команды в HTML.
В помощь тем, кто изучает язык, существует тысяча и один ресурс на любой вкус. Вот несколько хороших примеров.
Сайты для прокачки лексики
- Blair English – ресурс с тематическими текстами, где есть раздел IT & Web. После каждого текста предлагают пройти тест на знание терминов из статьи.
- Business English Site – этот сайт помогает запомнить основные правила использования IT-лексики в текстах.
- Duolingo – бесплатный портал и приложение для изучения языка в форме коротких игровых уроков.
Словари и переводчики
- Oxford Dictionary – классический словарь на любой случай.
- Urban Dictionary – словарь сленговых терминов. В Америке, особенно в Сан-Франциско, где кругом хипстеры и кейл, сами носители языка постоянно ищут в Urban Dictionary новые словечки, услышанные от собеседников.
- Reverso Context – онлайн-переводчик, который показывает слова и их перевод в контексте реальных фрагментов текстов. Подходит, если нужно уточнить, как именно применяется слово.
- Techterms.com – сайт с огромным количеством технических терминов. Все они ранжированы по категориям, есть удобная система поиска. Каждый день на сайте публикуют термин дня и квиз дня.
Англоязычные фильмы и сериалы на IT-тематику
- The IT Crowd – сериал об айтишниках в Лондоне.
- The Big Bang Theory – сериал о гиках и научных работниках.
- Silicon Valley – сериал, о котором стартаперы говорят: «Все как в жизни».
- The Matrix – гениальный программист в массовом сознании выглядит точь-в-точь как главный герой фильма.
- The Internship – показывает, как устроена работа в IT-стартапах.
- Pirates of the Silicon Valley – фильм о Билле Гейтсе, Стиве Джобсе и о том, как все начиналось.
- Mr Robot – отличный сериал для тех, кто думает, не уйти ли в программирование.
Выступления и обучающие ролики
- Ted.com – всемирно известный проект, где представители самых разных профессий и специальностей рассказывают о своих идеях и достижениях. Огромное количество технических видео.
- Learning Programming – обучающие видео по разным языкам программирования, фреймворкам.
- Sentdex – Youtube-канал для разработчиков на Python.
Новости, статьи, обсуждения
Я всегда стараюсь донести до будущих разработчиков, как важно следить за новостями: действия компаний меняют рынок, и скорость этих изменений такова, что важно постоянно держать руку на пульсе, чтобы не остаться за бортом.
Фото: Unsplash
Многие новости имеют прямое практическое значение: маленькая компания привлекла деньги – можно идти и устраиваться, «Яндекс» вложился в развитие направления – скоро будет набор профильных специалистов.
Важно читать и американские новости, потому что именно там сейчас начинаются все технологические изменения, которые затем приходят к нам.
Джентльменский набор для мониторинга новостей:
Неформальное обсуждение всего на свете по-английски происходит на площадке Reddit.com.
Главное в изучении английского языка – постоянство. Если вы прямо сейчас начнете заниматься каждый день хотя бы по полчаса, то уже через пару месяцев заметите прогресс.
Фото на обложке: Unsplash
# | английский | русский |
1 | class | класс |
2 | variable | переменная |
3 | example | пример |
4 | folder | папка |
5 | property | свойство |
6 | versatile | многофункциональный, универсальный |
7 | maintenance | поддержка |
8 | explanation | объяснение |
9 | experience | опыт, случай |
10 | theme | тема |
11 | separate | отдельный, разделять |
12 | bundle | пакет |
13 | feature | характеристика, особенность, функция |
14 | response | ответ, реакция |
15 | in particular | в частности |
16 | chapter | глава |
17 | simple | простой |
18 | precise | точный, четкий |
19 | current | текущий, действующий |
20 | useless | бесполезный |
21 | allow | разрешать, допускать |
22 | fiddle | играть |
23 | perform | выполнять |
24 | explicitly | явно |
25 | especially | особенно, главным образом |
26 | previous | предыдущий |
27 | thoroughly | тщательно, полно |
28 | scheme | схема, план |
29 | field | поле, область |
30 | necessary | необходимый |
31 | therefore | поэтому |
32 | string | строка |
33 | definition | определение |
34 | implement | реализация, внедрение |
35 | for simplicity | для простоты |
36 | thus | следовательно, таким образом |
37 | strictly speaking | строго говоря |
38 | blatant | явный |
39 | assignment | задание, присвоение |
40 | defence | защита |
41 | prohibit | запрещать, препятствовать |
42 | invocation | просьба, вызов |
43 | revert | возвращаться |
44 | credentials | учетные данные |
45 | appropriate | адаптировать, соответствовать |
46 | fortunately | к счастью |
47 | persistent | постоянный, стойкий |
48 | constraint | ограничение |
49 | comprehensive | всесторонний |
50 | stuff | материал, наполнять |
51 | layout | макет, разметка |
52 | guest | гость |
53 | rudimentary | элементарный |
54 | suffice | удовлетворять, быть достаточным |
55 | anyway | в любом случае |
56 | introduce | представлять |
57 | mention | упоминание |
58 | although | хотя, если бы даже |
59 | validation | проверка |
60 | boilerplate | шаблон |
61 | password | пароль |
62 | correspond | переписывать, соответствовать |
63 | conclude | завершать, заканчиваться |
64 | closure | закрытие |
65 | cumbersome | тяжелый, громоздкий |
66 | briefly | в двух словах, кратко |
67 | probably | возможно |
68 | forbid | запрещать |
69 | template | шаблон |
70 | encapsulation | инкапсуляция |
71 | inheritance | наследование |
72 | polymorphism | полиморфизм |
73 | reference | ссылка |
74 | exception | исключение |
75 | namespace | пространство имен |
76 | performance | производительность, выполнение |
77 | predefine | предопределять |
78 | selection | выделение, выбор |
79 | requirement | требование |
80 | request | запрос |
81 | sign up | зарегистрироваться |
82 | overloading | перегрузка |
83 | loop | цикл |
84 | function | функция |
85 | newbie | новичок |
86 | bugbear | проблема |
87 | button | кнопка |
88 | network | сеть |
89 | execute | выполнять, запускать |
90 | benefit | польза, преимущество |
91 | purpose | цель |
92 | descendant | потомок |
93 | denote | обозначать |
94 | deny | отказывать |
95 | permission | разрешение, полномочия |
96 | assumption | предположение |
97 | afterwards | впоследствии, позже |
98 | preliminary | предварительный |
99 | consecutive | подряд, последовательный |
100 | breakdown | анализ, отказ, крах |
101 | excerpt | выборка, извлекать |
102 | elaborate | разрабатывать, конкретизировать |
103 | column | столбец, колонка |
104 | hinder | препятствовать |
105 | concise | лаконичный |
106 | prerequisite | предпосылка |
107 | restriction | ограничение |
108 | relieve | помогать, освобождать |
109 | solution | решение |
110 | embodiment | воплощение |
111 | misleading | вводить в заблуждение |
112 | clunky | неуклюжий |
113 | settings | настройки |
114 | utilize | использовать |
115 | essentially | по сути |
116 | bind | связывать |
117 | reset | сброс |
118 | single quotes | одинарные кавычки |
119 | omit | опускать |
120 | robust | устойчивый |
121 | ensure | гарантировать, убеждаться |
122 | setup | устанавливать |
123 | mandatory | обязательный |
124 | intervene | вмешиваться |
125 | sake | польза |
126 | batch | пакет, комплектовать |
127 | acquire | приобретать |
128 | switch | переключать |
129 | bottleneck | узкое место |
130 | obsolete | устаревший, редко используемый |
131 | amount | количество |
132 | enormous | огромный |
133 | issue | проблема, выпуск |
134 | bootstrap | загружать |
135 | enhancement | улучшение, усиление |
136 | free | свободный, бесплатный |
137 | indispensable | обязательный |
138 | ability | способность, возможность |
139 | attachment | присоединение |
140 | pros and cons | за и против |
141 | vulnerability | уязвимость |
142 | integer | целое число |
143 | in alphabetical order | в алфавитном порядке |
144 | timestamp | метка времени |
145 | viz. | то есть |
146 | assemble | собирать |
147 | as already mentioned | как уже упоминалось |
148 | truly | истинно |
149 | tweaking | тонкая настройка |
150 | sparingly | экономно |
151 | exhaustive | исчерпывающий |
152 | middleman | посредник |
153 | wrapper | обертка, оболочка |
154 | inclusive | включительно |
155 | malicious | вредоносный |
156 | pertain | принадлежать |
157 | blurring | нечеткость, размытие |
158 | guess | догадаться |
159 | hitch | помеха |
160 | sequentially | последовательно |
161 | retrieving | извлечение, восстановление |
162 | clause | условие |
163 | fetch | выборка, извлекать |
164 | ambiguity | неоднозначность |
165 | from the ground up | c нуля |
166 | comprehend | постигать |
167 | significant | важный |
168 | forgo | воздерживаться |
169 | eradicate | уничтожать |
170 | desirable | желательный |
171 | the crucial part | ключевая роль |
172 | delve into the details | копаться в деталях |
173 | the goal is to create a database schema | цель — создать схему данных |
174 | saving you lots of time and energy | значительная экономия ваших сил и времени |
Технический английский для IT: словари, учебники, журналы
Сегодня день программиста. По этому поводу в нашем офисе праздник, шарики, салюты (на самом деле нет: мы усердно работаем). Но обойти стороной такой день мы не могли, поэтому подготовили статью про технический английский для it-специалистов.
Для чего разработчику английский (самой стало смешно от этого вопроса). Ответ очевиден: английский нужен для понимания терминологии, работы с англоязычными интерфейсами, чтения технической документации, изучения профессиональной литературы, конференций и вебинаров… Ну и, разумеется, для возможности работы за границей.
Разработчики и так знают огромное количество английских слов (послушать хотя бы наших: они будто вообще по-русски не говорят, а только «фиксят», «дебажат», «асапят»). Но использовать профессиональный сленг – не значит полноценно владеть английским языком. Поэтому мы собрали в статье ресурсы, благодаря которым ты сможешь полноценно прокачать английский для работы.
Содержание статьи «Английский для разработчиков»:
Ищем профессиональную лексику:- Учебники
- Онлайн-ресурсы
- Наборы слов и технические английские словари
- Профессиональная литература (онлайн-журналы и блоги)
- Аудирование (список видео и подкастов)
- Говорение (профессиональные соцсети для программистов)
Английский словарь для программистов: источники лексики
Лексика для разработчиков обширна. Те, кого обыватель может назвать «айтишником», включают в себя десяток разных специализаций: frontend разработчики, backend разработчики, тестировщики, веб-дизайнеры, продакты и другие (но все они должны уметь «чинить компьютер»).
Мы собрали источники, где можно найти как базовую, так и узкоспециальную лексику.
1. Английский для it-специалистов: учебникиУчебники особенно подойдут тем, кто решил осваивать язык самостоятельно, поскольку они предлагают готовую программу занятий.
English for Information Technology – подходит для начального уровня. Включает в себя основную базовую лексику.
Career path Software Engineering – лексическое пособие для программистов, которое объединяет специализированную лексику и рабочие ситуации для развития навыков общения. Темы: разработка ПО, тестирование, пользовательский интерфейс, моделирование, варианты карьеры и др.
Oxford English for Information Technology – еще один полноценный курс. Подходит для среднего уровня. Включает в себя рабочую книгу студента и аудиокурс к ней.
Professional English in Use ICT – курс подходит для среднего уровня. Книга строится от простого к сложному, все юниты разбиты по темам.
Check Your English Vocabulary for Computers and IT – рабочая тетрадь, призванная улучшить понимание технической лексики. Включает в себя кроссворды, головоломки и др.
2. Английский для it: онлайн-курсыВ Интернете можно найти сайты и с различными онлайн-тренажерами для твоего технического английского.
lingualeo.com – начнем с себя. 🙂 У нас есть два «лакомства» для it-специалистов: курс «Английский для IT», который подходит даже для начального уровня, и онлайн-интенсив «Английский для IT бизнеса», который прокачивает и профессиональную лексику, и аудирование, и письменную и устную речь.
blairenglish.com – еще один классный сайт с онлайн-упражнениями. На нем ты найдешь тексты, в которых выделены новые слова, а ниже даны тесты на проверку этих новых слов.
www.english5it.com – сайт позиционирует себя, как интерактивная рабочая тетрадь в онлайн-режиме. На сайте есть тексты, аудио, словарь, задания и даже шутки.
3. Английский для ит-специалистов: словариНайти базовые термины можно в специализированных наборах слов и словарях.
На Lingualeo есть наборы слов IT Terms, Startup Vocabulary, а также разговорники Business Meetings, Small Talk.
Специализированную лексику ты также сможешь найти на сайтах:
Сайты англоязычные, но наше бесплатное расширение для браузера переведет любое слово в два клика.
4. Профессиональная литература: блоги, журналы для it-специалистовСамый эффективный способ пополнения словарного запаса – «вынимать» слова из живого контекста. Например, читать статью о профессиональном вопросе и выписывать оттуда новые слова. Такая лексика лучше запомнится, ведь будет ассоциироваться с качественным контекстом.
Материалы на Lingualeo: технический английский для программистовВ библиотеке материалов Lingualeo более 250 тыс. аутентичных текстов, видео, аудио и т.д. Главная фишка в том, что ты можешь 1. нажать на незнакомое слово ⇒ 2. увидеть перевод ⇒ 3. добавить слово на изучение ⇒ 4. выучить его с помощью интерактивных тренировок. Да и контекст всегда будет с тобой.
У нас есть огромное количество материалов по IT-тематике: коллекция Coursera Information Tech & Design, коллекция CS Systems & Security, коллекция CS Software Engineering и др.
Также лексику и идеи можно черпать из коллекции TED Технологии и из специальной коллекции материалов Technology. А здесь мы собрали классные примеры Elevator pitch.
Как искать материалы: вводишь в поисковую строку любой технический термин по-английски и сортируешь материалы по уровню сложности и формату (видео, аудио, книга). Инструкция по ссылке.
Журналы и блоги на английском для разработчиковПринцип работы с текстами на других сайтах может быть таким же удобным: 1. устанавливаешь наше бесплатное расширение ⇒ 2. тыкаешь на незнакомые слова ⇒ 3. и добавляешь их на изучение.
Где искать тексты:
Также изучи подборку: List of computer magazines
Работаем с другими навыками: аудирование, практика речи
Полноценное владение иностранным языком включает в себя 4 навыка: чтение (для него мы назвали много сайтов), аудирование, письмо и говорение (то есть речь). Для аудирования и речи найдем дополнительные ресурсы.
1. Аудирование: подкасты и видеоЧасть коллекций на Lingualeo, о которых я говорила выше – Information Tech & Design, CS Software Engineering – это коллекции с видео, которые тоже помогут прокачать аудирование. Теперь давай найдем еще и подкасты:
- Herding Code – технологические подкасты со Скоттом Алленом, Кевином Денте, Скоттом Куном и Джоном Галловэем.
- Soft Engineering Radio – еще один классный сайт с подкастами для программистов.
- iOSBytes – подкасты для iOS-разработчиков
- Android Developers Backstage – подкасты для Android-разработчиков.
- Talk Python To Me – подкасты для тех, кто работает с Python.
На самом деле можно найти и больше подкастов: погуглить «podcast + интересующий язык программирования, тема и др.».
Еще один лайфхак: начни смотреть какой-нибудь сериал про разработчиков в оригинале. Тебе поможет статья: Где смотреть сериалы на английском бесплатно.
2. Практика речи: профессиональные форумыБез речевой практики далеко не уедешь. Если сейчас у тебя нет ситуаций реального общения на английском, воспользуйся специальными форумами. На них ты сможешь не только потренировать язык, но и задать вопрос по работе:
Таких форумов и социальных сетей огромное количество. Попробуй загуглить «social network for developers» и ты увидишь целую ленту подборок с описанием.
Подведем итоги: английский для веб-дизайнеров, it-специалистов
- Как и любому специалисту, разработчикам нужен не только базовый английский, но и узкоспециальный. В основном, это касается специальной лексики.
- Лексику можно найти в профессиональных словарях и в материалах на английском. Второй вариант предпочтительнее: так ты крепче усвоишь даже самые сложные слова.
- Не забывай и другие навыки: аудирование (слушай подкасты, смотри видео и сериалы) и речь (общайся с англоязычными коллегами на специальных форумах и в социальных сетях).
Ну что же, еще раз поздравляем причастных с праздником! А теперь айда учить английский. 🙂
что нужно для изучения специализированной лексики на английском языке
Сфера ИТ неразрывно связана не только с языками программирования, но и с английским языком. И это не случайно: в сфере информационных технологий без английского языка не обойтись. Терминология, техническая документация, спецификация, обучающие материалы — все это написано на английском. Несмотря на это, российскому рынку до сих пор не хватает it-специалистов с хорошим английским.
Зачем программистам учить язык?
— знание английского языка напрямую связано с карьерными возможностями, релокацией за границу и более высокой зарплатой,
-возможность читать профессиональную литературу, технические мануалы и спецификацию без словаря,
-общение с зарубежными коллегами на форумах, обмен знаниями и опытом решения задач,
-возможность наладить коммуникацию и вести переговоры с иностранными заказчиками и тим-лидами,
— профессиональное и личностное развитие,
Что программистам стоит учитывать при изучении английского
Для эффективной коммуникации с заказчиком мало знать технические термины и разбираться в грамматике.
Полезно будет изучить основы делового общения, подтянуть так называемый бизнес-английский.
В технических текстах, как правило, предложения достаточно простые. Поэтому не стоит останавливаться в изучении английского на стадии, когда вам понятна документация. В английской речи часто используются сложные грамматические конструкции с дополнениями и подчиненными предложениями.
Прежде, чем приступить к изучению, стоит определиться со сроками изучения и целями. Фраза “Я хочу выучить язык” лишена конкретики. Задумайтесь над тем, для чего вам это нужно и какого уровня вы хотите достичь.
Приготовьтесь постоянно улучшать свои “скилы”. Английскому, как и любому другому языку, требует постоянно уделять внимание и чаще практиковать его.
На курсах английского языка в Capital School Center вы получите базовые знания, необходимы it-специалисту для работы, расширите свой словарный запас новыми английскими фразами и выражениями и начнете говорить с зарубежными коллегами на одном языке.
Айтишники ежедневно встречаются с большим количеством английских терминов.
Приведем некоторые английские слова для программистов:
assignment — присвоение
cloud storage — облачное хранилище
database — база данных
compile — компиляция, компилировать
debug — отладка
folder — папка
outsource — аутсорсинг
upload — загрузить
variable — переменная
layout — разметка
namespace — пространство имен
password — пароль
validation — проверка
interface — интерфейс
template — шаблон
algorithm — алгоритм
disconnect — разъединять
reboot — перезагружать
enable — активировать
query — запрос
array — массив
Программа обучения в Capital School Center включает
- большое внимание уделяется специализированной технической терминологии
- перевод простых и сложных текстов IT-тематики (создание сайтов, инфографика, безопасность информации)
- самое главное – это навык говорения, который необходим для общения с зарубежными коллегами и заказчиками
Материалы, которые будут полезны программистам
Подкасты на английском
Аудиоматериалы улучшают восприятие английской речи на слух.
Se-radio.net — подкасты, ориентированные на разработчиков программного обеспечения. На этом образовательном ресурсе 3-4 раза в месяц выходит новый подкаст. Эксперты из мира разработки программного обеспечения обсуждают профессиональные вопросы.
Herdingcode.com — здесь можно найти как узконаправленные, так и общие темы по программированию на английском. Продолжительность ролика 30-60 минут.
Ruby5.codeschool.com — ролики в большинстве своем до 6 минут и не столь информативные, как на предыдущем портале. Подкасты выходят раз в 10 дней.
Talkpythontome.com — здесь собраны подкасты на английском для разработчиков, пишущих на Python. Каждую неделю выходит новый ролик продолжительностью 20-60 минут.
Fivejs.codeschool.com — на портале собрано большое количество полезной информации для разработчиков, изучающих javascript.
Словари для it-специалистов
- Computerlanguage.com — более 25 тысяч терминов в сфере информационных и компьютерных технологий.
- TechTerms — бесплатный онлайн-словарь компьютерных и интернет-терминов. Технические определения здесь описаны максимально простым языком.
- Computerhope.com — бесплатный словарь, более 14 тысяч компьютерных терминов. Со страницы есть ссылка на форум, где можно получить поддержку опытных специалистов.
Можем посоветовать следующие учебники английского для программистов:
English for Information Technology — предназначен для студентов, которые уже немного знают язык и теперь нуждаются в базовом курсе в данной конкретной области. В учебнике есть темы, которые отражают последние достижения в области ИТ, к нему прилагается диск с интерактивными глоссариями.
Career path Information Technology — пособие содержит профессиональную лексику: более 400 терминов и фраз, реалистичные диалоги, охватывает широкий спектр it-тем: веб-дизайн, компьютерные аксессуары, программное обеспечение. Курс разделен на 3 уровня. К пособию прилагаются диски, чтобы программисты могли оттачивать навыки аудирования.
Oxford English for Information Technology — пособие содержит тематические тексты для чтения, выдержки из популярных английских компьютерных журналов, материалы для прослушивания, интервью с настоящими специалистами в сфере ИТ. Каждый пятый блок рассчитан на развитие навыков аудирования. Этот учебник для разработчиков рассчитан на студентов среднего уровня, включает полный глоссарий английской терминологии в сфере ИТ.
Professional English in Use ICT — книга охватывает широкий спектр актуальных тем по технологиям коммуникаций в it-сфере. Новые слова объясняются на английском.
Английские онлайн-журналы и блоги
Technologyreview.com — создатели сайта тщательно фильтруют поток информации о технологиях и отдирают для сайта самое лучшее. Среди постоянных читателей сайта не только программисты, но и все, кто считает, что за технологиями будущее.
Sdtimes.com — ежемесячный журнал для разработчиков программного обеспечения, специалистов по тестированию и менеджеров проектов. В журнале дается широкий обзор того, что происходит в it-индустрии.
Improgrammer.net — этот сайт создан для того, чтобы мотивировать заниматься программированием. Здесь можно найти учебники по программированию на английском, блоги, шуточные программы, есть раздел “Юмор”.
Форумы, где разработчики общаются на английском
Stackoverflow.com — пожалуй, это самый популярный форум, знакомый любому программисту. Это крупнейшее онлайн-сообщество, которое позволяет разработчикам делиться знаниями, развиваться и искать работу. Переписка ведется на английском. Ежедневно форум посещают более 50 миллионов начинающих и профессиональных разработчиков.
Forums.devshed.com — форум для начинающих и профессиональных разработчиков со всего мира. Здесь можно найти советы по различным языкам программирования, сценарии с открытым исходным кодом, есть отдельный раздел для разработчиков игр и геймеров.
Помимо чтения профессиональной литературы на английском, прослушивания подкастов и общения на форумах мы советуем использовать развлекательный контент в процессе обучения. Мозгу иногда нужно расслабляться, устройте себе отдых. Так, комедийный сериал Silicon Valley — кладезь не только терминов, но и шуток на английском, понятных “айтишникам”. Группа стартаперов пытается создать качественный it-продукт, но у них постоянно что-то случается. Программирование — это та сфера, где развит профессиональный сленг. В сериале вы найдете “словечки” из живой речи айти-специалистов.
Youtube-каналы для айтишников
Adam Khoury учит кодировать и проектировать на профессиональном уровне. На канале есть материал по JavaScript, PHP и другим языкам программирования, в также SQL, HTML, CSS, ActionScript.
Канал Google Developers рассказывает о событиях в сфере ИТ, передовых технологиях, рассказывает о последних обновлениях и новых продуктах.
Helping Develop — обучение разработке и веб-дизайну.
Brad Hussey — помогает разработчикам и веб-дизайнерам раскрыть свой потенциал, в видео-уроках доступно и понятно излагается материал.
Как it-специалисту начать общаться на английском?
Английскую лексику и грамматику можно проработать самостоятельно, но не стоит забывать о таком важнейшем аспекте, как говорение. Именно умение свободно общаться на иностранном языке позволит вам найти новых заказчиков и вести успешные переговоры на английском.
Как бы банально это ни прозвучало, но для того, чтобы начать говорить на английском, надо говорить. Заучивания новых слов будет недостаточно.
Это все равно, что программист читал бы учебник по программированию, но не написал ни одной программы. Только практика способна дать результат.
Английский язык всегда был must-have для разработчиков, тестировщиков и всех специалистов сферы ИТ. Практически все образовательные ресурсы, весь обучающий материал составлен на этом языке.
Для того, чтобы быть в курсе последних новостей в своей сфере, идти в ногу со временем, не отставать от западных специалистов, необходимо учить английский язык.
Мотивация является важнейшей составляющей успешного обучения. Также важная обратная связь.
Ученики, занимающиеся с преподавателем, зачастую более мотивированы: учитель отмечает их успехи, хвалит за результаты, они вместе движутся вперед. Глобальная и промежуточная цели напоминают о том, зачем вы занялись английским и не дают забросить уроки. Выделите 2-3 дня в неделю и занимайтесь регулярно.
Курсы в Capital School Center сделают процесс изучения непростого технического английского интересным. Преподаватели Capital School Center используют современную 4D методику. Вы начнете лучше понимать свою профессию, которая неразрывно связана с английским языком. Ждем вас на занятиях!
Оставить заявкуВконтакте
Одноклассники
Мой мир
Как языки программирования выигрывают от того, что они основаны на английском?
Для забавного чтения о контексте языка и о том, как мы в конечном итоге смотрим на вещи:
Материал мыслей Стивен Пинкер
Помните, мы говорим о языковой конструкции, а не о том, как мы передаем информацию (не одно и то же). Я работал с кодом, в котором основным языком для переменных был немецкий (код было не менее легко понимать). По сути, в английском языке нет ничего, что лучше всего подходило бы для программирования, если мы сразу перейдем к тому, как наш язык структурирован, он, вероятно, на хуже, не лучше, и это может быть по многим причинам:
- Отсутствие структуры (можно поставить подлежащее / сказуемое / существительные / прилагательные где угодно),
- Изменчивость наших слов (мы чувствуем, что можем сокращать ВСЕ)
- BIG ONE: Тот, кто свободно владеет английским языком, не сможет лучше понять часть кода, чем тот, кто не понимает английского языка.
Спрашивать, почему в языках программирования используется «английский», все равно что спрашивать, почему в периодической таблице все еще есть буква «W», обозначающая вольфрам. Большинство людей не могут сказать вам почему, если они не знают историю. А если вам нужна история языков программирования, мы должны вернуться к перфокартам, байтовым инструкциям и сборке.
В сборкенет основных «английских» конструкций, но она настолько близка к машинному коду, насколько это возможно, без ненависти к себе. Кроме того, все структурные элементы языков более высокого уровня могут и регулярно реализуются теми из нас, кто достаточно сумасшедший, чтобы наслаждаться этим.LD, MV, ST, BRA и остальная часть набора инструкций совсем не похожи на английский, но я могу его отлично прочитать и понять весь смысл.
Мы присваиваем то же значение LD или MV в сборке конструкциям более высокого уровня, мне не нужно знать, что означает переменная, и во многих случаях не будет, если она в любом случае на английском языке из-за № 2 в моем списке. Набор идентификаторов, таких как int, str, enum и т. Д., Позволяет узнать, с чем вы работаете, не более того. Если бы вместо int идентификатором было seagull , мы бы все знали, что означает «чайка» в контексте кодирования, не потому, что это английский язык, а именно то, что покрывает идентификатор.
TL; DR: языки программирования, как и любой другой язык, нуждаются в обучении, чтобы понимать. Причина, по которой их команды написаны на английском, а не на испанском, немецком или русском, скорее эзотерическая и историческая, чем какая-то необходимая конструкция английского языка, более или менее подходящая для идентификаторов в конструкции формального языка.
Программирование и универсальный язык (DDD) в неанглийском домене
Я знаю, что здесь уже есть несколько вопросов, которые тесно связаны с этой темой, но ни один из них не берет за отправную точку вездесущий язык, поэтому я думаю, что это оправдывает этот вопрос.
Для тех, кто не знает: повсеместный язык — это концепция определения языка (как устного, так и письменного), который в равной степени используется разработчиками и экспертами в предметной области, чтобы избежать несоответствий и недопонимания из-за проблем с переводом и недопонимания. Вы увидите одну и ту же терминологию в коде, в разговорах между членами команды, в функциональных спецификациях и многом другом.
Итак, меня интересовало, как работать с повсеместным языком в неанглийских доменах.
Лично я настоятельно рекомендую писать программный код полностью на английском языке, включая комментарии, но, конечно, исключая константы и ресурсы.
Однако в неанглийском домене я вынужден принять решение:
- Написать код, отражающий универсальный язык на естественном языке домена.
- Переведите универсальный язык на английский и прекратите общение на естественном языке домена.
- Определите таблицу, которая определяет, как универсальный язык переводится на английский.
Вот некоторые из моих мыслей, основанных на этих вариантах:
1) Я категорически против кода смешанного языка, то есть кодирования с использованием имен типов / членов / переменных и т. Д., Которые не являются английскими. Большинство языков программирования в значительной степени «дышат» английским, и большая часть технической литературы, названий шаблонов проектирования и т. Д. Также написана на английском языке. Поэтому в большинстве случаев просто невозможно написать код полностью на неанглийском языке, так что в любом случае вы получите смешанные языки.
2) Это заставит экспертов в предметной области начать думать и говорить в английском эквиваленте UL, что, вероятно, не будет для них естественным и, следовательно, значительно затруднит общение.
3) В этом случае разработчики общаются с экспертами в предметной области на их родном языке, в то время как разработчики общаются друг с другом на английском языке и, что наиболее важно, они пишут код, используя английский перевод UL.
Я уверен, что не хочу выбирать первый вариант, и я думаю, что вариант 3 намного лучше, чем вариант 2.Как вы думаете? Мне не хватает других вариантов?
ОБНОВЛЕНИЕ
Сегодня, примерно через год, когда я ежедневно занимался этой проблемой, я должен сказать, что вариант 3 для меня очень хорошо сработал.
Это было не так утомительно, как я изначально опасался, и перевод в реальном времени во время разговора с клиентом тоже не был проблемой.
На основании своего опыта я также обнаружил, что следующие преимущества являются правдой.
- Перевод UL заставляет вас уделять больше внимания определению UL и даже самому домену, особенно когда вы не знаете, как перевести термин, и вам нужно начать просматривать словари и т. Д.Это даже заставило меня несколько раз пересмотреть решения по моделированию предметной области.
- Это поможет вам углубить свои знания английского языка.
- Очевидно, на ваш код гораздо приятнее смотреть, чем на ошеломляющую непристойность.
Y Studios — ИНФОРМАЦИЯ | Passion
CODE SPEAK
Изучая эту тему, мы также просматривали многочисленные форумы разработчиков, чтобы узнать точку зрения экспертов. Он выявил множество мнений программистов о том, почему они считают, что английский язык преобладает в программировании.Вот несколько цитат на выбор:
«Наличие английских ключевых слов позволяет абстрагировать программирование от обычного языка. для нас… Нам НЕ нужны ключевые слова на местном языке для программирования. Любой, кто создал свой собственный язык программирования в университете и попробовал использовать местные ключевые слова, согласится со мной в том, насколько сложно читать код ».
«Благодаря развитию высоких технологий английские слова используются чаще. Отчасти проблема в том, что недостаточно изменить ключевые слова. Иностранные грамматики могут сбить с толку заученный перевод утверждений. Порядок слов может сильно отличаться от одного языка к другому. ”
“ На глобальном экономическом рынке, которым стала разработка компьютеров, общий язык кажется наиболее разумным. ”
“ Одна из трудностей, позволяющих переключать ключевое слово на лету на другой язык, заключается в том, что ключевые слова должны быть «зарезервированы», чтобы их нельзя было использовать в качестве идентификаторов. Переключение языков на лету приведет к тому, что в игру вступит другой набор зарезервированных слов, что может привести к конфликтам. ”
“ Преимущество английского языка в том, что на нем говорят многие сотни миллионов людей. Язык, использующий неанглийские ключевые слова, вероятно, не будет иметь спроса, необходимого для его поддержки . Единственное исключение вроде бы китайцы. На нем говорят даже больше людей, чем на английском, и огромная разница между английским и китайским сделает изучение английского более серьезным препятствием для изучения китайского языка по программированию.”
“ Английский — международный язык бизнеса, люди пишут программы в основном для своего рода бизнеса. ”
“ Английский язык является языком по умолчанию и стандартом де-факто. Если вы хотите охватить большую аудиторию, вы выбираете язык, на котором говорят многие. Мы учим английский, как медик изучает латынь. »
« Это потому, что программисты должны сообщать о своем коде.Это легко, если есть стандарт, и стандарт прост — это английский ».
«Это потому, что Английский язык является лингва-франка для мира полиглотов . Преобразовать списки зарезервированных слов в любой язык, который вы хотите, довольно просто, но никто не беспокоит, потому что это создает другие проблемы на платформе. Я говорю на 5 языках и работал во многих разных странах. Английский просто удобен и прост для большинства людей. ”
“ Английский язык кажется хорошо адаптированным для программирования. На большинстве родных языков поиск кратких эквивалентов ключевых слов может стать обузой. Некоторые языки могут соответствовать, но некоторые языки просто не выдерживают испытания ».
“ Большинство широко используемых языков программирования основаны на английском, и большинство из них привлекают международную аудиторию .»
« Для самого кода … все на английском. Это имеет смысл, если вы понимаете, что большинство онлайн-ресурсов находятся на английском языке, и тот факт, что делиться кодом с людьми из других культур также становится проще. ”
“ По большей части, Китайский код на «английском» (то есть они кодируются на той же версии языков программирования, которые используются в США, с английским языком). ключевые слова и так далее).Однако есть некоторые языки программирования, которые в разной степени обслуживают китайский язык, например ChinesePython ».
«Код написан на стандартных языках программирования, хотя комментарии (и, возможно, имена переменных) могут быть написаны на китайском языке. Нет смысла изобретать колесо заново (где «колесо» — это C ++, Perl, Python и т. Д.) , когда вы можете просто выучить несколько ключевых слов. ”
Конечно, похоже, что у большинства программистов во всем мире нет проблем с использованием английских ключевых слов для кодирования.Зачем создавать новый способ кодирования, если его никто не понимает? Если он не сломан, зачем его ремонтировать, правда?
Мы отдыхаем. Спасибо.
Почему все языки программирования на английском? | Дженни Мандл
Существуют ли другие языки программирования, основанные на других языках? Если есть, то для чего они нужны?
Во время стажировки в Microsoft этим летом у меня была возможность познакомиться с множеством разработчиков из других стран. Зная, что английский был их вторым языком, я представил себя пытающимся научиться программировать на языке программирования, основанном не на английском.Идея казалась невозможной, но очевидно, что люди вокруг меня научились программировать на языке, отличном от их родного.
Во-первых, не все языки программирования на английском языке, однако ключевые слова, используемые почти для всех языков, на английском языке. Комментарии, переменные, классы и методы, написанные пользователем, часто написаны на собственном языке программиста. Насколько это может быть запутанным? Особенно с точки зрения поддержки кода или работы над ним других разработчиков.В этом списке языков программирования, не основанных на английском, написано:
«из более чем 8500 зарегистрированных языков программирования, около 2400 из них были разработаны в США, 600 — в Великобритании, 160 — в Канаде и 75 — в Австралии. Другими словами, более трети всех языков программирования были разработаны в стране, которая в основном говорит по-английски ».
Это даже не учитывает языки, разработанные в неанглоязычных странах, сделанные на английском языке, чтобы привлечь международную аудиторию.PASCAL, разработанный в Швейцарии, был основным языком, на котором разрабатывались первые компьютеры Macintosh. Никлаус Вирт, швейцарский ученый-компьютерщик, разработавший PASCAL, мог использовать любой из четырех национальных языков Швейцарии. Почему он выбрал английский?
В то же время, когда PASCAL разрабатывался в начале 1970-х, министерство образования Франции курировало разработку и распространение языка под названием LSE, Langage symbolique d’enseignement — символический язык для преподавания, который был основан на французском диалекте и имеет французский язык. ключевые слова.Он быстро умер в 1980-х и в шутку стал называться Langage Sans Espoir — «Язык без надежды». Что бы произошло, если бы PASCAL был разработан на французском языке?
Среди других историй успеха, похожих на историю PASCAL, — Python, созданный в Нидерландах, Lua из Бразилии и Ruby из Японии. Даже PHP был создан датчанином, жившим во французской Канаде!
Причина этого может быть похожа на то, почему большинство музыкальных терминов написано на итальянском языке, потому что большая часть наиболее важных ранних композиторов от эпохи Возрождения до периода барокко была итальянской, и именно в этот период многие из этих терминов были используется для описания совершенно новых идей.
Согласно списку Forbes крупнейших технологических компаний мира в 2016 году, основанному на сводном балле, полученном на основе равновзвешенных показателей выручки, прибыли, активов и рынка:
«Четырнадцать из 25 крупнейших технологических компаний мира приветствуют из США, включая семь из топ-10: Apple, Microsoft, Alphabet, Intel, IBM, Cisco Systems и Oracle ».
Тем не менее, в нем также говорится, что:
«Азиатско-Тихоокеанский регион хорошо представлен в остальной части списка с восемью компаниями — тремя из Китая, по две из Тайваня и Южной Кореи и одной из Индии.Германия, Швеция и Финляндия замыкают 25 лучших в области технологий ».
Как вы думаете, почему наиболее важные языки программирования основаны на английском?
Каждый может легко научиться программированию — если знает английский
Технологии меняют индустрию за индустрией, и люди со всего мира изучают компьютерное программирование. Видение первой всемирной паутины заключалось в том, чтобы делиться знаниями и укреплять доверие во всем мире в Интернете. С помощью Google и других приложений мы все можем научиться писать программы через Интернет.
В то время как Интернет помогает создать протокол и платформу для облегчения обмена знаниями, большинство языков программирования, документации и онлайн-обучения ведутся на английском языке.
Это препятствует тому, чтобы носители английского языка могли изучать компьютерное программирование и делиться своими знаниями по всему миру.
Представьте, что самым популярным языком программирования, который вы сейчас используете для создания своего веб-сайта, HTML, будет не английский, а китайский. Когда вы собираетесь изучить красивый веб-сайт, проверив его исходный код в Интернете — все это написано на иероглифах.Вместо тега
у него будет тег <稱號>
. Вместо
у него будет <文章>
. Вы по-прежнему чувствуете мотивацию и хотите возиться с Интернетом. Поэтому вы ищите материалы в Интернете. Однако вы поняли, что ответы на самые популярные вопросы сообщества программистов также находятся на китайском языке. Вы чувствуете разочарование и бросаете изучать HTML и сначала выучите кандзи.
Теоретически компьютер не заботится о том, на каком языке мы кодируем, до тех пор, пока эти языки могут компилироваться в байтовый код 0 и 1, понятный машине.Оператор if
, оператор while
и оператор for
помогают людям легко проектировать компьютерные инструкции, чтобы компилятор мог преобразовать их в байтовый код.
Но только некоторые из нас знают все эти команды — те, кто говорит по-английски. Для 95% мирового населения английский не является родным языком. Материалы учебных курсов с открытым исходным кодом во всем мире доступны на английском языке. Большинство популярных языков программирования используют свои примеры на английском языке.Даже поиск в популярном сообществе программистов stack-overflow должен быть на английском языке. Хотя вы можете использовать Google Translate для перевода каждого предложения, качество перевода может вводить в заблуждение или сбивать с толку. Это создало огромный барьер для людей, не являющихся носителями английского языка, для доступа к знаниям в области программирования и выражения своих намерений технологическому сообществу.
В этой статье мы хотим рассказать, что у людей, для которых английский язык не является родным, есть два препятствия на пути к изучению компьютерного программирования. Затем я упомяну три решения, которые мы, как программисты, можем сделать для создания лучшего сообщества, которое приглашает людей, не являющихся носителями английского языка, легко ориентироваться и расширять доступ к цифровой грамотности и возможностям трудоустройства для людей со всего мира.
Документация в основном на английском языке
Хорошо это или плохо, но мы должны согласиться с тем, что английский является доминирующим языком в науке и технологиях. Большинство популярных языков программирования и их документация на английском языке. Хотя в некоторых широко распространенных документах доступно несколько переводов, перевод глубокой технической терминологии обычно еще больше сбивает с толку учащихся.
Исследование показывает, что общение с общим чтением значительно влияет на способность человека усваивать новые знания — ему приходится использовать половину своих умственных способностей, чтобы интерпретировать одно предложение на английском языке, а другие умственные способности, чтобы выучить новые термины языков программирования [4].
Носители английского языка, не являющиеся носителями английского языка, которые хотят выразить свои идеи программирования в виде документации, также испытывают трудности с их описанием. Например, создатель Redis Сальваторе Санфилиппо рассказывает о своей борьбе с выражением мыслей на английском языке. Они собирались запустить атаку TCP / IP, но они не могут написать об этом пост на английском языке, потому что он уже вложил 50% своей энергии, чтобы понять написанное предложение [2].
Я помню, как догнал своего друга детства, изучающего информатику в Тайваньском местном университете.Он сказал, что каждому, кому нужно изучать программирование, потребуется промежуточный английский, потому что может быть сложно идти в ногу с курсами, которые не ведутся на их родном языке.
У них проблемы с чтением и написанием кода
Мы поощряем разработчиков писать читаемый и поддерживаемый код.
Однако этот читаемый код требует создания идентификатора кода, переменной, функций и имени класса на английском языке. Большинство ключевых слов языка программирования, например , если
, , иначе
, , а
, основаны на английском языке.Можно сказать, что техническому англоязычному языку нетрудно выучить большинство языков программирования, чем англоговорящим, потому что большая часть его синтаксиса заимствована из математики. Вы можете сказать, что большинство ключевых слов — if
, else
, в то время как
, type def
, «Class», «type» не совсем то, что они означают на английском языке. Все эти «переменные» имеют особое значение в программировании. Тем не менее, другим людям, для которых английский язык не является родным, сложно понять, что означает , а
, class или - это
, потому что эти ключевые слова могут иметь более важные значения на их родном языке.Например, , а
на португальском языке имеет большее значение, чем то, что используется в коде [4].
Помимо ключевых слов стандартного языка программирования, людям, не являющимся носителями английского языка, трудно читать сокращенные имена функций — что-то вроде getCh ()
или strstr ()
в C трудно понять.
Некоторые языки не поддерживают отношения подлежащее и глагол. В японском языке грамматика — субъект-объект-глагол. Следовательно, им трудно написать геттер и сеттер, потому что грамматические компоненты отличаются от японских.Кроме того, многие сценарии тестирования на основе поведения имитируют полные предложения на английском языке для проверки конкретного поведения в приложении. Например, если вы хотите написать модульный тест на Scala, класс Matcher
позволяет создавать тестовые примеры, такие как написание предложения на английском языке.
Что касается написания кода, то я обнаружил, что большинство иностранцев отлично справляются с присвоением имен вещей на английском языке, но им трудно вызвать поведение его функции. У некоторых функций может быть бессмысленное имя, что не имеет смысла на английском языке.Названия некоторых функций могут даже вводить в заблуждение — что опасно, — потому что именование вещей на их родном языке отличается от вызова вещей на английском.
Поскольку первая всемирная сеть и весь протокол написаны буквами алфавита и английскими словами, означает ли это, что каждому, кто хочет научиться программировать, нужно сначала выучить английский язык?
Возможно. Изучение английского поможет вам легче понять технические термины. Однако есть также способы помочь другим понять вашу библиотеку или исходный код намного удобнее.
Используйте полное имя переменной и избегайте сленга вашей культуры
Мы должны писать нашу документацию, чтобы быть максимально независимыми от культурных особенностей.
Функции именования не должны сокращаться. Использование сокращенных слов, таких как numList
или getCh
, может сильно запутать тех, для кого английский не является родным. Поскольку этот язык не выражает никакого другого поведения через свой синтаксис, разработчик должен понимать имя функции, чтобы знать цель процедуры.Не зная имени функции, вы можете только угадывать , каким будет вывод функции. Поэтому лучше всего описывать имя вашей функции полным предложением, например getCharacter
или listOfNumber
.
Некоторые языки программирования, такие как Clojure или Haskell, имеют отказ от именования переменных и называют их f
или g
, потому что их определение функции описывает, что они делают.
В некоторых соглашениях об именах переменных в Clojure API есть особые технические термины функционального программирования и имена функций математических терминов, такие как reify
или transducer
, чтобы не допустить недопонимания для клиента.
Одним из мощных инструментов языков функционального программирования является то, что их синтаксис подобен математической формуле. Вы можете определить, что делает функция, не глядя на имя процедуры. Например, если мы хотим объединить список в элементе. Мы можем написать что-то вроде этого: def f [A: Monoid] (list: List [A]): A
, который сообщает: «Если я введу список A в качестве входа, функция вернет A.» Конечно, f
очень общий и не подходит для случая суммирования списка.Однако само определение функции и простой комментарий могут помочь людям, не являющимся носителями английского языка, узнать, чего ожидать от f
и как они могут их реализовать.
Больше примеров и меньше текста
В документации должно быть больше примеров, чем текста. Если в документации к программам будут добавлены шутки американских знаменитостей или телешоу, чтобы облегчить чтение документации, это не поможет аудитории.
Большая часть мировой аудитории не знает ни об американских знаменитостях, ни о каких-то анекдотах в Кремниевой долине (американское телешоу).Таким образом, это поможет объяснить, как справляться с проблемами, когда клиенты используют библиотеку, объясняя значение сообщений об ошибках и почему они возникают в первую очередь, а также даст вашему клиенту рекомендации по решению этих проблем, когда они встречаются, на примере кода.
Например, в большинстве библиотек есть руководство по началу работы с простым примером использования библиотеки. Объяснение философии, лежащей в основе разработки библиотеки и всех других специфических функций, на первых порах может еще больше запутать клиента.
Если вы объясняете конкретные ключевые слова, которые трудно понять, встроенный словарь, объясняющий значение этих слов, может помочь [4] вашим читателям понять незнакомые термины при чтении контекста. Например, reify должен иметь встроенную словарную спецификацию того, что это означает в математическом контексте. В данном случае reify — это терминология компьютерного программирования, представляющая абстрактную концепцию типа во время выполнения.
Вы также можете дать внешнюю ссылку на эту концепцию, чтобы ваши читатели могли выполнять поиск по этим терминам, щелкая внешнюю ссылку.
Используйте больше иллюстраций и визуализаций в технических инструкциях
Одно исследование показывает, что самый простой способ обеспечить, чтобы учащиеся сохраняли информацию в своей долговременной памяти, — это совместить материал курса с какой-либо формой визуализации [1]. Слова сохраняются в нашей кратковременной памяти, а мы можем хранить только 7 бит информации. Изображение помогает нам сразу перенести эту информацию в долговременную память.
Визуализация может быстро превзойти язык.Например, понять, как работает рекурсия в Java, может быть непросто без какой-либо визуализации и пошаговых инструкций. При правильном рисовании мы можем проиллюстрировать, как каждый стек функции ведет себя при каждом рекурсивном вызове — и как каждый кадр стека ведет себя, когда процесс возвращается, может помочь учащимся визуализировать и отслеживать рекурсивную функцию.
Иллюстрация и визуализация изображений помогают авторам библиотек проиллюстрировать их философию дизайна. Например, объяснение определения и цели React DOM намного легче визуализировать на изображении, чем в тексте.
Заключение
Нам, хорошо владеющим английским, сложно программировать. Программирование становится еще более сложной задачей для тех, кто вообще не знает английского языка.
Одна из причин, по которой программирование труднее для носителей английского языка, заключается в том, что весь необходимый материал по программированию не на их родном языке.
При написании или чтении исходного кода им трудно создать читаемый код, потому что они не могут назвать функцию столь же выразительной, как кодеры, носящие английский язык.
Тем не менее, мы можем облегчить обучение программированию для тех, для кого английский не является родным, путем создания более инклюзивного языка в нашем коде, документации и сообществе. Кроме того, наличие более наглядного изображения и видеороликов, иллюстрирующих концепцию кодирования, может быстро помочь другим узнать об этой идее.
Знание этих проблем помогает нам писать больше документации, включающей язык, и быть более терпеливыми и чуткими при обмене знаниями с носителями английского языка, для которых английский не является родным.
Предположим, мы хотим сделать программирование универсальным инструментом для выражения идей и мыслей. В этом случае мы должны позаботиться о том, что мы упоминали в обычном сообщении в блоге, и нашей документации, наших функциях и наших кодах, чтобы сделать их общедоступными для всех. Другими словами, наш компьютер должен выучить универсальный язык: сочувствие.
Номер ссылки
[1] Админ, Админ. Исследования подтверждают, что визуальные эффекты могут привлечь вашу аудиторию к ELearning, 9 июля 2014 г., www.shifttelearning.com/blog/bid/350326/studies-confirm-the-power-of-visuals-in-elearning. [2] Чистяков, Артем. Язык программирования, 28 июня 2017 г., temochka.com/blog/posts/2017/06/28/the-language-of-programming.html. [3] Маккалок, Гретхен. «Программирование для всех, если вы говорите по-английски». Wired, Conde Nast, 4 августа 2019 г., 10:00, www.wired.com/story/coding-is-for-everyoneas-long-as-you-speak-english/#:~:text=In%20addition % 20to% 20these% 20four, System% 20 (бенгальский% 2C% 20Gujarati% 2C% 20and. [4] Филип Дж.Го. Не носители английского языка изучают программирование: барьеры, желания и возможности дизайна. Получено с https://pg.ucsd.edu/publications/non-native-english-speakers-learning-programming_CHI-2018.pdf
.Нравится эта статья?
Подпишитесь на мою рассылку, чтобы получать уведомления о новых статьях!
Английский перевод — это необходимо для обучения программированию?
Резюме: Для неанглоязычных студентов, изучающих программирование, перевешивают ли преимущества обучения программированию в «переводе на английский» обучение на иностранном языке?
Читаю статью о Wired.com КОДИРОВАНИЕ ДЛЯ КАЖДОГО — ПОКОЛЬКО ВЫ ГОВОРИТЕ НА АНГЛИЙСКОМ ЯЗЫК заставил меня задуматься об изучении языка и обучении, чтобы стать разработчиком программного обеспечения.
В программировании программного обеспечения есть ключевые слова, которые являются частью словаря, используемого для написания данной программы. Большинство языков программного обеспечения возникло в англоязычной стране. Итак, чтобы написать код на этом языке программирования, разработчикам пришлось выучить английский словарь. Учится ли писать код из-за этого недостатка, не говорящие по-английски? И какие преимущества может быть в изучении языка программирования в том, что можно назвать английским переводом или версией?
Задача может быть сложной.Но многие люди считают, что преимущества большого сообщества, использующего один и тот же код и ресурсы поддержки, намного перевешивают недостатки обучения программированию на английском языке или версии с английским переводом.
И работая с разработчиками программного обеспечения MotaWord, все из которых не являются носителями английского языка, у меня есть идеальная группа, с которой можно поговорить о переводах на английский, чтении кода и написании кода на английском языке. Я пообщался с соучредителем и техническим директором MotaWord Ойтуном Тезом за его точку зрения.Ниже приводится интервью, отредактированное для большей ясности.
МД: Хорошо, спасибо, что согласились на это интервью. Это серия вопросов об изучении английского языка и вашем пути в качестве программиста. Сколько вам было лет, когда вы научились говорить по-английски?
ОТ: Я, наверное, начал изучать английский и программировать одновременно, а это примерно 10 или 12 лет.
MD: Встречали ли вы ключевые слова на английском языке в этих языках программирования, отдельно от вашего разговорного английского?
ОТ: Определенно.У меня было два словаря. Один из них — кодирование английской лексики. И один из них — это социальная лексика. Так, например, я выучил много ключевых слов, таких как Declare и Constant . Эти вещи взяты из моего словарного запаса программирования. В то время как я не слышал этих слов в моем социальном английском. Там большой расклад, они поддерживают друг друга.
MD: Было бы легче научиться программировать, если бы это было на турецком, вашем родном языке?
ОТ: Не думаю.На самом деле, я не думаю, что это внесет большой вклад в это.
Может быть, даже лучше выучить английский как второй язык, потому что кодирование — это другой образ мышления. Вы не увидите такого мышления в реальной жизни. Так что выучить эту лексику — это нормально, чтобы иметь более последовательное понимание этой парадигмы.
МД: … потому что естественный язык, наш разговорный язык очень разнообразен. Это имеет коннотации. В нем нет строгости и формальности математического языка.
ОТ: Да, потому что вы изучаете этот инопланетный язык очень структурированным и очень строгим способом, как вы сказали. Я думаю, это позволяет вам сосредоточиться только на содержании слова, а не на его отношениях с общественной жизнью. Например, когда я вижу «Класс», что является термином кодирования. Я не сразу запомнил класс. Потому что у меня нет этого родного соединения. Но теперь я очень хорошо понимаю понятие «класс» в программировании, не связанное с социальным словом «класс».
MD: Вы догадались бы, что, скажем, китаец или кореец сочтет просмотр английского перевода или версии препятствием при обучении программированию?
ОТ: Я думаю, что формальные различия, такие как форма выражения — вы видите их только на первых этапах обучения программированию.Итак, через месяц, скажем, вы на самом деле не видите этих вещей. Потому что они просто формы для вас. И у вас в голове есть другие значения этих форм. Пока вы умеете печатать, неважно, как они выглядят. Они могли просто считать это языком программирования. На самом деле это не обязательно должно быть в латинском алфавите. Это может быть любой язык, если я знаю, какой символ имеет значение.
MD: Вправо. Таким образом, у вас есть визуальная ассоциация между этими персонажами и концепциями, которые они представляют.
ОТ: Ага. Теперь, когда вы спросите, я представляю себе язык программирования с китайскими иероглифами. Допустим, они не кажутся мне такими сложными, как сейчас. Думаю, у меня мог быть подобный опыт. Это будет чуждо, пока я не выучу синтаксис и не запомню эти символы. А потом просто их использует.
MD: Вправо. Что ж, спасибо за то, что поделились своим опытом и мыслями об изучении кода, переводах на английский и изучении кода
в качестве носителя английского языка.
В поддержку точки зрения Ойтун Тез есть видео:
В разговоре с другим членом команды здесь, в MotaWord, Прией Аджит, директором по развитию бизнеса , у нее возникли некоторые дополнительные мысли:
На мой взгляд, будет сложно иметь многоязычный язык программного обеспечения, так как будут очень ограниченные онлайн-ресурсы и сообщества разработчиков. Все текущие языки программного обеспечения имеют существующие обширные онлайн-ресурсы, которые помогут и направят программистов в случае возникновения каких-либо проблем или для дальнейшего расширения их знаний.Это может быть невозможно в случае многоязычного программного обеспечения.
Однако, если эту проблему удастся решить, то это определенно повысит вероятность того, что любой человек станет программистом, даже если его / ее знание английского языка ограничено или вообще отсутствует.
Фактически, существуют примеры языков программирования, которые были созданы и существуют не на английском языке. У них, как правило, есть и их английские переводы. Вы можете узнать больше здесь: Неанглийские языки программирования (Википедия)
А если вы программист иностранного происхождения, подумывающий о работе в США.S. Вам понадобятся заверенные переводы важных документов. Не беспокоиться. Прочтите пример здесь: Получить сертифицированный перевод с испанского на английский для USCIS
Программирование на английском языке
Насколько я помню, программирование продвигалось как преимущественно математическая деятельность, основанная на STEM. Чтобы хорошо программировать, нужно не только хорошо разбираться в математике, но и иметь солидное образование в области математики и естественных наук.
Это точка зрения, которую мы сильно продвинули как отрасль, побуждая молодых людей, которые рассматривают карьеру в области вычислительной техники, сосредоточиться почти исключительно на предметах STEM перед поступлением в университет.Эта точка зрения настолько укоренилась в нашем сознании, что мы безоговорочно распространяем ее как факт.
Но по мере того, как мир требует больше инженеров-программистов, а промышленность начала восполнять дефицит, обращаясь к людям из разных слоев общества, пришло время поставить под сомнение гегемонию математики над вычислениями. Математика, несомненно, важна и необходима, но есть еще один навык, который абсолютно необходим, когда дело доходит до хорошего программирования, — это английский. Особенно письменный английский .
Другими словами, основываясь на почти 30-летнем опыте программирования, наставничества и коммерческого обучения из первых рук, я стал свидетелем почти однозначной корреляции между теми, кто может хорошо писать, и теми, кто умеет хорошо кодировать. И наоборот, между теми, кто не умеет писать , и теми, кто не умеет хорошо писать.
Основы математики
Эта связь между математикой и программированием, конечно, глубоко историческая. Программирование может проследить всю свою родословную прямо через математическое мышление и математические потребности.Когда дело доходит до обработки и оценки чисел, ничто не сравнится с программным обеспечением.
Связь настолько глубока, что программирование часто окутано математическими терминами: чистые функции, лямбда-выражения, замыкания, логическая логика и т. Д. Но опять же, не все программирование — это математика, и уж точно не сегодня, когда программное обеспечение доминирует во всех сферах жизни. Во всяком случае, большая часть программирования связана не столько с математикой, сколько с сообщением сложных шагов и потоков таким образом, чтобы облегчить работу с вашим программным обеспечением.
Великие программы ясно передают свои намерения, а коммуникационное намерение в значительной степени является лингвистическим навыком. Это может быть связано с синтаксисом вашего языка программирования — синтаксис будет ограничивать легкость, с которой вы можете что-то говорить, — но способность передавать идеи посредством (например) намеренного раскрытия имен и связанных структур, тем не менее, является лингвистическим навыком.
Для передачи намерений требуются 2 вещи: язык программирования с синтаксисом, позволяющий выражать идеи легко понимаемыми способами, и хорошее владение письменным словом, чтобы вы могли четко выражать эти идеи.
Структура
Все начинается со структуры. Структура и разложение. Без них слова теряются на странице, а их значение скрывается из-за отсутствия окружающего пространства. Итак, в качестве первого шага мы разбиваем вещи на более мелкие, более управляемые части. Каждый фрагмент служит одной цели: передать идею или совокупность связанных идей.
Мы раскладываем текст на части, чтобы с ним было легче работать. И по той же причине мы разлагаем наше программное обеспечение. Процесс и обоснование такие же.
Каждая глава в книге, каждый абзац на странице, каждое предложение существует исключительно для того, чтобы структурировать письмо. Точно так же каждое пространство имен, каждый класс и каждый метод служат одной и той же цели в нашем программном обеспечении. То есть, чтобы облегчить себе жизнь.
Структура и декомпозиция — ключ к тому, чтобы сделать вещи понятными. Они превосходят математику и письмо. Разбиение проблемы на части — это общий метод решения проблем, но это метод, который абсолютно необходим для программирования.И писать по этому поводу.
Сочувствие
Согласны вы или нет, но есть еще один навык, который, несомненно, является частью творческого процесса, и это сочувствие . Проще говоря, написание и кодирование требуют огромного количества сочувствия и постановки себя на место другого человека.
Если вы заботитесь о читателе, вы будете глубоко заботиться о том, как вы сообщаете и структурируете свои мысли для его пользы. Создание пользовательских интерфейсов, создание API-интерфейсов, определение контрактов методов, именование переменных и т. Д. — все это требует, чтобы вы долго и серьезно думали о пользователях своего программного обеспечения.И не только ваши пользователи, но и будущие разработчики, которые также будут работать над вашим кодом. В этом отношении написание и кодирование практически неотличимы.
Суть в том, что писатели и программисты решают проблемы. Они строят повествования, а создание достойного повествования требует планирования, обдумывания, проницательности и (да) сочувствия. Хорошо, определенные стили письма исходят скорее из сердца, чем из головы, и писатели могут намеренно запутать и запутать, чтобы сохранить интригу или вызвать эмоции, но в конечном итоге писателей и программистов объединяет одно — они рассказывают историю, хотя совершенно другой контекст, и при этом они обращаются к совершенно другой части мозга, чем мы используем для математической обработки.
Слова имеют значение
Но письмо — это гораздо больше, чем просто структура и декомпозиция — это, в основном, слова, которые мы используем, и то, как мы их используем. Программирование ничем не отличается, и хотя программы могут работать в рамках более жесткого набора правил, чем письменный английский, ценность слов, имен и метафор не менее важна. Слова имеют значение.
Вводя последовательные и откровенные имена и метафоры, мы уменьшаем когнитивную нагрузку на читателя и на самих себя. Хорошие имена позволяют нам сохранять интеллектуальный контроль над нашей кодовой базой.Пишите для других не компилятор и все такое.
Дело в том, что назвать сложно. Но хорошее именование требует твердого владения языком, особенно английским, поскольку именно на нем написано большинство программ. Это возвращаюсь к моей исходной точке зрения о корреляции между людьми, которые пишут, и теми, кто хорошо кодирует. Если вы плохо общаетесь с помощью письма, скорее всего, вы не сможете хорошо общаться с помощью своего кода.
Помимо программирования
Последний пункт о важности письма заключается в том, что работа программиста — это гораздо больше, чем просто кодирование.Это также почти постоянное общение через множество различных средств и каналов.
Каждое электронное письмо, которое мы отправляем, чтобы изложить нашу позицию, каждое предложение, которое мы пишем, чтобы выиграть новый бизнес, каждое требование, которое мы добавляем в отставание, каждое сообщение, которое мы отправляем в канал обмена мгновенными сообщениями, требует команды письменного слова, которое нельзя недооценивать.