Может ли программирование мотивировать на изучение английского языка? Ведь не секрет, что английский язык в программировании встречается сплошь и рядом, точнее, распространены английские слова.
![английский язык в программировании](https://www.compgramotnost.ru/wp-content/uploads/2020/11/anglijskij-yazyk-v-programmirovanii.jpg)
Содержание:
1. Естественные и искусственные языки
2. Почему языки программирования состоят из английских слов
3. Эсперанто или английский язык?
4. Некоторые примеры английских слов из текстов программ
5. Нет, и, или – Not, and, or
6. Зачем компьютеру знать дату и время
7. Многократные повторы в языках программирования
8. Английские слова для работы с данными
9. Продолжение английской лексики из программирования
10. Языки программирования – это не английский
Давайте попробуем разобраться, во-первых, почему языки программирования англоязычные. И, во-вторых, какие это может дать преференции программистам, которых жизнь может поставить перед необходимостью изучения английского языка.
Естественные и искусственные языки
Люди на Земле говорят на разных языках. Разные народы не понимают друг друга без переводчиков. Так сложилось. Как объединить людей? Научить всех людей, нуждающихся в общении, использовать один единственный язык, как вариант.
Разве подобное возможно? Можно ли всех научить единому языку? Нет, конечно, задача нереальная. Но, тем не менее, попытки делались. Например, пробовали создать искусственный язык Эсперанто. Не получилось. А почему? Потому что язык искусственный.
Вот уж странно: если язык естественный, например, какого-нибудь далекого и забытого племени «тумба-юмба», то обучить этому языку можно, по идее, кого угодно. И говорить на нем станут. А искусственный язык Эсперанто, на создание которого было потрачено много сил и времени серьезных специалистов, почему-то не прижился.
Оказывается, что искусственные языки действительно не приживаются в ходе общения людей между собой. Даже среди самых замотивированных представителей человечества – не приживаются!
В чем же тогда принципиальное отличие естественных языков от искусственных языков? Оно почти единственное, но чрезвычайно важное: у естественных языков есть так называемые «носители языка» — люди, которые с рождения говорят на данном языке. И пока жив хотя бы один носитель языка, язык остается естественным, которым могут пользоваться и другие жители планеты.
У искусственных языков есть все, что присуще языкам: алфавит, синтаксис, семантика, грамматика. Но отсутствует главное: на земле нет ни одного человека, родившегося и впоследствии заговорившего на этом языке. Казалось бы, вот вам, человечество, искусственный язык Эсперанто, и говорите друг с другом сколько угодно без переводчиков. Ан, нет…
Почему языки программирования состоят из английских слов
Языки программирования являются искусственными языками. Они обладают всеми признаками языка, перечисленными выше. У этих языков есть алфавит – перечень символов, с помощью которых можно писать тексты программ для компьютеров.
Там же присутствует грамматика языка – набор правил, по которым строятся языковые конструкции. Языки программирования живут себе, несмотря на свою искусственную природу. А почему? Да потому что эти языки предназначены не для общения между людьми, а для общения между людьми и компьютерами, неживыми машинами, если хотите.
Раз языки программирования искусственные, значит, их кто-то из людей взял, да и создал, что называется, своими руками. И если бы такой человек или коллектив, придумавший какой-нибудь новый язык программирования, был бы русским, то ему удобнее, наверное, было пользоваться русскими словами и правилами.
Действительно, допустим, нужно на этом языке программирования подать команду для нахождения случайного числа. Разработчик языка, наверное, придумал бы слово СЛУЧАЙНОЕ. Согласны? Так ведь удобно и понятно, чем, например, случайное число назвать АБРАКАДАБРА. Уж лучше СЛУЧАЙНОЕ…
А вот если бы язык программирования придумал англичанин, американец, коллектив англо-говорящих изобретателей, то он (они) бы случайное число обозначил(и), как RANDOM. При чем здесь какой-то там «рандом»? Да потому, что по-английски «random» как раз и означает «случайный».
И вот теперь подходим к той мысли, что современные компьютеры пришли к нам от англосаксов. Мы придумали и распространили по всему миру такие слова, как «спутник», «перестройка». А вот иностранцы нам «в ответ»: «компьютер» (вместо русского «вычислитель») и вместе с компьютером нам преподнесена без преувеличения богатая компьютерная терминология, применяемая в том числе в программировании.
Можно ли применять русские слова в программировании
А что, разве никогда не было языков программирования с русскими командами? Конечно, были. ВЫПОЛНИТЬ, ВЫЧИСЛИТЬ, ПУСТЬ, ГДЕ и многое другое – все это было. Но не прижилось со временем. Языки программирования в большинстве своем строятся с использованием английских слов, фраз и предложений.
Открою небольшой секрет. Для компьютеров совершенно неважно, какие слова будут использоваться в языках программирования. Рассмотрим на примере русского слова СЛУЧАЙНЫЙ или английского слова RANDOM. Нам понадобится термин «транслятор» – это такой компьютерный переводчик с любого человеческого языка в язык компьютера.
Транслятор языка программирования переведет либо команду «СЛУЧАЙНЫЙ», либо команду «RANDOM» в последовательность нулей и единиц. Скажем, это будет перевод в последовательность 1100100111001001. На самом деле последовательность будет намного длиннее, страницы может не хватить для ее печати. И какая нам теперь разница, откуда это странное число появилось? Да хоть из слова НИЧЁСЕ!
Команды языков транслируются в несколько этапов, и нули с единицами получаются на самом последнем шаге перевода. Но даже на промежуточных этапах любого компьютерного перевода, хоть с английского, хоть с русского, хоть с мумба-юмбского или иного языка, мы не увидим в переводе ничего «человеческого». Ибо компьютер – железный. Он не понимает наш язык. Любой человеческий язык компьютеру пока недоступен, хотя работы в этом направлении ведутся, и довольно успешно.
Получается, что компьютеру совершенно не важно, на каком языке с ним говорит программист. Но, так как трансляторы (то есть, переводчики с человеческого на машинный язык) создавали в основном англо-говорящие инженеры и ученые, вот и результат: всюду английские слова и предложения в программировании. А могли бы быть и русские, ибо компьютеру это совершенно безразлично.
Можно, конечно, немного погрустить по поводу не распространенности русского языка в программировании. Но можно увидеть в данной несправедливости некоторые плюсы. Скажем, если программисту нужно изучить английский язык – мало ли для чего ему это понадобилось – оказывается, программист уже знает множество английских слов. Откуда? Из языков программирования! Английский язык в программировании используется при написании команд.
Эсперанто или английский язык?
С проектом Эсперанто не получилось. Зато с английским языком получилось не так уж плохо. И не только в программировании, где мы уже заметили просто засилье английских слов и лексики. В обычном живом общении английский язык стал своего рода эсперанто – он превратился в язык, который знают многие люди, кто владеет не только родным языком, но хотя бы еще одним языком коммуникаций.
По идее английский язык занял место, по первоначальному замыслу предназначавшееся для Эсперанто. Какое-то время когда-то распространенным языком межнационального общения был французский язык. Но со временем и он уступил первенство английскому. Правда, в настоящее время на английский язык ведет наступление испанский язык. Теперь полмира говорят по-английски, вторая условная половина мира – по-испански. Остальные – по-китайски, и на других языках, включая наш родной русский.
Если в живом общении невозможно уверенно утверждать о преобладании английского языка над остальными языками, в силу глобальных изменений и развития других языков, то в компьютерной сфере, в сфере программирования пока нет конкурентов у английского языка. Значит, специалистам в компьютерах, в частности, программистам, этот язык давно уже знаком. Пусть не как язык общения между людьми, а как язык написания команд для компьютеров.
Правильнее говорить «написание кода», чем «написание команд», так будет точнее и, главное, более современно. Когда-то писали программы, теперь пишут код. Но суть программирования от этого не меняется.
Программисты пишут по определенным правилам те или иные английские слова и даже фразы, разумеется, разбавленные разными иными символами и знаками, числами, специальными обозначениями и прочим, чем просто изобилует любой язык программирования. Трансляторы языков программирования переводят в нули и единицы код, написанный программистами, понятный только пока еще бездушным «железным» машинам без эмоций, без понимания человеческого тонкого контекста и иного «высокого», присущего только нам, людям.
Примеры английских слов из текстов программ
Подошло время посмотреть некоторые примеры английских слов, которые могут быть знакомы программисту, разумеется, если он (она) владеет какими-либо языками программирования. Ну, а дальше – это уже мотивация для изучения английского языка, который по вполне понятным причинам намного сложнее, чем просто набор слов.
Однако некоторое количество известных слов – это уже серьезный плюс на старте изучения иностранного языка. Начнем со слова Программа, которое по-английски выглядит интуитивно понятно:
Program – программа. В английском языке нет родов для неживых существ, каковым является программа, поэтому на конце нет нашей буквы «а» или какой-то еще в качестве возможного окончания женского рода.
Programmer – программист
Programming – программирование
И далее продолжим, показывая новые слова:
Patch – заплатка, латать. В русском языке используется в смысле «заплатка (правка, небольшое изменение, дополнение, исправление) к основной программе», произносят «патч». В программировании «заплатки» применяют везде и всюду. Это не что-то ужасное, говорящее о «дырявом» коде. Нет, это вполне естественно «патчить» в программах.
True – истина в английском языке и в программировании. Применяется, если в логическом выражении нужно обозначить истину (в противоположность лжи). Фактически, истина – это логическая единичка «1», а ложь – это логический нолик «0».
False – ложь. Логический «ноль».
Random – случайный. По-русски говорят «рэндом», что означает случайность, случайный выбор.
Random selection – случайный выбор. У нас часто используется устойчивое сочетание «рандомный выбор». Слово «рандомный» уже довольно прочно входит и в русский язык.
Нет, и, или – Not, and, or
Not – нет. В программировании означает логическое отрицание «нет». В программах за счет not происходит превращение логического «нолика» в логическую «единичку» или наоборот «1» превращается в «0». И всего-то для этого нужно указать not.
And – логическое «и». В английском языке «and» как раз означает «и». Устроено логическое «и» следующим образом. Это своего рода операция умножения в мире логических нулей и единиц. Если умножить друг на друга «0» на «0» или «1» на «0» или «0» на «1», то результат такого логического «и» (and) будет «0». И только умножение «1» на «1» даст нам в ответе «1». Поэтому результат в виде «единички» будет только тогда, когда оба операнда равны логической «единичке». То есть когда 1 «и» 1. Отсюда «and» («и»).
Or – с английского переводится «или». В программировании логическое «или». Это операция сложения в мире логических нулей и единиц. Если сложить «0» и «0», то результат будет нулевой. Любые другие сложения (1+0, 0+1, 1+1) дает в результате логическую единицу. Пытливый читатель спросит, а как же 1+1? Это же 2, а не 1. Двойка получается в мире людей, а в мире однобайтной логики, ответ будет «1», так как в одном байте не бывает ничего, что было бы больше «1». Отсюда и «или», как своеобразная формальная логика: если хотя бы один из операндов есть «1», то результат будет «1». То есть, «или» первый, «или» второй операнд есть «единица», тогда результат тоже будет «единица». Вот такой оператор «or», то есть «или».
Зачем компьютеру знать дату и время
Рассмотренные выше «и», «или», «не» и прочее – требуют понимания формальной логики машинного «размышления о смысле жизни». Чтобы не пугать далее сложными понятиями, перейдем к более понятным словам.
Date – дата. Компьютеры хорошо владеют информацией о дате и времени. Казалось бы, зачем им это нужно? Чтобы быть рядом с человеком здесь и сейчас, в одном месте и в одном времени. Иначе, что это за помощник, если он не понимает, который сейчас день, число, месяц, год…
Time – время.
Clock – часы. Чтобы разбираться во времени, в компьютерах есть свои часы. Они сами довольно точны. Также компьютерные часы могут синхронизироваться с мировым временем с помощью интернета.
Даты и время могут рассматриваться в программировании еще более детально:
Week – неделя. Как правило – это номер недели в текущем году.
Year – год.
Month – месяц. Это либо номер месяца в году, либо прямо наименование месяца (по-английски)
И так далее, с датами и временем можно продолжать довольно долго и погружаться все глубже и глубже.
Самое главное: компьютеру, в принципе, неважно, какое сегодня число, и который час. Ему все равно, хоть 3050 год на дворе! Однако, с помощью перечисленных (и не только перечисленных) слов можно в программах подставлять данные о дате и времени. Чтобы потом использовать эти данные в вычислениях и в управлении какими-то процессами с помощью компьютеров.
Многократные повторы в языках программирования
![английские слова из программирования](https://www.compgramotnost.ru/wp-content/uploads/2020/11/anglijskie-slova-iz-programmirovaniya.jpg)
Вычислительный центр: кадр из фильма «Чародеи», 1982 год.
Компьютеры не были бы компьютерами, если бы они не умели обрабатывать миллионы и миллиарды данных. Но ведь нужно как-то компьютерным программам сообщить, что нужно работать с большим количеством данных. Например, для этого могут применяться следующие английские слова (не обязательно только перечисленные ниже):
For – для. С помощью «для» можно задавать так называемые циклы – множественные повторения. Например, ДЛЯ X=1 ШАГ 1 ДО 1 000 000 000 ВЫПОЛНИТЬ – интуитивно понятный «код». Его суть: пусть сначала X=1. На следующем шаге программы его значение станет уже X=2 (ведь ШАГ равен единице). Затем X=3. И так далее, пока X не сравняется с миллиардом! Вот так, одной «фразой» мы заставляем компьютерную программу что-то сделать миллиард раз подряд. А всего-то одно коротенькое предложение.
Правда, с русским языком тут не «прокатит». Нужны английские слова. For мы рассмотрели, теперь некоторые другие слова по затронутой теме:
Step – шаг
To – до
While – до тех пор, пока
Until (пока), Before (до) –может означать то же самое «до тех пор, пока», но в других языках программирования.
Повторы и сценарии в программировании
Повторы могут идти не по одному сценарию, а по разным схемам. Каждый раз сценарии могут раздваиваться, то есть направляться либо в одном, либо в другом направлении. Для этого служат такие, например, слова, как:
If – если
Then – затем, тогда
Else – иначе
Do – делать, сделать, выполнить.
Поясним по-русски. Допустим, строится фраза ЕСЛИ X=50 ЗАТЕМ ДЕЛАТЬ aaa ИНАЧЕ ДЕЛАТЬ bbb. Перечитываем фразу по-нашенски: если иксу повезло, и он стал равен 50, то программе нужно сделать нечто, обозначенное условно как aaa. Ну, а если не повезло, и икс не равен 50, то делать придется то, что обозначено как bbb. В английской аббревиатуре этот же текст программы выглядел бы примерно так:
If X=50 (то есть, выполняется определенное условие) then do aaa else do bbb. Как-то так, если не вдаваться в детали и подробности. Ведь для нас сейчас главное не освоение циклов и условий в программном коде, а понимание того, что программисты знают ряд английских слов, таких как for, step, to, while и так далее.
Английские слова для работы с данными
Языки программирования позволяют работать не только с числами. Например, можно управляться с текстами, с байтами (нолики и единички), с целыми массивами чисел и текстов. Да и сами числа могут быть самыми разными: целые, дробные (вещественные), комплексные и тому подобное. Вот некоторые примеры:
Dimension – размер, dimensions – размерность (массива). Так можно задать максимальный размер любого, хоть самого огромного массива данных.
Real – вещественный, «реальный», то есть десятичное число со знаками после запятой. Пример: «10.125». В языках программирования часто имеет существенное значение, каким знаком отделяется целая часть числа от дробной. В некоторых случаях ставят запятую, а иногда – точку. Простановка точки вместо положенной запятой или наоборот может означать ошибку программирования. Тогда число может «превратиться» в строку символов, и программа обработает эту строку, как текст, ничего не имеющий общего с написанным числом.
Integer – целый, целое число без десятичной точки (запятой), например, «100».
Complex – комплексный, комплексное число.
Text – текстовый. Данные состоят из отдельных символов, байтов. Пример: «привет».
Bit – битовый, состоящий из одного бита информации (один «нолик» или одна «единичка»).
Список возможных типов данных можно продолжать почти до бесконечности.
Продолжаем английский язык в программировании
В завершении темы применения английского языка в программировании давайте рассмотрим еще ряд английских слов. Это позволит наглядно показать, какое богатство слов доступно тем, кто связал свою работу или хобби с написанием программного кода для компьютеров (или для планшетов, или смартфонов, особой разницы нет).
Return – возврат. Программа (код) возвращается в начало после завершения очередной подпрограммы, вложенного кода.
Quite – аналогичное понятие «возврат».
Break – прерывание, приостановка программы.
Open – открыть. Например, открыть файл. Кстати:
File – файл.
Close – закрыть. Закрыть, как и открыть, можно не только файл, но и, например, какое-то устройство, скажем, принтер. Зачем открывать принтер? Чтобы потом вывести поток данных на него. Разумеется, не вручную, а с помощью еще одного программного кода.
Use – использовать, применить
New – новый
Create – создать
Mute – беззвучный
Debug – отладка (программы). Позволяет находить ошибки в текстах программы, в написанном коде. Ведь почти никогда не удается с первого раза написать безошибочный код, увы. Всегда нужна отладка программы.
Trace – трассировка (программы), в некотором смысле аналог «отладка». Пошаговое выполнение кода, часто с выдачей информации о промежуточных результатах исполнения программы.
On – включено, включить
Off – выключено, выключить
Copy – копировать
Paste – вставить
Insert – вставить
Comment – комментарий
Determine – определить
Procedure – процедура
Code – код
Example – пример
Exit – выход (например, при завершении выполнения программы или какой-то ее части)
End – конец (программы, отдельной процедуры или подпрограммы).
Input – вход (в программу) или ввод (данных).
Identification – идентификатор. Например, идентификатор (имя) переменной.
Name – имя (переменной, массива данных, программы).
Array – массив (данных).
Data – данные (не путать с Date — дата).
Empty – пусто, например, пустое значение переменной. В программировании даже отсутствие чего-либо, банальную пустоту, требуется отмечать. Иначе компьютер «не понимает».
Error – ошибка, например, в тексте программы.
On error do… – в случае ошибки сделать следующее…
Sort – сортировать (данные), сортировка.
Comma – запятая. Некоторые трансляторы языков программирования так отмечали случайно пропущенные программистами запятые в текстах программ.
Common – общий. Например, общие данные, общие переменные.
Другие английские слова в программировании
Crash – крах, разрушение. Например, серьезное нарушение логики выполнения программного кода.
Double – удвоение, дублирование. Пример: двойной щелчок мышкой.
Dump – «груда», «куча». Выполняется dump, например, когда возникает ошибка в программе. Тогда выводится «куча» данных для анализа и поиска ошибки: это и называется «дамп памяти компьютера».
Fail – потерпеть неудачу. Такое сообщение мог выдать транслятор программы, если в программе отсутствует логика или важные данные.
Global – глобальные данные, например, находящиеся за пределами компьютера.
Local – локальные данные, находящиеся в компьютере
Move – двигать, двигаться.
Multiply – умножать
Divide – делить
Summa – суммировать
Minimum – минимальный
Maximum – максимальный
Middle – средний, среднее значение
Next – следующий. Например, следующий шаг выполнения программы.
Step – шаг (выполнения программы).
Previous – предыдущий (шаг программы).
Ping – пинг (от пинг-понг, настольный теннис) – пошаговая трассировка прохождения сигнала, например, в интернете. Сделать пинг – посмотреть, откуда и как приходят данные из интернета.
Queue – очередь (к принтеру, к диску, к порту и т.п.).
Routine – программа (аналог слова «Program»).
Return – возврат. Пример: клавиша return получила свое название от клавиатуры пишущей машинки. Там это означало «возврат каретки» или «перевод каретки на новую строку».
Run – работать, иногда в программировании использовался вместо «do» — делать, выполнять.
Sort – сортировать (данные).
Set – установить, иногда в программировании применялся в смысле «делать», «выполнять».
Scroll – скролить, прокручивать. Например, скролить экран.
Switch – переключатель, переключать.
Swop – обмен (данными), «свопить».
Type – тип (переменной языка программирования). Другое значение: печатать посимвольно. Вероятно, отсюда произошло жаргонное слово «тапать», что в некотором смысле означает «тыкать пальцем по экрану».
Turn on – включать
Turn off – выключать
Upload – загружать. В программировании может употребляться вместо или вместе с load – загружать.
View – посмотреть. Например, может применяться для прямого доступа к ячейкам памяти из программы.
Execute – исполнить, в некотором смысле аналог do – выполнить.
Executive – исполнимый. Например, исполнимая программа, которую может выполнить компьютер.
Control – контролировать
Controller – контроллер
Boot – загрузка
Bit – бит
Bite – байт
Begin – начинать (выполнять программу).
Format – представление данных в определенном (отформатированном) виде.
About – о (чем-либо). Обычно это меню программы, где находится информация о программе, ее наименовании, версии, авторах, правах использования и прочее.
Языки программирования – это не английский
Тем, кто знает программирование, остается совсем немного – понять грамматику английского языка. Ибо лексика у них уже, что называется, есть. Конечно, новые слова тоже придется подучить.
Все же начинать совсем с «нуля» намного сложнее, чем иметь за плечами опыт написания программного кода с использованием английских слов и фраз. Причем эти слова и фразы являются довольно широко употребляемыми в обычном языке, поэтому есть с чего стартовать, что называется.
Let’s start! Стартуем?
Let’s begin! Начинаем?
Let’s continue! Продолжаем…
Другие материалы:
1. Как услышать произношение английских слов бесплатно
2. Кодирование текстовой информации
3. Что такое переменная в программировании и чем она отличается от константы
4. Программы для 3D моделирования: знакомство с трехмерной графикой
5. Учим испанский язык бесплатно с помощью интернета и duolingo