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

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
 
(не показано 11 проміжних версій цього учасника)
Рядок 1: Рядок 1:
[[Файл:B1.jpg]]
+
[[Файл:B1.jpg|thumb|right|250px|Зображення «Вавилонської вежі» з обкладинки книги Джін Семміт «Мови програмування» (1969 р.), яка містила огляд мов програмування того часу]]
  
  
 +
Інколи розрізняють п'ять поколінь мов програмування, щоправда даний поділ є спірним:
  
 +
=== Перше покоління ===
 +
Початок 1950-х років — мови перших комп'ютерів. Перша мова [http://uk.wikipedia.org/wiki/%D0%90%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80  асемблер]а, створена за принципом «одна інструкція — один рядок».
  
 +
Основна відмінна риса: орієнтування на конкретний [http://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%E2%80%99%D1%8E%D1%82%D0%B5%D1%80  комп’ютер].
  
 +
=== Друге покоління ===
 +
Кінець 1950-х — початок 1960-х р.р. Розроблено символьний асемблер, в якому з'явилося поняття змінної. Це перша повноцінна мова програмування.
  
Розвиток мов програмування можна розглядати у вигляді етапів, кожний із яких характеризується певними ознаками.  
+
Основна відмінна риса: орієнтування на абстрактний комп'ютер з такою ж системою команд.
  
'''Початковий етап (1950-1960 р.)'''''Курсив'' характеризується тим, що в основі засобів взаємодії людини й ЕОМ лежали мови, у яких програмування велося в термінах машинних кодів. Взаємодія програмістів з ЕОМ здійснювалося в діалоговому монопольному режимі. На цьому і наступних етапах (до появи інтелектуальних мов високого рівня) ЕОМ були доступні тільки професіоналам-програмістам. У ці роки почалося створення мов алгоритмічного типу.
+
=== Третє покоління ===
 +
1960-ті р.р. — мови програмування високого рівня. Їхні характеристики:
 +
* відносна простота;
 +
* незалежність від конкретного комп'ютера;
 +
* можливість використання потужних синтаксичних конструкцій.
 +
Простота мов дає змогу писати невеликі програми і людям, які не є професійними програмістами.
  
'''Другий етап''' ''''Курсив''''розвитку середовища програмування '''(I960 - 1970 роки)'''''Курсив'' характеризувався створенням операційних систем, які дозволяли опрацьовувати декілька завдань, сформованих різними користувачами. Основна мета розробок на цьому етапі полягала в забезпеченні найбільшого завантаження машинних ресурсів. Почали використовувалися алгоритмічні мови, орієнтовані на ту або іншу предметну сферу.
+
Основна відмінна риса мови третього покоління: орієнтування на алгоритм (алгоритмічні мови).
  
'''Третій етап''''''''Жирний текст''''' характерний якісною зміною критерію ефективності автоматизованого опрацювання даних. Якщо на перших етапах у якості такого критерію виступали (як видно, у силу обмеженої сфери використання ЕОМ) машинні ресурси, то далі основними стали людські ресурси, що здійснюють розробку і супровід програмного забезпечення. Сфера використання обчислювальної техніки до цього часу була вже достатньо велика і містила в собі ряд складних задач і проблем. Крім того, стали розроблятися і впроваджуватися в практику не тільки великі, але і дешевші міні ЕОМ, що дозволило в основному вирішити проблему необхідних обчислювальних ресурсів. З метою швидшої розробки програмного забезпечення на цьому етапі використовувався інтерактивний режим взаємодії декількох користувачів з ЕОМ, підтримуваний діалоговими операційними системами. Проте в цілому зростаючий рівень технології розробок програмного забезпечення ще не дозволив вирішити проблему людських ресурсів. Розрив між обсягами автоматизації і загальною кількості програмістів продовжував зростати.
+
Приклади: Сі, Паскаль, Джава, Бейсік, та багато інших.
  
'''Четвертий етап''''''''Жирний текст''''Курсив''''' знаменує новий якісний стрибок у технології розробки програмного забезпечення, що відчиняє можливість рішення зазначеної проблеми. Його суть зводиться до того, що центр ваги технологічних рішень переноситься на створення засобів, що забезпечують взаємодію користувачів з ЕОМ на етапах створення програмного продукту. Ключовою ланкою нової інформаційної технології стає представлення та опрацювання знань. Розваються мови представлення знань, що дозволяє користувачам безпосередньо вносити свої знання в ЕОМ і надалі використовувати їх для вирішення конкретних задач. Індустрія знань стала широко впроваджуватися в різноманітні області створення прикладних інформаційних систем - створюються інтелектуальні пакети прикладних програм, бази даних, експертні системи. Цей етап характеризується також створенням і використанням персональних комп’ютерів. Створюються технічні передумови для застосування комп’ютера у широкому масштабі безпосередньо споживачами інформації - користувачами.
+
Всього у світі існує близько 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-ть раз. Нажаль, ці мови є мовами командного рядка і не є мовами програмування.
 +
 
 +
 
 +
----
 +
==Посилання==
 +
[http://www.pcweek.ru/themes/detail.php?ID=40584  Пятое поколение - языки программирования]
 +
 
 +
[http://www.ait.org.ua/p/pub_evolution.html  ЭВОЛЮЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ]
  
Можливості нової інформаційної технології “проникають“ у всі сфери інформаційної індустрії. Зараз широко використовуються мережі ЕОМ, що інтегрують розподілені бази знань. Їхнє створення забезпечує доступ до необхідної інформації в будь-якій точці Землі і дозволяє вирішити всі проблеми, починаючи від створення відповідних технічних засобів, що забезпечують передачу й опрацювання інформації, і закінчуючи мовними засобами взаємодії людини та ЕОМ.
 
 
----
 
----
 
[[Розвиток систем кодування]]
 
[[Розвиток систем кодування]]

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



Посилання

Пятое поколение - языки программирования

ЭВОЛЮЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ


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