Покоління мов програмування — історична класифікація мов програмування по аналогії до поколінь комп'ютерів. Зараз можна знайти згадку про п'ять поколінь мов програмування, щоправда даний поділ є спірним і суперечним. В професійній літературі по програмуванню доволі рідко згадують про покоління мов програмування, а більше зосереджуються на функціональній класифікації мов програмування. Крім того різні автори по різному відносять ту чи іншу мову програмування до того чи іншого покоління. В зустрічаємих класифікаціях часто не враховуються останні сучасні тенденції розвитку сучасних мов програмування (як то Java, , C#, розвиток мови Ada у Ada 2012 і т.п.), які значно покращують можливості мов. З'являються нові елементи в мовах програмування, змінюється дещо синтаксис, з'являються комплексні програмні інфраструктури(фреймворки).
Класифікація 1
Поділ на покоління мов програмування почав поширюватись з появою високорівневих мов програмування і до того не застосовувався. Високорівневі мови програмування почали вважатися третім поколінням, асемблерні мови - другим, а машинний код - першим поколінням. Сучасні спроби класифікація мов на четверте і п'яте покоління проводяться різними авторами по різному по різних ознаках і різниця між мовами третього, четвертого та п'ятого покоління часто доволі нечітка. Крім того багато компаній розробники мов програмування та середовищ програмування для них використовують маркетинговий хід проголошуючи певну мову (мову та інтегроване середовище розробки для неї) п'ятим поколінням.
Перше покоління
Початок 1950-х років — мови перших комп'ютерів. Використовувалася машинна мова. Код подавався напряму у комп'ютер за принципом «одна інструкція — один рядок» Основна відмінна риса: орієнтування на конкретний тип комп'ютера (мікропроцесорної системи). Не існувало ні середовищ розробки, ні компіляторів.
Друге покоління
Кінець 1950-х — початок 1960-х р.р. Розроблено символьний асемблер, в якому з'явилося поняття змінної. Це перша повноцінна мова програмування.
Основна відмінна риса: орієнтування на абстрактний комп'ютер з такою ж системою команд.
Третє покоління
1960-ті — мови програмування високого рівня. Їхні характеристики:
- відносна простота;
- незалежність від конкретного комп'ютера;
- можливість використання потужних синтаксичних конструкцій.
Простота мов дає змогу писати невеликі програми і людям, які не є професійними програмістами.
Основна відмінна риса мови третього покоління: орієнтування на алгоритм (алгоритмічні мови).
Приклади: Fortran, COBOL, ALGOL.
Всього у світі існує близько 200 популярних мов програмування третього рівня.
Четверте покоління
Початок 1970-х — до сьогоднішнього часу. Створюються мови, призначені для реалізації великих проектів. Проблемно-орієнтовані мови, що оперують конкретними поняттями вузької галузі. Як правило, в такі мови вбудовують потужні оператори, що дозволяють одним рядком описувати функції, для опису яких мовами молодших поколінь потрібно було б сотні чи навіть тисячі рядків початкового коду, щоправда навіть мови, які відносять до перших поколінь (низького програмування) зараз мають доволі обширні бібліотеки функцій.
Деякі автори виділяють різні напрямки розвитку мов програмування четвертого покоління. Одним напрямком розвитком четвертого покоління є об'єктно орієнтовані мови високого рівня: Java, C#. Хоча часто дані мови відносять до третього покоління.
За іншими напрямками виділяють 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 разів[]. Проте, ці мови є мовами командного рядка[] і не є мовами програмування.
Примітки
- Відеопрезентація на тему «Історія мов програмування»(англ.)
- . Архів оригіналу за 10 серпня 2011. Процитовано 3 листопада 2015.
- . Архів оригіналу за 25 лютого 2011. Процитовано 3 листопада 2015.
- . Архів оригіналу за 3 березня 2011. Процитовано 3 листопада 2015.
- http://www.csc.villanova.edu/~dmatusze/resources/general/generations.ppt [ 1 вересня 2006 у Wayback Machine.] Generations of Programming Languages
- . Архів оригіналу за 4 березня 2016. Процитовано 3 листопада 2015.
- Голицына О. Л., Попов И. И. Основы алгоритмизации и программирования. Форум, 2008. — 431 стр. .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Pokolinnya mov programuvannya istorichna klasifikaciya mov programuvannya po analogiyi do pokolin komp yuteriv Zaraz mozhna znajti zgadku pro p yat pokolin mov programuvannya shopravda danij podil ye spirnim i superechnim V profesijnij literaturi po programuvannyu dovoli ridko zgaduyut pro pokolinnya mov programuvannya a bilshe zoseredzhuyutsya na funkcionalnij klasifikaciyi mov programuvannya Krim togo rizni avtori po riznomu vidnosyat tu chi inshu movu programuvannya do togo chi inshogo pokolinnya V zustrichayemih klasifikaciyah chasto ne vrahovuyutsya ostanni suchasni tendenciyi rozvitku suchasnih mov programuvannya yak to Java C C rozvitok movi Ada u Ada 2012 i t p yaki znachno pokrashuyut mozhlivosti mov Z yavlyayutsya novi elementi v movah programuvannya zminyuyetsya desho sintaksis z yavlyayutsya kompleksni programni infrastrukturi frejmvorki Klasifikaciya 1Podil na pokolinnya mov programuvannya pochav poshiryuvatis z poyavoyu visokorivnevih mov programuvannya i do togo ne zastosovuvavsya Visokorivnevi movi programuvannya pochali vvazhatisya tretim pokolinnyam asemblerni movi drugim a mashinnij kod pershim pokolinnyam Suchasni sprobi klasifikaciya mov na chetverte i p yate pokolinnya provodyatsya riznimi avtorami po riznomu po riznih oznakah i riznicya mizh movami tretogo chetvertogo ta p yatogo pokolinnya chasto dovoli nechitka Krim togo bagato kompanij rozrobniki mov programuvannya ta seredovish programuvannya dlya nih vikoristovuyut marketingovij hid progoloshuyuchi pevnu movu movu ta integrovane seredovishe rozrobki dlya neyi p yatim pokolinnyam Pershe pokolinnya Pochatok 1950 h rokiv movi pershih komp yuteriv Vikoristovuvalasya mashinna mova Kod podavavsya napryamu u komp yuter za principom odna instrukciya odin ryadok Osnovna vidminna risa oriyentuvannya na konkretnij tip komp yutera mikroprocesornoyi sistemi Ne isnuvalo ni seredovish rozrobki ni kompilyatoriv Druge pokolinnya Kinec 1950 h pochatok 1960 h r r Rozrobleno simvolnij asembler v yakomu z yavilosya ponyattya zminnoyi Ce persha povnocinna mova programuvannya Osnovna vidminna risa oriyentuvannya na abstraktnij komp yuter z takoyu zh sistemoyu komand Tretye pokolinnya 1960 ti movi programuvannya visokogo rivnya Yihni harakteristiki vidnosna prostota nezalezhnist vid konkretnogo komp yutera mozhlivist vikoristannya potuzhnih sintaksichnih konstrukcij Prostota mov daye zmogu pisati neveliki programi i lyudyam yaki ne ye profesijnimi programistami Osnovna vidminna risa movi tretogo pokolinnya oriyentuvannya na algoritm algoritmichni movi Prikladi Fortran COBOL ALGOL Vsogo u sviti isnuye blizko 200 populyarnih mov programuvannya tretogo rivnya Chetverte pokolinnya Pochatok 1970 h do sogodnishnogo chasu Stvoryuyutsya movi priznacheni dlya realizaciyi velikih proektiv Problemno oriyentovani movi sho operuyut konkretnimi ponyattyami vuzkoyi galuzi Yak pravilo v taki movi vbudovuyut potuzhni operatori sho dozvolyayut odnim ryadkom opisuvati funkciyi dlya opisu yakih movami molodshih pokolin potribno bulo b sotni chi navit tisyachi ryadkiv pochatkovogo kodu shopravda navit movi yaki vidnosyat do pershih pokolin nizkogo programuvannya zaraz mayut dovoli obshirni biblioteki funkcij Deyaki avtori vidilyayut rizni napryamki rozvitku mov programuvannya chetvertogo pokolinnya Odnim napryamkom rozvitkom chetvertogo pokolinnya ye ob yektno oriyentovani movi visokogo rivnya Java C Hocha chasto dani movi vidnosyat do tretogo pokolinnya Za inshimi napryamkami vidilyayut SQL SGML HTML XML Prolog ta bagato inshih vuzkospecializovanih deklarativnih mov Shopravda ryad mov yaki vidnosyat do chetvertogo pokolinnya ne ye movami programuvannya yak takimi Napriklad SQL ye movoyu zapitiv do baz danih HTML ye movoyu rozmitki gipertekstu i ne ye povnocinnimi movami programuvannya skorishe voni vistupayut svoyeridnimi specializovanimi dopovnennyami do mov programuvannya Tezh same stosuyetsya XML Osnovna vidminna risa movi chetvertogo pokolinnya nablizhennya do lyudskoyi movi deklarativni movi Deyaki movi mayut risi odnochasno i tretogo i chetvertogo pokolin P yate pokolinnya Dokladnishe Mova programuvannya p yatogo pokolinnya P yatogo pokolinnya mov programuvannya poki sho ne isnuye dzherelo Virobniki propriyetarnih programnih produktiv chasto namagayutsya pripisati svoyim produktam yakis marketingovi osoblivosti i dekoli vkazuyut sho yihnij produkt ce mova p yatogo pokolinnya Naspravdi vsi ci produkti ce prosto seredovisha dlya priskorenogo stvorennya produktiv Rapid Application Development RAD i vikoristovuyut movi tretogo ta chetvertogo pokolin Mova p yatogo pokolinnya vitisnit chi suttyevo potisnit movi tretogo napr Java i chetvertogo pokolinnya napr SQL za rahunok znachno zbilshenoyi produktivnosti praci programista v 10 1000 raziv dzherelo Za prognozami 5GL bude operuvati meta meta danimi Narazi isnuye dzherelo yedina dzherelo mova yaka pracyuye z meta meta danimi ce mova komand menedzheriv paketiv chi menedzheriv zalezhnostej takih yak apt yum smart maven cpan ta inshi Voni operuyut nad metadanimi pro metadani pro dani u paketah dzherelo Vikoristannya apt get yum ta smart dijsno nadzvichajno pidvishilo produktivnist sistemnih administratoriv priblizno v 1000 u raziv dzherelo Vikoristannya menedzheriv zalezhnostej takih yak maven cpan rakudo pim easy install dijsno znachno pidvishilo dzherelo produktivnist programistiv priblizno v 10 raziv dzherelo Prote ci movi ye movami komandnogo ryadka dzherelo i ne ye movami programuvannya PrimitkiVideoprezentaciya na temu Istoriya mov programuvannya angl Arhiv originalu za 10 serpnya 2011 Procitovano 3 listopada 2015 Arhiv originalu za 25 lyutogo 2011 Procitovano 3 listopada 2015 Arhiv originalu za 3 bereznya 2011 Procitovano 3 listopada 2015 http www csc villanova edu dmatusze resources general generations ppt 1 veresnya 2006 u Wayback Machine Generations of Programming Languages Arhiv originalu za 4 bereznya 2016 Procitovano 3 listopada 2015 Golicyna O L Popov I I Osnovy algoritmizacii i programmirovaniya Forum 2008 431 str ISBN 978 5 91134 214 2