Відмінності між версіями «Мови програмування»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 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

Зображення «Вавилонської вежі» з обкладинки книги Джін Семміт «Мови програмування» (1969 р.), яка містила огляд мов програмування того часу


Інколи розрізняють п'ять поколінь мов програмування, щоправда даний поділ є спірним:

Перше покоління

Початок 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-ть раз. Нажаль, ці мови є мовами командного рядка і не є мовами програмування.





Розвиток систем кодування