You are on page 1of 24

Мови і парадигми

програмування
Вікіпедія стверджує, що існує приблизно 700 мов програмування ,
тоді як інші кажуть, що це число ближче до 9000.

● чи є сенс вчити якусь одну мову якщо їх так багато і можуть


з'явитися нові а ці стануть непотрібні?
● Чи існує спосіб який дозволяє не витрачати багато часу на
вивчення того, може не знадобились, а замість зрозуміти
основні принципи в мовах програмування і легко переходити з
однієї мови на іншу?

Наша відповідь “так” і цей курс саме для цього.

Знайомтесь: технологія навчання мовам програмування

2
Інструменти розробника програмного забезпечення

Що є в арсеналі розробника програмного


забезпечення?
Лише 2 інструменти:
● мова програмування
● середовище програмування

Мова програмування — це словник і набір


граматичних правил для вказівок комп’ютеру або
комп’ютерному пристрою для виконання певних
завдань.

3
ПРАКТИКА
Множинний вибір

Виберіть зі списку IDE ( середовища програмування):


1. PyCharm
2. Visual Studio
3. Visual Studio Code
4. Visual Basic
5. repl.it
6. Microsoft Azure
7. ideone.com
8. Google Collaboratory
9. Google Drive

4
Мови програмування
Мови високого рівня Мови низького рівня

Мови програмування високого рівня використовують Мови програмування низького рівня використовуються
синтаксис, подібний до англійської мови. Ці мови для написання програм, які стосуються архітектури та
вважаються «вищими», тому що вони ближчі до людської апаратного забезпечення комп’ютера.
мови і, отже, легші для розуміння програмістами. Ці мови можна розділити на дві категорії: машинна
Приклад: C , C++ , Java, Python та інші. мова та мова асемблера .
Ці мови використовуються для розробки веб-додатків, Мови асемблера корисні, тому що писати програми на
додатків для комп’ютерів і мобільних пристроїв . машинній мові дуже складно. Програма асемблера
перетворюється на машинну мову за допомогою
асемблера.
Ці мови можна використовувати для розробки
операційних систем і драйверів пристроїв.

5
Парадигми програмування

Термін «парадигма програмування»


описує стиль програмування.

6
Співставлення
ПРАКТИКА
Якби описані дії були мовою програмування, то до якої парадигми вони б
відносились : програмування

1. Замовлення в кафе вимогливого клієнта: “Добрий день. Я хочу Імперативне програмування


замовити спочатку салат номер 3, потім через 5 хвилин прошу
принести мені суп з меню під номером 12, далі еспресо з водою
кімнатної температури”
2. Детальна розповідь про вечірку:”Спочатку прийшли ми лише
вдвох. Через йщ хвилин нас запросили на відкриття. На відкритті
були…”” Імперативне програмування
3. Замовлення в кафе байдужого клієнта:”Мені що небудь на ваш
смак, будь ласка” Декларативне програмування
4. Коротка розповідь про вечірку::”Було круто”
Декларативне програмування
7
Види імперативної парадигми програмування
Імперативну парадигму представляють 2 напрямки мов програмування:
● структурне програмування
● Об'єктно- орієнтоване програмування (ООП)

Структурне програмування Об'єктно- орієнтоване програмування

Головна мета - покращити та збільшити якість, Головна мета — покращити та підвищити як


ясність та час розробки комп'ютерної програми. якість, так і продуктивність системного аналізу
та проектування.

Програми поділяються на невеликі програми або Програми поділяються на об'єкти або сутності.
функції

Полегшення створення програм із читабельним кодом Створення об’єктів, які зазвичай містять і
і повторно використовуваними компонентами функції, і дані.

Приклад: Pascal, Python, C, Modula-2 тощо. Приклад: JAVA , C# , C+Python+ тощо.

8
ПРАКТИКА

Вибір одного варіанта відповіді:

Яка парадигма диктує ЩО робити але не говорить ЯК це зробити?


яка парадигма диктує, ЩО слід робити, але не ЯК?
1. Декларативна
2. Об'єктно-орієнтована
3. Низькорівнева
4. Імперативна
5. Функціональна
6. Структурна

9
Види декларативної парадигми програмування

● Парадигма логічного програмування


