Professional Documents
Culture Documents
Лабораторна - 4
Лабораторна - 4
Лабораторна робота № 4
З дисципліни:
«Вступ до спеціальності»
СУМИ – 2023
1) Еволюція мов програмування є довгим і складним процесом, що обумовлений розвитком
технологій, змінами в області архітектури комп'ютерів, потребами розробників і суспільством
в цілому. Основні етапи розвитку можна розділити на кілька періодів:
1. Найраніший період (до 1950 року):
- Машинні коди та асемблери: У цей період програмування велося безпосередньо в
машинних кодах або мовах асемблера, що важкочитається і вимагає великих зусиль для
написання і розуміння програм.
2. Період першого покоління мов (1950-1960 роки):
- Fortran (1957): Розроблений для інженерів і науковців, Fortran був однією з перших
високорівневих мов, яка дозволяла структурувати програми.
- Lisp (1958): Створений для обробки символьної інформації, Lisp вперше введений ідею
гарбеж-збору (garbage collection).
3. Період другого покоління мов (1960-1970 роки):
- COBOL (1959): Створений для бізнес-застосувань, COBOL був однією з перших мов, яка
дозволяла читабельність коду.
- ALGOL (1960): Вніс значний внесок в теорію структуризації програм.
4. Ера третього покоління мов (1970-1980 роки):
- C (1972): C був спроектований для розробки операційних систем і виявився дуже
ефективним та переносимим.
- Pascal (1970): Розроблений для навчання, Pascal пропонував структурований підхід до
програмування.
- Smalltalk (1972): З'явилося поняття об'єктно-орієнтованого програмування.
5. Ера четвертого покоління мов (1980-нині):
- C++ (1983): Розширення мови C, введення об'єктно-орієнтованого програмування.
- Java (1995): Був розроблений для написання програм для віртуальної машини Java, що
дозволяє покращити переносимість коду.
- Python (1991): Динамічна, високорівнева мова програмування, орієнтована на простоту
читання коду та швидкість розробки.
- C# (2000): Розроблений Microsoft, має високий ступінь об'єктно-орієнтованого
програмування.
- Swift (2014): Розроблений Apple, орієнтований на простоту та безпеку коду, особливо для
розробки iOS-додатків.
На різних етапах розвитку мов програмування відбувалися зміни з метою полегшення процесу
розробки, підвищення читабельності коду, забезпечення більшої ефективності виконання
програм, а також з врахуванням змін у вимогах до програмного забезпечення та
обчислювальних систем. Наприклад, зростання популярності мобільних платформ призвело
до появи мов програмування, таких як Swift для розробки додатків для iOS. Об'єктно-
орієнтоване програмування, концепції гарбеж-збору та функціонального програмування стали
значущими тенденціями у сучасному програмуванні.
2) Давайте порівняємо дві мови програмування: Python (представник багатоцільового
програмування) та Haskell (представник функціонального програмування).
1. Синтаксис:
- Python: Має чистий і лаконічний синтаксис, який нагадує псевдокод. Використовує
відступи для визначення блоків коду.
- Haskell: Має дуже експресивний синтаксис. Використовується інфіксна нотація для
бінарних операцій та каррірування функцій.
2. Типізація даних:
- Python: Динамічна типізація. Типи визначаються автоматично під час виконання програми.
- Haskell: Статична і сильна типізація. Типи визначаються на етапі компіляції, і компілятор
гарантує їх правильність.
3. Підтримка парадигм програмування:
- Python: Підтримує об'єктно-орієнтоване програмування, процедурне програмування та
функціональне програмування (з обмеженнями).
- Haskell: Орієнтований на функціональне програмування, але також підтримує монади для
обробки побічних ефектів, що робить його мовою з чистим функціональним ядром.
4. Процес компіляції/інтерпретації:
- Python: Інтерпретована мова. Код виконується рядок за рядком за допомогою
інтерпретатора Python.
- Haskell: Зазвичай компілюється. GHC (Glasgow Haskell Compiler) є одним з
найпоширеніших компіляторів для Haskell.
5. Області застосування:
- Python: Широко використовується для веб-розробки, наукових обчислень, штучного
інтелекту, аналізу даних та ін.
- Haskell: Зазвичай використовується для функціонального програмування, особливо в галузі
великих та складних систем, де безпека та ефективність важливі.
Інші аспекти, такі як продуктивність, екосистема інструментів та бібліотек, можуть
варіюватися в залежності від конкретних вимог та завдань. Обидві мови мають свої сильні
сторони і можуть бути вибрані відповідно до конкретних вимог проекту.
4) На момент мого останнього оновлення в січні 2023 року, давайте розглянемо деякі загальні
тренди у світі мов програмування. Звертаю увагу, що популярність мов може змінюватися в
залежності від регіону, галузі та інших факторів.
### Зростання популярності:
1. Python:
- Чому: Python залишається однією з найпопулярніших мов програмування завдяки своїй
простоті, читабельності, розширюваності і великій кількості бібліотек для різноманітних
застосувань, таких як штучний інтелект, аналіз даних, веб-розробка та інше.
2. JavaScript:
- Чому: JavaScript залишається ключовою мовою для фронтенд-розробки веб-додатків. З
додатковими фреймворками та бібліотеками, такими як React, Angular та Vue.js, JavaScript
також використовується для розробки повноцінних веб-застосунків.
3. TypeScript:
- Чому: TypeScript, розширення JavaScript з підтримкою статичної типізації, набирає
популярність завдяки покращенню безпеки коду та інструментів для розробників.
4. Go (Golang):
- Чому: Go отримує визнання через свою ефективність, швидкість та простоту використання.
Використовується для розробки масштабованих веб-сервісів та інфраструктури.
5. Rust:
- Чому: Rust отримує популярність через свою високу ефективність, систему власності та
забезпечення безпеки виконання коду.
### Зменшення популярності:
1. Java:
- Чому: Хоча Java залишається ключовою мовою для корпоративних систем, банківських
додатків і великих підприємств, її популярність у веб-розробці може зменшуватися через
появу новіших мов, таких як Kotlin для Android.
2. C/C++:
- Чому: Хоча C/C++ залишаються важливими для системного програмування та розробки
вбудованих систем, їх популярність у веб-розробці може зменшуватися через вищеописані
мови вищого рівня.
3. PHP:
- Чому: З зростанням популярності альтернатив, таких як Node.js, та підходів до розробки,
таких як серверне відображення та мікросервісна архітектура, популярність PHP може
зменшуватися.
Важливо відзначити, що популярність мов програмування може змінюватися
відповідно до конкретних завдань, технічних вимог та ринкових тенденцій. Також слід
враховувати, що нові мови можуть з'являтися та отримувати популярність відповідно до
розвитку технологій та вимог ринку.
Джерела:
https://uk.wikipedia.org/wiki/Фортран
https://uk.wikipedia.org/wiki/Lisp
https://uk.wikipedia.org/wiki/COBOL
https://uk.wikipedia.org/wiki/ALGOL
https://uk.wikipedia.org/wiki/C_(мова_програмування)
https://uk.wikipedia.org/wiki/Pascal
https://uk.wikipedia.org/wiki/Smalltalk
https://uk.wikipedia.org/wiki/C%2B%2B
https://uk.wikipedia.org/wiki/Java
https://uk.wikipedia.org/wiki/Python
https://uk.wikipedia.org/wiki/C_Sharp
https://uk.wikipedia.org/wiki/Swift_(мова_програмування)
https://uk.wikipedia.org/wiki/Haskell
https://uk.wikipedia.org/wiki/TypeScript
https://uk.wikipedia.org/wiki/Go_(мова_програмування)
https://uk.wikipedia.org/wiki/Rust_(мова_програмування)
https://uk.wikipedia.org/wiki/PHP
https://chat.openai.com/c/e1f2884d-1143-4811-b053-cb3d1822321a