Відмінності між версіями «Мови програмування»
Рядок 19: | Рядок 19: | ||
* незалежність від конкретного комп'ютера; | * незалежність від конкретного комп'ютера; | ||
* можливість використання потужних синтаксичних конструкцій. | * можливість використання потужних синтаксичних конструкцій. | ||
− | Простота мов дає змогу писати невеликі програми і людям, які не є професійними | + | Простота мов дає змогу писати невеликі програми і людям, які не є професійними програмістами. |
Основна відмінна риса мови третього покоління: орієнтування на алгоритм (алгоритмічні мови). | Основна відмінна риса мови третього покоління: орієнтування на алгоритм (алгоритмічні мови). | ||
Рядок 27: | Рядок 27: | ||
Всього у світі існує близько 200 популярних мов програмування третього рівня. | Всього у світі існує близько 200 популярних мов програмування третього рівня. | ||
+ | === Четверте покоління === | ||
+ | Початок 1970-х р.р. до сьогоднішнього часу. Створюються мови, призначені для реалізації великих проектів. Проблемно-орієнтовані мови, що оперують конкретними поняттями вузької галузі. Як правило, в такі мови вбудовують потужні оператори, що дозволяють одним рядком описувати функції, для опису яких мовами молодших поколінь потрібно було б сотні чи навіть тисячі рядків початкового коду. | ||
+ | Часто відносять: [http://uk.wikipedia.org/wiki/SQL SQL], [http://uk.wikipedia.org/wiki/SGML SGML] ([http://uk.wikipedia.org/wiki/HTML HTML], [http://uk.wikipedia.org/wiki/XML XML]), [http://uk.wikipedia.org/wiki/Prolog Prolog], та багато інших вузькоспеціалізованих декларативних мов. Щоправда ряд мов, які відносять до четвертого покоління, не є мовами програмування як такими. Наприклад SQL є мовою запитів до баз даних, HTML є мовою розмітки гіпертексту, а не повноцінними мовами програмування, скоріше вони виступають своєрідними спеціалізованими доповненнями до мов програмування. Теж саме стосується XML. | ||
+ | Основна відмінна риса мови четвертого покоління: наближення до людської мови (декларативні мови). | ||
+ | |||
+ | Деякі мови мають риси одночасно і третього і четвертого поколінь. | ||
+ | |||
+ | |||
+ | === П'яте покоління === | ||
+ | П'ятого покоління мов програмування поки що '''не існує'''. | ||
+ | |||
+ | Виробники пропроієтарних програмних продуктів часто намагаються приписати своїм продуктам якісь маркетингові особливості, і деколи вказують що їхній продукт — це «мова п'ятого покоління». Насправді, всі ці продукти — це просто середовища для прискореного створення продуктів (Rapid Application Development — RAD), і використовують мови третього та четвертого поколінь. | ||
+ | |||
+ | Мова п'ятого покоління витіснить чи суттєво потіснить мови третього (напр. Java) і четвертого покоління (напр. SQL) за рахунок значно збільшеної продуктивності праці програміста — в 10-1000 раз. За прогнозами, 5GL буде оперувати мета-мета-даними. | ||
+ | |||
+ | Наразі існує єдина мова, яка працює з мета-мета-даними, — це мова команд менеджерів пакетів чи менеджерів залежностей, таких як apt, yum, smart, maven, cpan та інші. Вони оперують над метаданими про метадані про дані у пакетах. Використання apt-get, yum та smart дійсно надзвичайно підвищило продуктивність системних адміністраторів — приблизно в 1000-у раз. Використання менеджерів залежностей, таких як maven, cpan, rakudo, pim, easy_install, дійсно значно підвищило продуктивність програмістів, приблизно в 10-ть раз. Нажаль, ці мови є мовами командного рядка і не є мовами програмування. | ||
Версія за 10:04, 23 жовтня 2011
Інколи розрізняють п'ять поколінь мов програмування, щоправда даний поділ є спірним:
Перше покоління
Початок 1950-х років — мови перших комп'ютерів. Перша мова асемблера, створена за принципом «одна інструкція — один рядок».
Основна відмінна риса: орієнтування на конкретний комп’ютер.
Друге покоління
Кінець 1950-х — початок 1960-х р.р. Розроблено символьний асемблер, в якому з'явилося поняття змінної. Це перша повноцінна мова програмування.
Основна відмінна риса: орієнтування на абстрактний комп'ютер з такою ж системою команд.
Третє покоління
1960-ті р.р. — мови програмування високого рівня. Їхні характеристики:
- відносна простота;
- незалежність від конкретного комп'ютера;
- можливість використання потужних синтаксичних конструкцій.
Простота мов дає змогу писати невеликі програми і людям, які не є професійними програмістами.
Основна відмінна риса мови третього покоління: орієнтування на алгоритм (алгоритмічні мови).
Приклади: Сі, Паскаль, Джава, Бейсік, та багато інших.
Всього у світі існує близько 200 популярних мов програмування третього рівня.
Четверте покоління
Початок 1970-х р.р. до сьогоднішнього часу. Створюються мови, призначені для реалізації великих проектів. Проблемно-орієнтовані мови, що оперують конкретними поняттями вузької галузі. Як правило, в такі мови вбудовують потужні оператори, що дозволяють одним рядком описувати функції, для опису яких мовами молодших поколінь потрібно було б сотні чи навіть тисячі рядків початкового коду.
Часто відносять: SQL, SGML (HTML, XML), Prolog, та багато інших вузькоспеціалізованих декларативних мов. Щоправда ряд мов, які відносять до четвертого покоління, не є мовами програмування як такими. Наприклад SQL є мовою запитів до баз даних, HTML є мовою розмітки гіпертексту, а не повноцінними мовами програмування, скоріше вони виступають своєрідними спеціалізованими доповненнями до мов програмування. Теж саме стосується XML.
Основна відмінна риса мови четвертого покоління: наближення до людської мови (декларативні мови).
Деякі мови мають риси одночасно і третього і четвертого поколінь.
П'яте покоління
П'ятого покоління мов програмування поки що не існує.
Виробники пропроієтарних програмних продуктів часто намагаються приписати своїм продуктам якісь маркетингові особливості, і деколи вказують що їхній продукт — це «мова п'ятого покоління». Насправді, всі ці продукти — це просто середовища для прискореного створення продуктів (Rapid Application Development — RAD), і використовують мови третього та четвертого поколінь.
Мова п'ятого покоління витіснить чи суттєво потіснить мови третього (напр. Java) і четвертого покоління (напр. SQL) за рахунок значно збільшеної продуктивності праці програміста — в 10-1000 раз. За прогнозами, 5GL буде оперувати мета-мета-даними.
Наразі існує єдина мова, яка працює з мета-мета-даними, — це мова команд менеджерів пакетів чи менеджерів залежностей, таких як apt, yum, smart, maven, cpan та інші. Вони оперують над метаданими про метадані про дані у пакетах. Використання apt-get, yum та smart дійсно надзвичайно підвищило продуктивність системних адміністраторів — приблизно в 1000-у раз. Використання менеджерів залежностей, таких як maven, cpan, rakudo, pim, easy_install, дійсно значно підвищило продуктивність програмістів, приблизно в 10-ть раз. Нажаль, ці мови є мовами командного рядка і не є мовами програмування.