Парадигма логічного програмування використовує декларативний підхід
до вирішення проблем, що заснована на формальній логіці. Якщо вам цікаво що ж таке логічно програмування,
Приклад мов логічного програмування: Prolog можете перейти за посиланням і зєясувати
“Як вивчити Prolog, дивлячись “Гру престолів”
● Парадигма функціонального програмування
У парадигмі функціонального програмування функції не змінюють
жодних значень за межами цієї функції, а на самі функції не впливають
жодні значення за межами їхньої області.
Ключовим принципом цієї парадигми є виконання ряду математичних
функцій.
Мови, що підтримують парадигму функціонального програмування:
Haskell, OCaml, Scala, Clojure, Ракетка, JavaScript, Python

10
ПРАКТИКА
Співставлення

Мови і парадигми програмування

C Структурне програмування

Pascal Структурне програмування


C# Об'єктно- орієнтоване програмування
Java
Об'єктно- орієнтоване програмування
Haskell
Функціональне програмування

11
Приклад коду в функціональній парадигмі на Haskell:

main = interact fun


fun = unlines . takeWhile (/="42") . words

Приклад коду в функціональній парадигмі в знайомих мовах:

Python JavaScript
def func(): function func() {
print("я функція!") print("я функція!") }
func() func()
name = func() name = func()

12
Як створюються мови програмування

Мови програмування не просто розвиваються і


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

Що відбувається, коли ми пишемо і запускаємо код?


1. Користувач створює текстовий файл
2. Тестовий файл передається лексеру
3. Лексер відкриває текстовий файл і передає його парсеру
4. Парсер аналізує кожен рядок коду та перекладає його на машинний код Приклад
5. Парсер повертає перекладений код і генерує код у вихідний файл

13
Співставлення ПРАКТИКА

1. Лексер 1. приймає рядок і повертає всі лексеми, знайдені в


2. Парсер цьому рядку.
3. Генератор коду 2. виеонує синтаксичний аналіз лексем, що
надходять від лексера
3. генерує вихідний код синтаксичного аналізатора
лексем

14
Історія мов програмування

Початок історії

1883

Перша мова програмування була


розроблена в 1883 році, коли Ада
Лавлейс і Чарльз Беббідж разом
працювали над аналітичною машиною,
яка була примітивним механічним
комп’ютером.

ВІдео “Як з'явилися мови програмування”

15
ПРАКТИКА

Історія Ади Лавлейс - жінки, яка придумала по суті програмуванні цікава не лише
математичними розробками, але і особистим життям.
ЇЇ батько також був і залишається історичною постаттю, але зовсім в іншій галузі .

Батьком Ади Лавлейс був:

1. співак Елвіс Преслі


2. поет Джордж Гордон Байрон (лорд Байрон)
3. політичний діяч Авраам Лінкольн
4. художник Пабло Пікассо

16
За крок до революції в мовах програмування

● 1949 : мова асемблера була вперше використана як тип мови комп’ютерного


програмування, який міг спростити мову машинного коду.
● 1952 : Алік Ґлені розробив Autocode, який деякі вважають першою компільованою
мовою програмування. Це означає, що його можна перевести безпосередньо в
машинний код.
● 1957 : Джон Бекус створив FORTRAN, який є мовою програмування для роботи з
науковими, математичними та статистичними проектами.
● 1958 : Algol було створено як алгоритмічну мову. Він також був попередником мов
програмування, таких як Java і C.
● 1959: Доктор Грейс Мюррей Хоппер створила COBOL як мову, яка може працювати
на всіх типах комп’ютерів.
● 1959 : Джон Маккарті створив LISP , який використовується досі. Ця мова
програмування була розроблена для використання в дослідженнях штучного
інтелекту, і сьогодні її можна використовувати з Python і Ruby.
● 1964 : Джон Г. Кемені та Томас Е. Курц розробили BASIC для студентів, які не мають
достатнього досвіду в техніці та математиці.

17
ПРАКТИКА

Множинний вибір

Виберіть істинні твердження про мову програмування Асемблер


1. Це мова низькорівневого програмування
2. Це мова високорівневого програмування
3. Асемблер складає ядро операційних систем, наприклад, Linux
4. Асемблер має повний контроль над ресурсами операційної системи
5. Використовується в програмах, де потрібно спростити код
6. Використовується в програмах, де потрібна висока швидкодія
7. На асемблері можна написати комп'ютерний віркс

