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

В каждом уроке содержатся дополнительные материалы: конспекты, иллюстрации, статьи и видео, рекомендованные к просмотру, некоторые опциональные ресурсы и полный текст урока.

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

ВАЖНО

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

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

Конспект урока

  • Компьютер принимает код и выполняет действия
  • Компьютер понимает определённый язык кодов:
    • Некоторые коды работают
    • Некоторые коды не работают
    • В коде жёсткие правила
  • Компьютеры по существу не такие умные, как люди, они только выполняют наши указания. А указания для компьютеров выражаются в виде кода.
  • Все компьютеры фундаментально одинаковы. Примитивный, старый, маломощный компьютер и современный ноутбук используют одинаковые принципы и способны на одинаковые операции, в разной степени.

Рекомендуем посмотреть

Дополнительно


Транскрипт урока

Это Тота.

Тота - пещерный человек.

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

"Прямо как в Терминаторе", - сказал бы Тота, если бы видел фильм Терминатор.

Объект быстро исчез, оставив на траве чёрный дымящийся ящик.

Тоту захватило любопытство, и он ждал, пока дым рассеется, чтобы изучить непонятную штуку.

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

Тота обнаружил интересное свойство: если нажать Х и О последовательно, а потом опустить рычаг, то на короткое время вначале загорится кнопка О, а потом Х.

Я вам говорил, что Тота был невероятно умным? Самым умным в своей пещере.

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

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

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

Вскоре он открыл другие схемы: одна из них производила ненавистный Тоте звук, после другой выплевывался лист с какими-то пометками, а некоторые комбинации вообще ни к чему не приводили.

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

Он понял, что натренировал этого зверя, точно так же, как однажды натренировал волчонка.

Так что это за штука?

Конечно, Тота называет её Бум-вум, но мы можем придумать что-то получше. Изначально можно подумать, что это какое-то чрезмерно усложнённое оружие. Но оно производит и другие странные вещи, вроде музыки... и даже печати. Оно не похоже на бытовой прибор, хотя, некоторые стиральные машины намного сложнее в эксплуатации.

Давайте начнём с кнопок. Похоже машина "понимает" определённые комбинации и не понимает другие. Мы не знаем назначения кнопок и комбинации, поэтому я хочу назвать это "кодом", вроде "я понятия не имею что это, но, наверное, это что-то значит". Некоторые коды работают, некоторые — нет, так же как в речи некоторые звуки означают что-то, а другие — нет. "Язык", кажется, подходящее слово. Эта машина понимает определенный язык кодов.

Хорошо, как тогда мы назовём эту машину? Пониматель языка кода? "Понимать" звучит важно, но основная задача машины не в том, чтобы понимать, а в том, чтобы выдавать какой-то результат. Она понимает код - "огненная вспышка" и немедленно эту вспышку создаёт. Поэтому, можно назвать её... выполнитель языка кода? Она выполняет некоторые действия.

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

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

const factorial = (n) => {
  const iter = (current, acc) => {
    if (current === 0) {
      return acc;
    }
    return iter(current - 1, acc * current);
  };

  return iter(n, 1);
}

Кстати, в конце курса, вы сможете писать и понимать подобный код с лёгкостью.

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

Продолжая рассматривать эту странную машину, мы можем понять кое-что важное в компьютерах в целом:

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

И второе: компьютеры по-настоящему тупы.

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

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →