Французский или Python: что общего между иностранным языком и языком программирования

4 350

Французский или Python: что общего между иностранным языком и языком программирования

4 350

В школе Kodland подростки изучают язык программирования Python, чтобы в конечном счёте создать свои игры. Разбираемся, почему это всё-таки язык и в чём сходства и различия между Python и любым иностранным языком.

Сходства

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

Минимальные единицы языка

Python, Java, C++ — всё это, по сути, настоящие языки, где определенные символы несут конкретные смысловые обозначения, иначе выстраиваются предложения и формулируются мысли.

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

Грамматика и синтаксис

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

Подход к изучению

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

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


Различия

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

Цель коммуникации

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

Построение коммуникации

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

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

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

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