18
Все змінилось в світі коду
● 1970 : Ніклаус Вірт розробив Pascal , назвавши його на честь Блеза Паскаля. 1972 : Алан
Кей, Адель Голдберг і Ден Інгаллс розробили Smalltalk, який дозволив програмістам
швидко змінювати код.
● 1972 : Денніс Річі розробив C, який зазвичай вважається першою мовою програмування
високого рівня. Це означає, що він ближче до людської мови і менше схожий на
машинний код.
● 1972 : Дональд Д. Чемберлін і Реймонд Ф. Бойс розробили SQL для IBM. Ця мова
використовувалася для перегляду та зміни даних, що зберігаються в базах даних.
● 1978 : Клів Молер розробив MATLAB для написання математичних програм. Ця мова
використовується для дослідження та навчання.
● 1983 : Бред Кокс і Том Лав створили Objective-C як основну мову для написання
програмного забезпечення Apple.
● 1983 : Б'ярн Страуструп створив C++, який є розширенням мови програмування C. Це
одна з найуживаніших мов у світі.
● 1987 : Ларрі Уолл розробив Perl як мову сценаріїв, яка використовується для редагування Б'ярн Страуструп під час
розробки c++:
тексту для спрощення обробки звітів.

19
ПРАКТИКА
Для розвитку сучасних мов програмування дуже велике
значення мало створення таких революційних мов як С і
С++.
Вони дали основу всім наступним мовах, частина яких і
створена саме на С або С++
Їх об'єднує і ще одна деталь- вони створені в одній
лабораторії.
І, що цікаво, ця лабораторія пвєзага ще з одним дуже
популярним пристроєм, яким кожен з нам користується.
Відповідь - перше слово назви лабораторії:

20
Нова історія мов програмування

● 1990: Haskell було розроблено як функціональну мову програмування, що використовується для обробки складних математичних
обчислень.
● 1991 : Гвідо Ван Россум розробив Python , спрощену комп’ютерну мову, яку легко читати.
● 1991 : Microsoft розробила Visual Basic, який дозволив програмістам вибирати та змінювати певні фрагменти коду за допомогою
процесу перетягування.
● 1993 : Росс Іхака та Роберт Джентльмен розробили R для статистиків, яким потрібно було виконувати аналіз даних.
● 1995 : Sun Microsystems розробила Java, спочатку призначену для використання з портативними пристроями.
● 1995 : Расмус Лердорф розробив PHP, головним чином для веб-розробки. Сьогодні PHP продовжує широко використовуватись у веб-
розробці.
● 1995 : Юкіхіро Мацумото розробив Ruby як універсальну мову програмування, ідеальну для багатьох завдань програмування. Ruby
широко використовується при розробці веб-додатків.
● 1995 : Брендан Айх розробив JavaScript для покращення взаємодії веб-браузера .
● 2000 : Microsoft розробила C# як комбінацію C++ і Visual Basic. C# дещо схожий на Java.
● 2003 : Мартін Одерскі створив Scala як мову програмування, яка поєднує в собі аспекти функціонального програмування.
● 2003 : Джеймс Страчан і Боб МакВіртер розробили Groovy як відгалуження Java.
● 2009 : Google розробив Go для вирішення проблем, які зазвичай виникають у великих програмних системах.
● 2014 : Apple розробила Swift для заміни C, C++ і Objective-C.

21
Проведемо пошук
ПРАКТИКА
Мови програмування -0 це лише інструмент створення проектів.
І завжди корисно поцікавитись, на яких же мовах створені відомі нам програми.
На яких мовах написані популярні програми ?
Знайдіть 3, якими ви користуєтесь і заповніть таблицю

● Програма
● Мова / мови створення
● Джерело

ЦІкаво зазирнути:

https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites

22
Підсумуємо

Основні моменти теми:

1. Інструменти розробника (мова і середовище)


2. Парадигма програмування
3. Імперативне і декларативне програмування
4. Види імперативного програмування (структурне і об’єктно - орієнтоване)
5. Види декларативного програмування (логічне, функціональне, програмування баз даних)
6. історія розвитку мов програмування

23
Прагнути більшого

Навколо програмування створено і створюється багато міфів


Якщо вам цікава тема програмування, то і цей ресурс також стане у нагоді:

http://web.archive.org/web/20200918144110/https://echo.lviv.ua/dev/7174

24

You might also like