Вступ
Привіт. Вітаю. Сподіваюся, у всіх усе гаразд. Червень був насиченим місяцем в Exercism: запуск Premium і наше 10-річчя. І сподіваюся, гратися з мовами Lisp під час Summer of Sexps було цікаво. А тепер переходимо до сьомого місяця 2023 року. Наш шостий тематичний місяць - Юрський липень.
Що ми маємо на увазі під словом «Юрський»? Ну, не те, що ці мови вимерли, хоча нове програмне забезпечення на COBOL сьогодні навряд чи хтось писатиме. Але це одні з найстаріших мов у світі, деяким понад 60 років. Неймовірна кількість програмного забезпечення (особливо корпоративного) написана цими мовами. Усі вони - неймовірно успішні мови.
Отже, які це мови? Ми розглянемо C, C++, COBOL, Fortran і Visual Basic. C і C++ ми не будемо розглядати в цьому відео, бо вже розповідали про них у Mechanical March, тож якщо ці мови цікавлять, подивіться те відео! А ось COBOL, Fortran і Visual Basic розглянемо трохи згодом!
Значки
Отримайте значок, виконавши цього місяця 5 вправ однією з цих мов. А для річного значка потрібно виконати:
- Bob: робота з рядками тексту (англ. string) та умовною логікою
- Allergies: робота з рядками тексту, числами та побітовими операціями
- Reverse String: перебір символів у рядку тексту
- High Scores: перебір масивів чисел
- Armstrong Numbers: робота з числами та циклами й ітерацією
Огляди
Fortran
-
Започаткована Джоном Бекусом в IBM у 1950-х, щоб створити практичнішу альтернативу мові асемблера для програмування їхнього мейнфрейма IBM 704
-
Створювалася для побудови наукових та інженерних застосунків (назва розшифровується як Formula Translating System)
-
Перша мова програмування високого рівня (скорочує кількість рядків коду приблизно у 20 разів)
-
Також перший оптимізувальний компілятор (клієнти неохоче користувалися мовою високого рівня, якщо її компілятор не генерував код, за продуктивністю близький до написаного вручну асемблера)
-
Статично та строго типізована мова
-
Спочатку підтримувала лише імперативне програмування, але невдовзі додали й процедурне. Пізніші розширення додали підтримку інших парадигм, як-от обʼєктно-орієнтоване програмування та програмування масивами
-
Стандартизована: вперше 1966 року як Fortran 66, востаннє оновлена 2018 року!
-
Надзвичайно впливова: від Basic до ALGOL, надихнула багато мов. Значна частина ранніх досліджень мов програмування мала на меті вдосконалити Fortran
-
Досі активно розвивається: додають нові можливості, зберігаючи надійні гарантії зворотної сумісності (старий код зазвичай досі компілюється й працює)
-
Вбудований паралелізм за допомогою coarrays, безпечний та ефективний спосіб виразити паралелізм. Функції можна позначати як чисті, що допомагає компілятору оптимізувати код для паралельних обчислень
-
Безпечна робота з памʼяттю за допомогою allocatable-змінних, де компілятор сам звільняє памʼять.
-
Вбудована взаємодія з C
COBOL
-
Розроблена 1959 року консорціумом CODASYL (за підтримки Міністерства оборони!) з метою знизити витрати на розробку бізнес-застосунків (назва розшифровується як Common Business-Oriented Language)
-
Стала стандартом 1968 року, остання редакція - 2014 року
-
Різні реалізації, як-от IBM COBOL, GnuCOBOL (компілюється в C) і Micro Focus™ Visual COBOL, що працює і на JVM, і на .NET runtime
-
Статично типізована мова
-
Мультипарадигмова, підтримує імперативне та обʼєктно-орієнтоване програмування
-
Багатослівний синтаксис (багато ключових слів), але дуже зрозумілий для людини. Це полегшує читабельність і підтримку
-
Добра зворотна сумісність завдяки стабільній специфікації. Перевірена на практиці
-
Добра продуктивність (використовується у фінансах)
Visual Basic
-
Розроблена Microsoft як наступник Visual Basic, що працює на .NET runtime (суфікс .NET прибрали після Visual Basic 2003)
-
Першу версію випустили 2002 року, а 2023 року мову позначили як «стабільну». Це означає, що нового синтаксису до мови не додаватимуть, але її досі підтримують
-
Здебільшого має той самий синтаксис, що й Visual Basic, але з деякими змінами
-
Статично типізована мова, що підтримує строгу та слабку типізацію
-
Мультипарадигмова мова: передусім обʼєктно-орієнтоване програмування, але також імперативне та подієво-орієнтоване
-
Легка для вивчення (Visual Basic задумували як легку для вивчення мову)
-
Чудова підтримка обʼєктно-орієнтованого програмування
-
Працює на перевіреному на практиці .NET runtime з доступом до всіх бібліотек .NET
-
Просте розгортання за допомогою ClickOnce
Сценарії використання
Fortran
Використовується у сценаріях високопродуктивних обчислень (суперкомпʼютери): прогнозування погоди, астрономія, будівельна механіка. Також застосовується в CAD-програмах, і багато застосунків побудовано на FORTRAN, наприклад різні модулі NumPy використовують бібліотеки FORTRAN 77.
COBOL
Широко використовується у фінансах, і багато фінансових систем значною мірою досі працюють на програмному забезпеченні COBOL (за оцінками, близько 80% фінансових транзакцій забезпечує COBOL), хоча сьогодні це переважно супровід. Також застосовується в багатьох бізнес-застосунках і навіть у сховищі «ключ-значення», яке використовують у Walmart.
Visual Basic
Використовується для графічних інтерфейсів (наприклад, інтерфейсів до баз даних) і вебсайтів, які генерує сервер. Серед компаній - Boeing, Wells Fargo і General Electric
Чим вони відрізняються з погляду програмування?
Fortran
Спочатку підтримувала лише імперативне програмування, але невдовзі додали й процедурне. Пізніші розширення додали підтримку інших парадигм, як-от обʼєктно-орієнтоване програмування та програмування масивами
COBOL
Мультипарадигмова, підтримує імперативне та обʼєктно-орієнтоване програмування
Visual Basic
Мультипарадигмова мова: передусім обʼєктно-орієнтоване програмування, але також імперативне та подієво-орієнтоване
Визначні особливості
Fortran
- Продуктивність. Мова Fortran та її типи й структури даних створені, щоб бути ефективними й мати високу продуктивність. Саме тому її використовують у суперкомпʼютерах
- Типово підтримує багато математичних функцій
- Програмування масивами - дуже зручний спосіб застосовувати операції до масивів та їхніх частин без ручного перебору чи вказування меж масиву
COBOL
- Арифметика з фіксованою комою не має похибок округлення, на відміну від чисел з плаваючою комою. Саме тому вона чудово підходить для фінансів
- Чудово підходить для читання та запису файлів (записів)
- Вбудована підтримка в COBOL для генерації звітів (ще одна причина його популярності в бізнес-застосунках)
Visual Basic
- Чудово підходить для створення застосунків із графічним інтерфейсом за допомогою Windows Forms. Редактор WYSIWYG із перетягуванням елементів
- Чудова підтримка IDE: рефакторинг, автодоповнення коду та безліч іншого
Що спробувати?
- Якщо цікавлять наукові обчислення чи висока продуктивність, Fortran - чудовий вибір
- Якщо хочеться відчути, як колись створювали бізнес-застосунки, COBOL - чудовий варіант
- Якщо цікавить створення застосунків із графічним інтерфейсом або робота на платформі .NET, Visual Basic чудово підійде
- Якщо цікавить історія програмування, то COBOL і Fortran - гарні треки, щоб із ними ознайомитися