Глава 5 з 27

Безкоштовно

2: Алфавіт і словник програмування

⏱️ 50-65 хвилин
📊 intermediate

Розділ 5: "Мови спілкування з комп'ютерами"

Уранці Аліса прокинулася від дивних звуків, що доносилися з вітальні. Коли вона вийшла з кімнати, то побачила Байта, який видавав серію писклявих звуків, а Професор Біт, здавалося, його розумів.

— Доброго ранку, Алісо! — повернувся до неї Професор. — Ми з Байтом якраз обговорювали тему нашого сьогоднішнього уроку — мови програмування.

— Ви говорили мовою роботів? — зацікавилась Аліса, наливаючи собі апельсиновий сік.

— Щось на кшталт того, — посміхнувся Професор. — Байт говорив мовою, яка називається "машинний код". Це мова найнижчого рівня, якою комп'ютери спілкуються між собою.

Логік, що сиділа на книжковій полиці, розправила крила:
— У світі існує понад 700 мов програмування, і в кожної свої особливості та призначення.

— Сімсот?! — здивувалась Аліса. — Але навіщо так багато? Людям вистачає набагато менше мов для спілкування.

Професор сів за стіл і показав Алісі свій планшет:
— Дивись, мови програмування створюються для різних цілей, як і інструменти. Молотком добре забивати цвяхи, але не дуже зручно вкручувати шурупи, вірно?

Аліса кивнула.

— Так само і з мовами програмування. Деякі краще підходять для створення вебсайтів, інші — для аналізу даних, треті — для керування роботами або створення ігор.

На екрані з'явилась яскрава схема з різними мовами програмування.

Мови програмування: Python, алгоритми і схема роботи програми

— Ось, наприклад, Python, — вказав Професор на логотип зі змією. — Це дуже популярна мова, зрозуміла для початківців. Нею можна писати майже все що завгодно — від простих скриптів до складних наукових програм.

— А це JavaScript, — Професор вказав на інший логотип. — Він керує більшістю інтерактивних елементів на вебсторінках.

— А якою мовою говорить Байт? — запитала Аліса.

— У Байта кілька мов, — відповів Професор. — Його базові функції написані на C++, це дуже швидка і потужна мова. А для спілкування з нами він використовує спеціальні бібліотеки на Python.

Професор натхненно подивився на екран і продекламував:

Сімсот шляхів, сімсот доріг,
Рядків точнісіньких розбіг.
Усі ці мови — про одне:
Як в ланцюжку кільце міцне.

Для кожної мети — свій шлях,
І мова, що живе в думках.
Сімсот стежок на висоті
Красу дарують в простоті.

Одна, як флейта — має хист,
Літає вільно, наче лист.
А інша — міцна, як граніт,
Будує точний моноліт.

Ця — архітекторка споруд,
Що стерпить найскладніший труд.
А та — мов спалах кольорів,
Як акварельний перелив.

Ось вартівник баз і таблиць,
Де строгі ритми таємниць.
В бездонній пам'яті мереж
Дані й ключі вартує теж.

Так різномовний наш народ
Склада симфонію із нот.
По-різному, але цілком:
Їх код вплітається в геном!

— Професоре, а чим відрізняються мови програмування від людських мов? — зацікавилась Аліса.

— Чудове запитання! — Професор задумався на мить. — Головна відмінність у тому, що людські мови допускають неоднозначність та інтерпретації, а мови програмування повинні бути абсолютно точними.

— Що це означає?

— Коли я кажу: "Подай, будь ласка, цю штуку", — ти можеш зрозуміти з контексту, що я маю на увазі. Якщо я покажу поглядом на пульт від телевізора, ти здогадаєшся, що потрібно подати саме його. Але комп'ютер не вміє "здогадуватися". Якщо ти не вкажеш точно, що потрібно робити, він або видасть помилку, або зробить щось не те.

Байт видав серію звуків, схожих на сміх:
— Коли програмісти пишуть неточні інструкції, виходять кумедні результати! Одного разу мене попросили "піти направо, коли побачиш дерево". Я так і не зрушив із місця, тому що не було вказано, ЯКЕ саме дерево!

— Саме так! — підхопив Професор. — У програмуванні важлива надзвичайна точність. Комп'ютер виконує саме те, що ти йому кажеш, а не те, що ти маєш на увазі.

Логік додала:
— Людські мови еволюціонували тисячі років, а мови програмування були спеціально створені людьми для вирішення конкретних завдань.

Професор дістав із полиці кілька книг:
— Кожна мова програмування має свій синтаксис — набір правил, що визначають, як повинні бути написані команди. Це як граматика у звичайних мовах.

Він відкрив ноутбук і показав просту програму:

python
print("Привіт, світ!")

— Це програма мовою Python, — пояснив він. — Вона виводить на екран фразу "Привіт, світ!". А ось те ж саме мовою JavaScript:

javascript
console.log('Привіт, світ!');

— А ось мовою C++:

cpp
#include
int main() {
std::cout << "Привіт, світ!" << std::endl;
return 0;
}

— Бачиш, як по-різному можна сказати одне й те саме? — запитав Професор.

— Так, Python виглядає найпростішим, — зауважила Аліса.

— Влучно підмічено! — кивнув Професор. — Python створювався з акцентом на зручність читання. Його часто рекомендують для початківців саме тому, що його код схожий на звичайну англійську мову.

— А якою мовою мені варто вчитися програмувати? — запитала Аліса.

— Для початку я б рекомендував щось візуальне, наприклад, Scratch, — відповів Професор. — У ньому програма збирається з блоків, як конструктор LEGO. Це допомагає зрозуміти основні концепції програмування без необхідності запам'ятовувати синтаксис.

Байт вивів на свій екран барвистий інтерфейс Scratch:

Scratch: програма з кольорових блоків, як конструктор LEGO

— Дивись, так виглядає програма в Scratch. Ти перетягуєш блоки команд, з'єднуєш їх, і виходить програма!

— Схоже на гру, — посміхнулась Аліса.

— Програмування і має бути захоплюючим! — підморгнув Професор. — Багато професійних програмістів кажуть, що їхня робота — це ніби розв'язувати головоломки і створювати щось нове одночасно.


Завдання

Придумай свою власну міні-мову програмування для керування роботом-пилососом. Які команди будуть у твоїй мові? Наприклад, "ВПЕРЕД(5)" може означати "рухайся вперед на 5 кроків". Складіть список з 5-7 команд і придумай просту програму своєю мовою для прибирання кімнати.