Класифікація мов програмування. Реферат: Мови програмування поняття та види

27.09.2019 Новини

Перш ніж ви захочете вивчати якусь мову програмування треба знати трохи про їхню історію і де вони застосовуються.

Я представляю вам стислий огляд 25 відомих мов програмування. Починаючи з найвідомішого до менш популярного. Стаття зроблена для новачків у сфері програмування. Ви можете почитати про кожну мову і вибрати той, який вам більше сподобається для вивчення.

Перш ніж приступити до вивчення мов програмування, рекомендую вам вивчити курс .

1. JavaScript

Прототипно-орієнтована сценарна мова програмування. JavaScript спочатку створювався для того, щоб зробити web-сторінки «живими». У браузері вони підключаються безпосередньо до HTML і, як тільки завантажується сторінка - відразу виконуються.

Коли створювався мова JavaScript, у нього спочатку була інша назва: LiveScript. Але тоді була дуже популярна мова Java, і маркетологи вирішили, що подібна назва зробить нову мову більш популярною.

Планувалося, що JavaScript буде таким собі «молодшим братом» Java. Однак, історія розпорядилася по-своєму, JavaScript сильно виріс, і зараз це абсолютно незалежна мова, зі своєю специфікацією і Java не має ніякого відношення.

2. Java


Строго типізована об'єктно-орієнтована мова програмування. Програми Java зазвичай транслюються у спеціальний байт-код, тому вони можуть працювати на будь-якій комп'ютерній архітектурі за допомогою віртуальної Java-машини.

Перевагою подібного способу виконання програм є повна незалежність байт-коду від операційної системита обладнання, що дозволяє виконувати Java-програми на будь-якому пристрої, для якого існує відповідна віртуальна машина. Іншою важливою особливістю технології Java є гнучка система безпеки, в рамках якої виконання програми повністю контролюється віртуальною машиною.

Спочатку мова називалася Oak («Дуб») розроблявся Джеймсом Гослінг для програмування побутових електронних пристроїв. Згодом він був перейменований на Java і став використовуватися для написання клієнтських додатків та серверного програмного забезпечення.

3. PHP


Є поширеною мовою, що інтерпретується. загального призначенняз відкритим вихідним кодом (скриптова мова). PHP створювався спеціально для ведення web-розробок, і код на ньому може впроваджуватися безпосередньо в HTML-код. Синтаксис мови бере початок з C, Java та Perl, і є легким для вивчення.

Основною метою PHP є надання web-розробникам можливості швидкого створеннядинамічно генерованих web-сторінок, проте сфера застосування PHP не обмежується тільки цим.

4. Python

Високорівнева мова програмування загального призначення, орієнтована на підвищення продуктивності розробника, читання коду та на розробку веб-додатків. Синтаксис ядра Python мінімальний. Код Python організовується в функції і класи, які можуть об'єднуватися в модулі.

5. C#


Об'єктно-орієнтована мова програмування. Розроблений у 1998-2001 роках групою інженерів під керівництвом Андерса Хейлсберга в компанії Microsoft як мова розробки програм для платформи Microsoft .NET Framework. C# відноситься до сім'ї мов з C-подібним синтаксисом, їх синтаксис найбільш близький до C++ і Java.

Мова має статичну типізацію, підтримує поліморфізм, навантаження операторів, делегати, атрибути, події, властивості, узагальнені типи та методи, ітератори, анонімні функції з підтримкою замикань, LINQ, винятки, коментарі у форматі XML.

6. З++


Компілювана, статично типізована мова програмування загального призначення. Є однією з найпоширеніших мов у світі. Google Chrome, Mozilla Firefox, Winamp та лінійка продуктів Adobe були розроблені за допомогою С++. Крім того, деякі сучасні ігри та операційні системи були розроблені на С++ через швидкий процесінг та компіляцію.

7. Ruby


Проста і читана мова програмування, орієнтована на розробку веб-додатків. Розроблений Юкіхіро Мацумто у 1995 році. Мова має незалежну від операційної системи реалізацію багатопоточності, сувору динамічну типізацію, збирача сміття.

Основне призначення Ruby – створення простих і водночас зрозумілих програм, де важлива не швидкість роботи програми, а малий час розробки, зрозумілість та простота синтаксису. Мова слідує принципу «найменшої несподіванки»: програма повинна поводитися так, як очікує програміст.

8. CSS


Cascading Style Sheets (каскадні таблиці стилів) - формальна мова опису зовнішнього вигляду документа, написаного з використанням мови розмітки.
Переважно використовується як опис, оформлення зовнішнього вигляду веб-сторінок, написаних за допомогою мов розмітки HTML і XHTML, але може також застосовуватися до будь-яких XML-документів.

9. C


Компільована статично типізована мова програмування загального призначення. Мова Сі була розроблена Деннісом Рітчі в 1972 році в Bell Labs. Він є попередником таких мов програмування як С++, Java, C#, JavaScript та Perl. З цієї причини вивчення цієї мови веде до розуміння та інших мов. Мова З використовується розробки низькорівневих додатків, оскільки вважається найближче до апаратного.

10. Objective-C


Компілюється об'єктно-орієнтована мова програмування, використовувана корпорацією Apple, побудована на основі мови Сі та парадигм Smalltalk. Мова Objective-C є надмножиною мови Сі, тому Сі-код повністю зрозумілий компілятору Objective-C. Мова використовується в першу чергу для Mac OS X (Cocoa) та GNUstep – реалізацій об'єктно-орієнтованого інтерфейсу OpenStep. Також мова використовується для iOS (Cocoa Touch).

11. Shell

Він не так мова, як інтерпретатор команд (командна мова). Його скрипти використовуються для автоматизації оновлення програмного забезпечення. Містить стандартні конструкції для циклів, розгалуження, оголошення функцій. У сімействі операційних систем, сумісних з ОС UNIX, мова SHELL використовується як стандартна мова управління завданнями.

12. R


Мова програмування для статистичної обробки даних та роботи з графікою, а також вільна програмне середовищеобчислень з відкритим вихідним кодом у рамках проекту GNU. R широко використовується як статистичне програмне забезпечення для аналізу даних та фактично став стандартом для статистичних програм. У R використовується інтерфейс командного рядка.

13. Perl


Високорівнева інтерпретована динамічна мова програмування загального призначення. Назва мови є абревіатуру, яка розшифровується як Practical Extraction and Report Language - «практична мова для вилучення даних та складання звітів». Основною особливістю мови вважаються її багаті можливості для роботи з текстом, у тому числі робота з регулярними виразами, вбудована у синтаксис. на Наразівін використовується для виконання широкого спектра завдань, включаючи системне адміністрування, веб-розробку, мережеве програмування, ігри, біоінформатику, розробку графічних інтерфейсів.

14. Scala


Мультипарадигмальна мова програмування, спроектована короткою і типобезпечною для простого та швидкого створення компонентного програмного забезпечення, що поєднує можливості функціонального та об'єктно-орієнтованого програмування. Scala – програми багато в чому схожі на Java-програми і можуть вільно взаємодіяти з Java-кодом.

15. Go


Компілюється багатопотокова мова програмування, розроблена Google. Мова Go розроблялася як мова системного програмування для створення високоефективних програм, що працюють на сучасних розподілених системах та багатоядерних процесорах. Він може розглядатися як спроба створити заміну мови Сі. Під час розробки приділялося особливу увагу забезпеченню високоефективної компіляції. Програми на Go компілюються в об'єктний код і не вимагають виконання віртуальної машини.

16. SQL

Мова структурованих запитів. формальна непроцедурна мова програмування, що застосовується для створення, модифікації та управління даними у довільній реляційній базі даних, що керується відповідною системою управління базами даних. SQL є насамперед інформаційно-логічною мовою, призначеною для опису, зміни та вилучення даних, що зберігаються в реляційних базах даних. Кожна пропозиція SQL - це запит даних з бази, або звернення до бази даних, що призводить до зміни даних у базі.

17. Haskell


Стандартна чиста функціональна мова програмування загального призначення. Є однією з найпоширеніших мов програмування за допомогою відкладених обчислень. Характерна рисамови – серйозне ставлення до типізації. Haskell чудова мова для навчання та для експериментів зі складними функціональними типами даних.

18. Swift


Відкрита мультипарадигмальна компілювана мова програмування загального призначення. Створено компанією Appleв першу чергу для розробників iOS та OS X. Swift працює з фреймворками Cocoa та Cocoa Touch та сумісний з основною кодовою базою Apple, написаною на Objective-C. Swift замислювався як більш легкий для читання і стійкий до помилок програміста мову, ніж попередній Objective-C. Swift запозичив багато з Objective-C, проте він визначається не покажчиками, а типами змінних, які обробляє компілятор. За аналогічним принципом працює багато скриптових мов.

19. Matlab


Високорівнева інтерпретована мова програмування, що включає засновані на матрицях структури даних, широкий спектр функцій, інтегроване середовище розробки, об'єктно-орієнтовані можливості та інтерфейси до програм, написаних іншими мовами програмування. Програми, написані на MATLAB, бувають двох типів – функції та скрипти. Функції мають вхідні та вихідні аргументи, а також власний робочий простір для зберігання проміжних результатів обчислень та змінних. Скрипти використовують загальний робочий простір. Як скрипти, і функції зберігаються як текстових файлів і компілюються в машинний код динамічно.

20. Visual Basic


Мова програмування, а також інтегроване середовище розробки програмного забезпечення, яке розробляється корпорацією Microsoft. Мова Visual Basicуспадкував дух, стиль і синтаксис свого предка - мови BASIC, яка має чимало діалектів. У той же час Visual Basic поєднує процедури та елементи об'єктно-орієнтованих і компонентно-орієнтованих мов програмування.

Visual Basic також є добрим засобом швидкої розробки RAD додатків баз даних для операційних систем сімейства Microsoft Windows. Багато готових компонентів, що поставляються разом із середовищем, покликані допомогти програмісту відразу ж почати розробляти бізнес-логіку програми, не відволікаючи його на написання коду запуску програми.

21. Delphi


Імперативна, структурована, об'єктно орієнтована мова програмування зі строгою статичною типізацією змінних. Основна сфера використання - написання прикладного програмного забезпечення.

На сьогоднішній день, поряд з підтримкою розробки 32 і 64-розрядних програм для Windows, реалізована можливість створювати додатки Apple Mac OS X , а також для Google Android(безпосередньо виконувані на ARM-процесорі).

22. Groovy


Об'єктно-орієнтована мова програмування, розроблена для платформи Java як доповнення до мови Java з можливостями Python, Ruby та Smalltalk. Groovy використовує Java-подібний синтаксис з динамічною компіляцією в JVM байт-код і працює з іншим Java кодом і бібліотеками. Мова може використовуватися в будь-якому Java-проекті або як скриптова мова.

23. Visual Basic .NET


Об'єктно-орієнтована мова програмування, яку можна розглядати як черговий виток еволюції Visual Basic, реалізований на платформі Microsoft .NET. VB.NET не має зворотної сумісності з більш ранньою версією (Visual Basic 6.0). Розвиток проектів старих версій (*.vbp) можливий лише після попередньої конвертації їх у формат VB.NET спеціальним майстром (Migration Wizard); однак, після конвертації потрібне суттєве ручне доопрацювання текстів.

24. D

Мультипарадигмальна компілювана мова програмування створена Уолтером Брайтом з компанії Digital Mars. Спочатку D був задуманий як реінжиніринг мови C++, проте, незважаючи на значний вплив С++, не є його варіантом. Також мова зазнала впливу концепцій з мов програмування Python, Ruby, C#, Java, Eiffel.

25. Assembler


Машинно-орієнтована мова низького рівня з командами, які не завжди відповідають командам машини, яка може забезпечити додаткові можливості на кшталт макрокоманд; автокод, розширений конструкціями мов програмування високого рівня, такими як вирази, макрокоманди, засоби забезпечення модульності програм.

Мова асемблера - система позначень, що використовується для представлення у легкочитаній формі програм, записаних у машинному коді. Мова асемблера дозволяє програмісту користуватися алфавітними мнемонічними кодами операцій, на власний розсуд присвоювати символічні імена регістрам ЕОМ і пам'яті, а також задавати зручні для себе схеми адресації. Крім того, він дозволяє використовувати різні системи числення для представлення числових констант і дає можливість позначати рядки програми мітками із символічними іменами для того, щоб до них можна було звертатися.

Нещодавно, за часів Радянського Союзу, інформатика вважалася лженаукою. На сьогоднішній день уряди певних країн скаржаться на атаки від російських хакерів. Слід зазначити, що зараз Росія виробляє мало високотехнологічних пристроїв, проте розумних програмістів достатньо. У цій статті йтиметься про комп'ютерні мови, їх класифікацію, сутність, можливості та перспективи застосування в майбутньому.

Що таке комп'ютерні мови?

Насправді це система знаків і символів, створена для спілкування людини і комп'ютера. Неможливо просто взяти і підійти до пристрою, почавши щось пояснювати. З цією метою створені спеціальні слова-коди та лексика, що становлять основу комп'ютерних мов. Вони доносяться до пристрою у зрозумілій йому формі. Сьогодні можна знайти більше ніж 8 тисяч різних мов, призначених для спілкування людини та комп'ютера. Щоправда, всі знати їх неможливо. Деякі створюють мову собі, інші займаються цим на комерційній основі. Однак досвідчений користувачзнає досконало кілька базових із них.

Які мови програмування найвідоміші?

В світі комп'ютерних технологійзавжди щось розвивається та вдосконалюється. Таким чином з'являються нові розробки, а минулі модернізуються. Не виняток і комп'ютерні мови програмування. Найбільшої популярності досягли такі:

З/З++;
Java;
Python;
Visual Basic;
PHP.

Це далеко не весь перелік, насправді їх набагато більше. Тут представлені основні, які використовуються для написання більше 90% комп'ютерних додатків. Варто розглянути їх докладніше.

Процедурний С/С++

Мови С та C++ користувачі називають двома братами. Існує версія, що це дві різні мови програмування, проте це не так. С++ виступає як деяке вдосконалення попередньої мови, яке полегшує написання програм і зберігає колишній синтаксис. Розробку С було розпочато ще у сімдесятих роках минулого століття. Приблизно десять років почалося створення З++. Зараз останній є одним із найвідоміших. Він містить безліч функцій, що дозволяє створити операційну систему, а також драйвери, призначені для пристроїв, ігри та інше.

Якщо говорити про переваги та недоліки цієї мови, важко робити однозначні висновки. Існують його прихильники, а також нещадні критики. Головним предметом суперечок є те, що в ньому відсутнє щось своє. Тут об'єднані функції та можливості кількох мов програмування. Таким чином вийшов комплексний інструмент. Якщо ж почати розглядати його за окремими функціями, він поступається мовами вузьких спеціалізацій.

Незалежний та безпечний Java

Ця англійська мова програмування була розроблена компанією Sun Microsystems. За рахунок того, що написана програма здатна транслюватися в спеціальний байт-код, вона може працювати незалежно від типу операційної системи або комп'ютерної архітектури. Завдяки цьому мова Java стала найвідомішою. Він зустрічається в наступних пристроях:

Побутова техніка;
банкомати;
міських автоматах, а також у всьому, що має зв'язок із комп'ютерними технологіями.

Java використовується для написання багатьох відомих програм для смартфонів, а також телефонів. Крім того, дана моваПрограмування має досить високий рівень безпеки. Використання програмою дій у межах своїх повноважень контролюється з допомогою віртуальної машини, яка здійснює передачу команди на устрою.

Таким чином, під час спроби виконати інше завдання програма відразу припиняє свою роботу. При розгляді простоти мови необхідно вказати дослідження, які свідчать, що однакові операції пишуться в 1,2-2 рази довше, ніж мовою C++. Крім того, набагато більше ресурсів потрібне на здійснення команд. Однак, команда розробника регулярно випускає безліч оновлень, що зводять до мінімуму всі мінуси цієї мови програмування.

Якщо створити власний сайт чи здатний робити динамічні сторінки. Він виступає як одна з найбільш відомих мов, коли необхідно створити сайти та написати веб-додатки. За рахунок того, що ця мова програмування розроблялася з відкритим кодом, його вдалося довести до досконалості. Таким чином, він набув завидної популярності. PHP легко взаємодіє з різними базами даних, починаючи від MySQL і закінчуючи Access. Найбільш відомі сайти інтернету, такі як Facebook або Wikipedia, створені під час використання саме цієї мови. Він досить простий у застосуванні. Є навіть статистика, результати якої показують, що понад 60% програмістів з усього світу, які працюють на коді PHP, дещо обмежено знайомі з англійською мовою. Комп'ютерна грамотність у разі обмежена лише знанням необхідних функцій і процедур.

Варто також зазначити і недоліки цієї мови. Враховуючи те, що в рейтингах найбільш популярних мов 2015 року він посів 6-е місце, негативні відгуки все ж таки присутні. Слід зазначити, що він був створений однією групою програмістів. Тому синтаксис мови не уніфікований, у ньому відсутня єдина архітектура. Існують різні процедури, які потрібно описувати по-особливому, не дотримуючись стандартного шаблону. Крім того, є одна дуже суттєва проблема, яка полягає у відсутності сумісності між різними версіями мов. Версії, що стосуються більш ранніх, зовсім відмовляються працювати з оновленнями. Найчастіше це є проблемою для перенесення коду з однієї версії до іншої.

Сучасність знання та розуміння мов програмування

Останнім часом спілкування людини з комп'ютером набирає популярності. У цьому немає нічого дивного, оскільки інформаційні технологіїрозвиваються стрімкими темпами. Програмувати код, а також обслуговувати пристрої має кваліфікований спеціаліст. Отже, попит грамотних програмістів існує завжди. Ще однією причиною популярності можна віднести спад економіки країни. Користувач, який вміє працювати з Java на професійному рівні, здатний віддалено працювати на закордонну компанію, яка займається створенням програм.

В результаті він зможе заробити в місяць велику суму, яку ніколи йому не заплатять у власній країні, якщо він займатиметься аналогічним видом діяльності. Хоча, якщо подумати, досить важко розпочати успішне програмування, а також писати комп'ютерні програми. Англійська Основною перепоною для початківців є англійська мова. Як відомо, багато програм і мов написано саме з урахуванням його лексики.

Вивчити мови онлайн Таким чином, необхідно вивчити іноземну мову та знати її хоча б на базовому рівні. На сьогоднішній день це можна зробити онлайн. Для цього достатньо мати комп'ютер, підключений до Інтернету.

Мова програмування

Мова програмування- Формальна знакова система, призначена для запису комп'ютерних програм. Мова програмування визначає набір лексичних, синтаксичних та семантичних правил, що задають зовнішній виглядпрограми та дії, які виконає виконавець (комп'ютер) під керівництвом.

  • Функція:Мова програмування призначена для написання комп'ютерних програм, які застосовуються для передачі комп'ютеру інструкцій з виконання того чи іншого обчислювального процесу та організації управління окремими пристроями.
  • Завдання:мова програмування відрізняється від природних мов тим, що призначено передачі команд і даних від людини до комп'ютера, тоді як природні мови використовуються спілкування людей між собою. Можна узагальнити визначення «мов програмування» - спосіб передачі команд, наказів, точного керівництва до дії; тоді як людські мови служать також обмінюватись інформацією.
  • Виконання:Мова програмування може використовувати спеціальні конструкції для визначення та маніпулювання структурами даних та управління процесом обчислень.

Стандартизація мов програмування

Мова програмування може бути представлена ​​у вигляді набору специфікацій, що визначають його синтаксис та семантику.

Для багатьох широко поширених мов програмування створено міжнародні стандарти. Спеціальні організації проводять регулярне оновлення та публікацію специфікацій та формальних визначень відповідної мови. В рамках таких комітетів продовжується розробка та модернізація мов програмування та вирішуються питання щодо розширення або підтримки вже існуючих та нових мовних конструкцій.

Типи даних

Сучасні цифрові комп'ютери зазвичай є двійковими і дані зберігають у двійковому (бінарному) коді (хоча можливі реалізації та інших системах числення). Ці дані зазвичай відображають інформацію з реального світу (імена, банківські рахунки, виміри та ін), що представляє високорівневі концепції.

Особлива система, за якою дані організуються у програмі, - це система типівмови програмування; розробка та вивчення систем типів відома під назвою теорія типів. Мови можуть бути класифіковані як системи зі статичною типізацієюта мови з динамічною типізацією.

Статично-типізовані мови можуть бути в подальшому поділені на мови з обов'язковою декларацією, де кожна змінна та оголошення функції має обов'язкове оголошення типу, та мови з типами, що виводяться. Іноді динамічно-типізовані мови називаються латентно-типізованими.

Структури даних

Системи типів у мовах високого рівня дозволяють визначати складні, складові типи, звані структури даних . Як правило, структурні типи даних утворюються як декартовий добуток базових (атомарних) типів і раніше певних складових типів.

Основні структури даних (списки, черги, хеш-таблиці, двійкові дерева та пари) часто представлені особливими синтаксичними конструкціями у мовах високого рівня. Такі дані структуруються автоматично.

Семантика мов програмування

Існує кілька підходів щодо визначення семантики мов програмування.

Найбільш широко поширені різновиди наступних трьох: операційного, дериваційного (аксіоматичного) та денотаційного (математичного).

  • При описі семантики в рамках операційногоПідходу зазвичай виконання конструкцій мови програмування інтерпретується за допомогою деякої уявної (абстрактної) ЕОМ.
  • Дериваційнасемантика описує наслідки виконання конструкцій мови за допомогою мови логіки та завдання перед- та постумов.
  • Денотаційнасемантика оперує поняттями, типовими для математики - множини, відповідності, а також судження, твердження та ін.

Парадигма програмування

Мова програмування будується відповідно до тієї чи іншої базової моделі обчислень і парадигмою програмування.

Незважаючи на те, що більшість мов орієнтована на імперативну модель обчислень, що задається фон-нейманівською архітектурою ЕОМ, існують інші підходи. Можна згадати мови зі стіковою обчислювальною моделлю (Форт, Factor, PostScript та ін.), А також функціональне (Лісп, Haskell,, та ін) і логічне програмування (Пролог) та мова РЕФАЛ, заснований на моделі обчислень, введеної радянським математиком А .А. Марковим-молодшим.

В даний час також активно розвиваються проблемно-орієнтовані, декларативні та візуальні мови програмування.

Способи реалізації мов

Мови програмування можуть бути реалізовані як компілювані та інтерпретовані.

Програма компілюваною мовою за допомогою компілятора (особливої ​​програми) перетворюється (компілюється) на машинний код (набір інструкцій) для даного типупроцесора і далі збирається у модуль, що може бути запущений на виконання як окрема програма. Інакше кажучи, компілятор переводить вихідний текст програми з мови програмування високого рівня двійкові коди інструкцій процесора.

Якщо програма написана мовою, що інтерпретується, то інтерпретатор безпосередньо виконує (інтерпретує) вихідний текст без попереднього перекладу. При цьому програма залишається вихідною мовою і не може бути запущена без інтерпретатора. Процесор комп'ютера, у зв'язку з цим, можна назвати інтерпретатором для машинного коду.

Поділ на компілювані та інтерпретовані мови є умовним. Так, для будь-якої традиційно компілюваної мови, як, наприклад, Паскаль, можна написати інтерпретатор. Крім того, більшість сучасних «чистих» інтерпретаторів не виконують конструкції мови безпосередньо, а компілюють їх у деяке високорівневе проміжне уявлення (наприклад, з розіменуванням змінних та розкриттям макросів).

Для будь-якої інтерпретованої мови можна створити компілятор - наприклад, мова Лісп, що спочатку інтерпретується, може компілюватися без будь-яких обмежень. Код, що створюється під час виконання програми, може також динамічно компілюватися під час виконання.

Як правило, скомпіловані програми виконуються швидше і не вимагають виконання додаткових програм, тому що вже перекладені машинною мовою. Разом з тим, при кожній зміні тексту програми потрібна її перекомпіляція, що уповільнює процес розробки. Крім того, скомпільована програма може виконуватися тільки на тому самому типі комп'ютерів і, як правило, під тією самою операційною системою, на яку було розраховано компілятор. Щоб створити виконуваний файлдля машини іншого типу, потрібна нова компіляція.

Інтерпретовані мови мають деякі специфічні додатковими можливостями(див. вище), крім того, програми на них можна запускати відразу після зміни, що полегшує розробку. Програма інтерпретованою мовою може бути часто запущена на різних типахмашин та операційних систем без додаткових зусиль.

Однак програми, що інтерпретуються, виконуються помітно повільніше, ніж компілювані, крім того, вони не можуть виконуватися без програми-інтерпретатора.

Подібний підхід у певному сенсі дозволяє використовувати плюси як інтерпретаторів, і компіляторів. Слід згадати, що є мови, які мають інтерпретатор і компілятор (Форт).

Використовувані символи

Сучасні мови програмування розраховані використання ASCII , тобто доступність всіх графічнихсимволів ASCII є необхідною та достатньою умовою для запису будь-яких конструкцій мови. Керівникисимволи ASCII використовуються обмежено: допускаються лише повернення каретки CR, переклад рядка LF та горизонтальна табуляція HT (іноді вертикальна табуляція VT і перехід до наступної сторінки FF).

Ранні мови, що виникли в епоху 6-бітових символів, використовували більш обмежений набір. Наприклад, алфавіт Фортрана включає 49 символів (включаючи пробіл): A B C D E F G H I J K L M N O P Q R S U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ " :

Помітним винятком є ​​мова APL, в якій використовується дуже багато спеціальних символів.

Використання символів за межами ASCII (наприклад, символів KOI8-R або символів Юнікоду) залежить від реалізації: іноді вони дозволяються тільки в коментарях та символьних/рядкових константах, а іноді і в ідентифікаторах. У СРСР існували мови, де всі ключові словаписалися російськими літерами, але велику популярність подібні мови не завоювали (виняток складає Вбудована мова програмування 1С:Підприємство).

Розширення набору символів стримується тим, що багато проектів з розробки програмного забезпечення є міжнародними. Дуже складно було працювати з кодом, де імена одних змінних записані російськими літерами, інших - арабськими, а третіх - китайськими ієрогліфами. Разом про те, до роботи з текстовими даними мови програмування нового покоління (Delphi 2006 , , Java) підтримують Unicode .

Класи мов програмування

Див. також

Примітки

Література

  • Hal Abelson, Gerald Jay Sussman. Structure and Interpretation of Computer Programs
  • Роберт У. Собеста.Основні концепції мов програмування = Concepts of Programming Languages/Пер. з англ. - 5-те вид. – М.: Вільямс, 2001. – 672 с. - 5000 екз. - ISBN 5-8459-0192-8 (рус.), ISBN 0-201-75295-6 (англ.)
  • Вольфенгаген Ст Е.Конструкції мов програмування. Прийоми опису. – М.: Центр ЮрІнфоР, 2001. – 276 с. - ISBN 5-89158-079-9
  • Паронджанов В. Д.Як покращити роботу розуму. Алгоритми без програмістів – це дуже просто! – М.: Справа, 2001. – 360 с. - ISBN 5-7749-0211-0
  • Ф. Б'янкуцці, Ш. Уорден.Піонери програмування. Діалоги із творцями найпопулярніших мов програмування. - СПб. : Символ-Плюс, 2010. – 608 с. - ISBN 978-5-93286-170-7

Посилання

  • The Language List (англ.) – понад 2500 мов з коротким описом
  • Computer Languages ​​History (англ.) - історія мов програмування (з 1954 по травень 2004) (містить діаграму, що регулярно оновлюється)
  • Examples (англ.) - приклади програмування 162 мовами
  • Programming Language Popularity (англ.) – дослідження популярності мов програмування за 2004 рік
  • 10 мов програмування, які варто вивчати (2006 р.)
  • Programming Community Index (англ.) - рейтинг популярності мов програмування, що регулярно оновлюється.
  • Computer Language Shootout Benchmarks (англ.) – порівняння мов програмування з ефективності
  • Programming Languages ​​that are Loved (англ.) – порівняння мов програмування з «кохання» та «ненависті» до них

Wikimedia Foundation. 2010 .

Назва доповіді

Сучасні мови програмування та їх використання

Автор проекту

Структура проекту

● Схема класифікації мов програмування

● Класифікація мов програмування

● Огляд мов програмування

● Корисні ресурси

Схема класифікації мов програмування

Класифікація мов програмування

Процедурне програмування- Є відображення фон Нейманівської архітектури комп'ютера. Програма, написана процедурною мовою, є послідовність команд, визначальних алгоритм розв'язання задачі. Основна ідея процедурного програмування – використання пам'яті для зберігання даних. Основна команда-присвоєння, з допомогою якої визначається і змінюється пам'ять комп'ютера. Програма здійснює перетворення вмісту пам'яті, змінюючи його від вихідного станудо результуючого.

Розрізняють такі мови процедурного програмування:

 Мова Фортран створена на початку 50-х років 20-го століття для програмування науково-технічних завдань;

 Кобол – створений наприкінці 60-х років 20-го століття для вирішення завдань обробки великих обсягів даних, що зберігаються на різних носіях даних;

 Алгол (1960 рік) – це багатоцільова розширена мова програмування. У ньому вперше запроваджено поняття «блочна структура програми» та «динамічний розподіл пам'яті»;

 У середині 60-х років 20-го століття було створено спеціалізовану мову програмування для початківців – BASIC. Характеризується простотою освоєння та наявністю універсальних засобівдля вирішення наукових, технічних та економічних завдань, а також завдань, наприклад, ігрових.

Усі перелічені вище мови були спрямовані різні класи завдань, але вони у тому мірою були прив'язані до конкретної архітектурі ЕОМ.

 У 1963-1966 рр. було створено багатоцільову універсальну мову PL-1. Ця мова добре пристосована для дослідження та планування обчислювальних процесів, моделювання, вирішення логічних завдань, розробки систем математичного забезпечення.

 Мова Паскаль (PASCAL) (1968-1971гг)- мова процедурного програмування найбільш популярна для ПК, яка і в даний час успішно застосовується. В основу мови Pascal покладено підхід від загального завдання до приватних (простіших і менших за обсягом). До основних принципів, якими володіє Паскаль, можна віднести: а) Структурне програмування, що ґрунтується на використанні підпрограм та незалежних структур даних; б) Програмування «згори-вниз», коли завдання ділиться на прості завдання, що самостійно розв'язуються. Потім вибудовується вирішення вихідного завдання повністю зверху донизу.

 До мов процедурного програмування можна віднести мову АДА (1979 г) Мова названа на честь першої програмістки Ади Лавлейс- дочки Байрона. Його відрізняє модульність конструкцій.

 Мова СІ (початок 70-х років) також відноситься до мов процедурного програмування. Початковий його варіант планувався як мова для реалізації операційної системи Unixзамість мови Ассемблера. Однією з особливостей мови СІ є те, що відмінності між виразами та операторами згладжуються, що наближає його до функціональних мов програмування. Крім того, в мові СІ відсутнє поняття процедури, а використання підпрограм засноване на понятті функції, яка може поєднувати можливості процедури. З одного боку, за набором керуючих конструкцій та структур даних його можна віднести до мов високого рівня, а з іншого – він має набір засобів прямого звернення до функціональних вузлів комп'ютера, а це означає, що його можна використовувати як операційну мову.

Об'єктно-орієнтоване програмування (ООП)- це метод програмування, з якого головними елементами програм є об'єкти. У мовах програмування поняття об'єкта реалізовано як сукупність властивостей (структур даних, притаманних даного об'єкта), методів їх обробки (підпрограм зміни їх властивостей) і подій, куди даний об'єкт може реагувати і які призводять, зазвичай, до зміни властивостей об'єкта. Об'єднання даних та властивих їм процедур обробки в одному об'єкті називається інкапсуляцією і є одним з найважливіших принципів ООП.

Іншим фундаментальним поняттям є клас. Клас це шаблон, на основі якого може бути створений конкретний програмний об'єкт, він описує властивості та методи, що визначають поведінку цього класу. Кожен конкретний об'єкт, що має структуру цього класу, називається екземпляром класу.

Наступними найважливішими принципами ООП є успадкування та поліморфізм. Спадкування передбачає створення нових класів на базі існуючих і дозволяє класу нащадку мати (успадковувати) всі властивості класу – батька.

Поліморфізм означає, що народжені об'єкти мають інформацію про те, які методи вони повинні використовувати в залежності від того, де вони знаходяться.

Іншим найважливішим принципомООП є модульність – об'єкти містять у собі повне визначення їхніх характеристик, ніякі визначення методів і властивостей нічого не винні розташовуватися поза ним, це уможливлює вільне копіювання і впровадження одного об'єкта на інші.

Найбільш сучасними мовами програмування є С++ та Java. З середини 90-х років багато об'єктно-орієнтованих мов реалізуються як системи візуального проектування, в яких інтерфейсна частина програмного продуктустворюється у діалоговому режимі, практично без написання програмних операторів. До об'єктно-орієнтованих систем візуального проектування відносяться Visual Basic, Delphi, C++ Builder, Visual C++. Мова VBA (Visual Basic for Application) – мова програм Microsoft Office (Excel, Word, Power Point та ін.). VBA дотримується основного синтаксису мови та правил програмування мов Basic – діалектів, дозволяє створювати макроси для автоматизації виконання деяких операцій та графічний інтерфейс користувача, інтеграцію між різними програмними продуктами.

Декларативні мови програмування

До них відносяться функціональні та логічні мови програмування. Функціональне програмування- це спосіб складання програм, у яких єдиною дією є виклик функції. У функціональному програмуванні не використовується пам'ять, як місце зберігання даних, а, отже, не використовуються проміжні змінні, оператори присвоювання і цикли. Ключовим поняттям у функціональних мовах є вираз. Програма, написана функціональною мовою, є послідовністю опису функцій і виразів. Вислів обчислюється зведенням складного до простого. Усі вирази записуються як списків. Першою мовою стала мова Лісп (LISP, LIST Processing-обробка списків) створена в 1959р. Ця мова дозволяє обробляти більші обсяги текстової інформації. Логічне програмування-це програмування в термінах логіки. У 1973 році була створена мова штучного інтелекту Пролог (Prologming in Logic). Програма мовою Пролог будується з послідовності фактів та правил, потім формулюється твердження, яке Пролог намагається довести за допомогою правил. Мова сама шукає рішення за допомогою методів пошуку та зіставлення, які в ньому закладені. Логічні програми не відрізняються високою швидкодією, оскільки процес виконання зводиться до побудови прямих і зворотних ланцюжків міркувань різноманітними методами пошуку.

Огляд мов програмування

Асемблер

Мови програмування комп'ютерів поділяються на 2 основні групи:

1) мови низького рівня;

2) мови високого рівня.

До мов низького рівня належать мови Ассемблера. Свою назву вони отримали від імені системної програми Асемблер, яка перетворює вихідні програми, написані такими мовами, безпосередньо на коди машинних команд. Частинами тут є оператори, а результатом складання послідовність машинних команд Мова Асемблера поєднує в собі переваги мови машинних команд і деякі риси мов високого рівня. Асемблер забезпечує можливість застосування символічних імен у вихідній програмі та позбавляє програміста від стомлюючої праці (неминучим при програмуванні мовою машинних команд) щодо розподілу пам'яті комп'ютера для команд, змінних та констант.

Асемблер дозволяє також гнучко та повно використовувати технічні можливостікомп'ютера, як і мова машинних команд. Транслятор вихідних програм в асемблері простіше транслятора, потрібний для мови програмування високого рівня. На асемблері можна написати таку ж ефективну за розміром і часом виконання програму, як і програму мовою машинних команд. Ця перевага відсутня у мов високого рівня. Ця мова часто застосовують для програмування систем реального часу, технологічними процесами та обладнанням, забезпечення роботи інформаційно-вимірювальних комплексів. До таких систем зазвичай пред'являються високі вимоги щодо обсягу машинної пам'яті. Часто мову асемблера доповнюється засобами формування макрокоманд, кожна з яких еквівалентна цілій групі машинних команд. Таку мову називають мовою макроассемблера. Застосування мак "будівельних" блоків і наближає мову асемблера до мови високого рівня. Асемблер машинно-залежна мова, тобто він відображає особливості архітектури конкретного типу комп'ютера

Паскаль

Мова програмування Паскаль була розроблена професором кафедри обчислювальної техніки Швейцарського Федерального інституту технології Ніколасом Віртом у 1968 році як альтернатива існуючим та все більш ускладнюваним мовам програмування, таким, як PL/1, Algol, Fortran. Інтенсивний розвиток Паскаля призвів до появи вже в 1973 році його стандарту у вигляді переглянутого повідомлення, а кількість трансляторів з цієї мови в 1979 році перевищила 80. На початку 80-х Паскаль ще більше зміцнив свої позиції з появою трансляторів MS-Pascal і Turbo -Pascal для ПЕОМ. З цього часу Паскаль стає однією з найважливіших і широко використовуваних мов програмування. Істотно те, що мова давно вийшла за межі академічного та вузько професійного інтересу та використовується в більшості університетів високорозвинених країн не лише як робочий інструмент користувача. Найважливішою особливістю Паскаля є втілена ідея структурного програмування. Іншою суттєвою особливістю є концепція структури даних як одного з фундаментальних понять.

Основні причини популярності Паскаля полягають у наступному:

Простота мови дозволяє швидко її освоїти та створювати алгоритмічно складні програми

Розвинені засоби представлення структур даних забезпечують зручність роботи як з числовою, так і з символьною та бітовою інформацією

Наявність спеціальних методик створення трансляторів з Паскаля спростила їх розробку та сприяла широкому поширенню мови

Оптимізуючи властивості трансляторів із Паскаля дозволяють створювати ефективні програми. Це стало однією з причин використання Паскаля як мови системного програмування.

У мові Паскаль реалізуються ідеї структурного програмування, що робить програму наочною та дає хороші можливості для розробки та налагодження

Співробітник фірми Bell Labs Денис Рітчі створив мову Сі у 1972 році під час спільної роботи з Кеном Томпсоном як інструментальний засіб для реалізації операційної системи Unix, проте популярність цієї мови швидко переросла рамки конкретної операційної системи та конкретних завдань системного програмування. В даний час будь-яка інструментальна та операційна система не може вважатися повною, якщо до її складу не входить компілятор мови Сі. Рітчі не вигадував Сі просто з голови - прообразом служила мова Бі, розроблена Томпсоном. Мова програмування Сі була розроблена як інструмент для програмістів-практиків. Відповідно до цього головною метою його автора було створення зручної та корисної у всіх відносинах мови.

Сі є знаряддям системного програміста і дозволяє глибоко влазити в тонкі механізми обробки інформації на ЕОМ. Хоча мова вимагає від програміста високої дисципліни, вона не сувора у формальних претензіях і допускає короткі формулювання.

Сі – сучасна мова. Він включає ті керуючі конструкції, які рекомендовані теорією і практикою програмування. Його структура спонукає програміста використовувати у своїй роботі низхідне проектування, структурне програмування та покрокову розробкумодулів.

Сі - потужний і гнучкий мову. Більшість операційної системи Unix, компілятори та інтерпретатори мов Фортран, Паскаль, Лісп, та Бейсік написані саме за його допомогою.

Сі - зручна мова. Він досить структурований, щоб підтримувати хороший стиль програмування і водночас не пов'язані жорсткими обмеженнями. У певному сенсі мова Сі – найуніверсальніший, т.к. Крім набору засобів, властивих сучасним мовам програмування високого рівня (структурність, модульність, певні типи даних), до нього включені засоби для програмування на рівні асемблера. Великий набір операторів та коштів вимагають від програміста обережності, акуратності та гарного знаннямови з усіма ярмо перевагами та недоліками.

Мова C++ з'явився на початку 80-х. Створений Б'єрном Страуструпом з початковою метою позбавити себе та своїх друзів від програмування на асемблері, Сі чи різних інших мовах високого рівня.

На думку автора мови, різницю між ідеологією Сі і C++ полягає приблизно таке: програма на Сі відбиває “спосіб мислення” процесора, а C++ - спосіб мислення програміста. Відповідаючи вимогам сучасного програмування, C++ наголошує на розробці нових типів даних, що найбільш повно відповідають концепціям обраної області знань і завданням додатку. Клас є ключовим поняттям C++. Опис класу містить опис даних, потрібних для представлення об'єктів цього типу та набір операцій для роботи з подібними об'єктами.

На відміну від традиційних структур Сі та Паскаля, членами класу є не лише дані, а й функції. Функції - члени класу мають привілейований доступ до даних всередині об'єктів цього класу та забезпечують інтерфейс між цими об'єктами та іншою програмою. При подальшій роботізовсім не обов'язково пам'ятати про внутрішньої структурикласу та механізм роботи вбудованих функцій. У цьому сенсі клас подібний до електричного приладу - мало хто знає про його пристрій, але всі знають, як ним користуватися.

Мова С++ є засобом об'єктного програмування, новітньої методики проектування та реалізації програм, що у поточному десятилітті, швидше за все, замінить традиційне процедурне програмування. Головною метою творця мови доктора Бьорна Страустрапа було оснащення мови С++ конструкціями, що дозволяють збільшити продуктивність праці програмістів та полегшити процес оволодіння великими програмними продуктами.

Абстракція, реалізація, успадкування та поліморфізм є необхідними властивостями, якими володіє мова С++, завдяки чому вона не тільки універсальна, як і мова Сі, але і є об'єктною мовою. Фортран Фортран є широко поширеною мовою, особливо серед користувачів, які займаються чисельним моделюванням. Це пояснюється кількома причинами:

Існуванням величезних фондів прикладних програм на Фортрані, накопичених за ці роки, а також наявністю величезної кількості програмістів, які ефективно використовують цю мову;

Наявністю ефективних трансляторів Фортрана на всіх типах ЕОМ, причому версії для різних машин досить стандартизовані та перенесення програм з машини на машину зазвичай не становить великих труднощів;

Початковою спрямованістю Фортрана на фізико-математичні та технічні програми; зокрема, це виявилося в тому, що протягом тривалого часу він залишався єдиною мовою з вбудованим комплексним типом змінних та великим набором вбудованих функцій для роботи з такими змінними.

За період сформувалася нова методологія і філософія програмування. З початку 70-х років Фортран зазнав заслуженої критики. У 1977 році був прийнятий новий стандартмови Фортран-77 На створення нового стандарту витрачено багато часу, але зараз вже можна вважати, що його розробка завершена і новий стандарт Фортран-90 почав входити до практики користувачів Фортрана. Тільки на машинах типу IBM PC існує кілька трансляторів, наприклад, Watfor, Lap-Fortran і т. д. Але найбільшого поширення на машинах цього типу набули різні версії транслятор Fortran-77. Випущений 1990 року транслятор MS-Fortran 5.0 практично повністю відповідає стандарту Fortran-90. Більшість великих науково-технічних прикладних програм написано на Фортрані тому, що він має переносимість та стійкість, а також завдяки наявності вбудованих математичних та тригонометричних функцій. Додатковою, невід'ємною частиною будь-якої прикладної програмимовою Фортран є розширена графічна бібліотека, що дозволяє використовувати різні графічні дані та зображення.

Мова створена в основному в 1975 - 1980 роках в результаті грандіозного проекту, зробленого Міністерством Оборони США з метою розробити єдину мову програмування для так званих вбудованих систем (тобто систем управління автоматизованими комплексами, що працюють у реальному часі). Малися на увазі насамперед бортові системи управління військовими об'єктами (кораблями, літаками, танками, ракетами, снарядами тощо). Тому рішення, прийняті авторами Ади, не слід вважати універсальними. Їх потрібно сприймати у контексті особливостей обраної предметної області. Мова Ада виникла в результаті міжнародного конкурсу мовних проектів, що проходить у 1978-1979 роках. Учасники мали задовольнити досить жорстким, детально розробленим під егідою Міністерства Оборони США вимогам. Цікаво, що всі мови, що дійшли останніх турів цього конкурсу, були засновані на Паскалі. У цьому Аду можна попередньо охарактеризувати як Паскаль, розвинений з урахуванням перелічених вище п'яти основних вимог. У цьому автори пішли переважно шляхом розширення Паскаля новими елементами. В результаті вийшла значно складніша мова.

Кобол

Кобол - це порівняно стара мова, розроблена насамперед для досліджень у економічній сфері. Мова дозволяє ефективно працювати з великою кількістюданих, він насичений різноманітними можливостями пошуку, сортування та розподілу. Про програми на Коболі, засновані на широкому використанні англійської мови, говорять, що вони зрозумілі навіть тим, хто не володіє Коболом, оскільки тексти цією мовою програмування не потребують будь-яких спеціальних коментарів. Подібні програми прийнято називати такими, що самодокументуються. До інших плюсів Кобола зазвичай відносять його структурованість. Досить потужні компілятори з цієї мови розроблені для персональних комп'ютерів. Деякі їх настільки ефективні, що програму, налагоджену персональному комп'ютері, неважко перенести великі ЕОМ.

Перераховуючи мінуси не можна не згадати про те, що на Коболі можна запрограмувати лише найпростіші обчислення алгебри. Для інженерних розрахунків ця мова не годиться. Ще одна причина, яка певною мірою стримує розвиток мови, - це наявність у США спеціально створеного галузевого комітету, який виробляє стандарти, за дотриманням яких слідкує урядова комісія. Як це завжди буває в подібних випадках, фірми, які займаються розробкою програмного забезпечення, не поспішають підганяти свої заготівлі до жорстких вимог комісії, відсутня конкуренція версій, а в результаті програє поширення мови

ПЛ/1 розроблений у 1964-1965 роках фірмою IBM. ПЛ/1 належить до універсальних мов, тобто дозволяє вирішувати завдання з різних областей: чисельні розрахунки, текстова обробка, економічні завдання і т. д. За своїми можливостями він перекриває такі мови, як Фортран, Алгол-60 (створений для чисельних розрахунків), Кобол (для економічних завдань), хоча з низки причин витіснити ці мови ПЛ/1 не зміг.

ПЛ/1 містить усі основні конструкції, характерні для так званих мов високого рівня, а також низку специфічних засобів, зручних для практичного програмування. Мова нагадує конструктор з великою кількістю деталей - користувачеві достатньо освоїти ті частини мови, які йому практично необхідні. Його оператори досить ємні, що часто дозволяє отримати запис програми компактніший, ніж іншими мовами. Знаючий ПЛ/1 програміст легко освоює будь-яку іншу мову того ж чи близького класу.

Разом з тим, ПЛ/1 має і ряд недоліків, що ускладнюють вивчення та використання мови. Основні їх такі. По-перше, є багато дублюючих один одного засобів їх складно запам'ятати, не ясно, що коли застосовувати, крім того, це знижує швидкість трансляції, так і швидкість виконання програм. По-друге, програми виходять не зовсім машинно-незалежними.

Модула

Можна вважати, що історія мови Модула починається в 1980 році, коли Ніклаус Вірт, один із видатних фахівців з теорії інформації, відомий більшості фахівців з обчислювальної техніки в основному як творець мови Паскаль, опублікував опис нової мови програмування, названої ним Модула. На відміну від Паскаля, який був за задумом мовою для навчання програмування, Модула з самого початку була мовою для професійних системних програмістів, продовжуючи кращі традиції свого попередника і збагачуючи їх новими ідеями, що відповідають таким вимогам до мов програмування, як структурність, модульність та здатність до розширення. Як і безліч інших мов програмування, Модула зазнавала еволюції, під час якої її первісна назва була перероблена в ім'я Модула-2. Одночасно з розвитком мови Модула для нього створювалися нові компілятори, однак жоден з них не міг змагатися з кращими реалізаціями мов Паскаль і Сі, наприклад, розроблених фірмою Борланд. У цей перехідний для мови Модула період найкращої вважалися реалізації виконані фірмою Logitech, які за своїми характеристиками програвала Турбо Паскалю та Турбо Сі. Лише у 1988 році після появи на американському ринку системи Top Speed, Модула-2 зайняла гідне місце серед процедурних мов, призначених для системного програмування. Зростаючої популярності системи Top Speed ​​сприяло кілька факторів: зручне і, крім того, операційне оточення, що легко змінюється за бажанням користувачів, швидкий компілятор і селективний редактор зв'язків. Але найбільш суттєвим виявилося те, що створювані програми відрізнялися великою швидкодією і займали небагато місця в пам'яті.

Бейсік

Бейсік (Basic – Beginner's All-Purpose Symbolic Instruction Code – “універсальний символічний код інструкцій для початківців”). Прямий нащадок Фортрана і досі найпопулярніша мова програмування для персональних комп'ютерів. З'явився Бейсік у 1963 році (назвати автора було б важко, але основна заслуга у його появі безсумнівно належить американцям Джону Кемені та Томасу Курцю). Як і будь-які переваги, простота Бейсіка оберталася, особливо в ранніх версіяхтруднощами структурування; крім того, Бейсік не допускав рекурсію – цікавий прийом, що дозволяє складати ефективні та водночас короткі програми.

Розроблено потужні компілятори Бейсика, які забезпечують не лише багату лексику та високу швидкодію, а й можливість структурного програмування. На думку деяких програмістів, найцікавішими версіями є GWBASIC, Turbo-Basic та Quick Basic.

У свій час поява Quick Basic ознаменувала народження другого покоління систем програмування мовою Бейсік. Він надавав можливість модульного та процедурного програмування, створення бібліотек, компіляції готових програм та інше, що вивело його на рівень таких класичних мов програмування, як Сі, Паскаль, Фортран та ін. Більше того, через відсутність офіційного стандарту мови Бейсік, його реалізація як Quick Basic стала фактичним стандартом. Безумовними лідерами серед різних версій Бейсіка були Quick Basic 4.5 та PDS 7.1 фірми Microsoft, що з'явилися наприкінці 80-х.

Лісп

Мова Лісп було запропоновано Дж. Маккарті у роботі 1960 року й орієнтовано розробку програм на вирішення завдань не чисельного характеру. Англійська назва цієї мови – LISP є абревіатурою виразу LISt Processing (обробка списків) та добре підкреслює основну сферу її застосування. Поняття "список" виявилося дуже ємним. У вигляді списків зручно представляти вирази алгебри, графи, елементи кінцевих груп, множини, правила виведення і багато інших складних об'єктів. Списки є найбільш гнучкою формою представлення інформації у пам'яті комп'ютерів. Не дивно тому, що зручна мова, спеціально призначена для обробки списків, швидко завоювала популярність.

Після появи Ліспа різними авторами було запропоновано цілий рядінших алгоритмічних мов орієнтованих рішення завдань у сфері штучного інтелекту, серед яких можна назвати Пленер, Снобол, Рефал, Пролог. Однак це не завадило Ліспу залишитись найбільш популярною мовою для вирішення таких завдань. Протягом майже сорокарічної історії його існування з'явилася низка діалектів цієї мови: Common LISP, Mac LISP, Inter LISP, Standard LISP та ін. програм. Тому програміст, який навчився працювати на одному з них легко зможе освоїти і будь-який інший. Великою перевагою Лиспа є його функціональна спрямованість, тобто програмування ведеться за допомогою функцій. Причому функція розуміється зазвичай, що зіставляє елементам деякого класу відповідні елементи іншого класу. Сам процес зіставлення не надає жодного впливу роботу програми, важливий лише його результат – значення функції. Це дозволяє відносно легко писати та налагоджувати великі програмні комплекси. Ясність програм, чітке розмежування їх функцій, відсутність каверзних побічних ефектів за її виконання є обов'язковими вимогами до програмування таких логічно складних завдань, якими є завдання штучного інтелекту. Дисципліна у програмуванні стає особливо важливою, коли над програмою працює не одна людина, а ціла група програмістів.

Мова програмування Лісп призначений насамперед для обробки символьної інформації. Тому природно, що в Лиспа числа відіграють далеко не головну роль. Основні типи даних у Лиспе називаються “атом” та “точкова пара”.

Пролог

Мова логічного програмування призначена для представлення та використання знань про деяку предметну область. Програми цією мовою складаються з деякої множини відносин, а її виконання зводиться до виведення нового відношення на основі заданих. У Пролозі реалізовано декларативний підхід, за якого достатньо описати завдання за допомогою правил та тверджень щодо заданих об'єктів. Якщо це опис є досить точним, то ЕОМ може самостійно знайти необхідне рішення.

Object PAL

Object PAL є потужною мовою програмування. Object PAL є об'єктно-орієнтованою, керованою за подіями, візуальною мовою програмування. на початковому рівніфункціональності Object PAL можна здійснювати операції з даними, створювати спеціальні меню, і навіть управляти сеансом введення даних. Події Object PAL породжують команди, які імітують ефект використання Paradox в інтерактивному режимі. Існує можливість автоматизувати завдання, що часто виконуються, а також здійснювати над таблицями, формами та звітами дії, які були не доступні при інтерактивній роботі. Також Object PAL надає всі засоби повнофункціональної мови програмування середовищі Windows. Можна використовувати Object PAL для створення закінчених систем, в яких реалізовано спеціальну систему меню, довідкова система, і навіть всілякі перевірки даних. У Object PAL можна зберегти свої напрацювання в бібліотеці, що динамічно компонується, доступ до якої будуть мати декілька форм. Крім того, можна встановити зв'язок з іншими динамічними бібліотеками, що містять програми написані такими мовами як Сі, C++ або Паскаль.

Object PAL може бути використаний як інструмент для створення автономних програм. Можна написати закінчену Windows-програму і запустити її під Paradox.

Object PAL підтримує механізм динамічного обміну даними як клієнта, і сервера. Крім того, Object PAL підтримує як клієнт механізм роботи зі складовими документами. На додаток до сказаного існує можливість включати в свою програму мультимедійні засоби, забезпечивши додаток звуковими та анімаційними ефектами.

Створена фірмою Борланд реалізація мови dBase є вдалим гібридом об'єктної орієнтації та традиційних способів програмування. Він дозволив створювати системи за допомогою об'єктного дизайну та використовувати звичайні прийоми обробки записів. Великим досягненням фірми Борланд стало те, що дуже вдало поєднала об'єктні і процедурні прийоми програмування. Перша версія для Windows давала користувачеві найпотужніший об'єктний інструмент ринку баз баз даних. Вона дозволяє створювати нові класи об'єктів, які мають властивості успадкування, інкапсуляції та поліморфізму. Вона також дозволяє програмувати ці об'єкти за допомогою традиційних команд dBase, які ідеально підходять для управління простими табличними базами даних. Все це дає незаперечну перевагу - здійснювати без особливих труднощів перехід до прийомів об'єктного програмування, перехід настільки складний, наприклад, як - СУБД Paradox.

Мова Java зародилася як частина проекту створення передового програмного забезпечення (ПЗ) для різних побутових приладів. Реалізація проекту була розпочата мовою С++, але незабаром виникла низка проблем, найкращим засобомборотьби з якими була зміна самого інструменту – мови програмування. Стало очевидним, що необхідна платформо-незалежна мова програмування, що дозволяє створювати програми, які не доводилося б компілювати окремо для кожної архітектури і можна було б використовувати на різних процесорах під різними операційними системами. Мова Java знадобилася для створення інтерактивних продуктів для мережі Internet. Фактично більшість архітектурних рішень, прийнятих при створенні Java, були продиктовані бажанням надати синтаксис, подібний до Сі і Cі++. У Java використовуються практично ідентичні угоди для оголошення змінних, передачі параметрів, операторів та управління потоком виконанням коду. У Java додані всі добрі риси C++.

Три ключові елементи об'єдналися у технології мови Java

Java надає для широкого використання свої аплети (applets) - невеликі, надійні, динамічні, не залежать від платформи активні мережеві програми, що вбудовуються в сторінки Web. Аплети Java можуть налаштовуватись і поширюватися споживачам з такою ж легкістю, як будь-які документи HTML.

Java вивільняє міць об'єктно-орієнтованої розробки додатків, поєднуючи простий і знайомий синтаксис з надійним і зручним у роботі середовищем розробки. Це дозволяє широкому колу програмістів швидко створювати нові програми та нові аплети.

Java надає програмісту багатий набір класів об'єктів для чіткого абстрагування багатьох системних функцій, що використовуються під час роботи з вікнами, мережею та для введення-виведення. Ключова риса цих класів полягає в тому, що вони забезпечують створення незалежних від платформи абстракцій для широкого спектра системних інтерфейсів.

Мови програмування для комп'ютерних мереж

Мови програмування для комп'ютерних мереж інтерпретуються. Інтерпретатори їм поширюються безкоштовно, а самі програми – у вихідних текстах. Такі мови називаються скриптами – мовами.

Perl є інтерпретованою мовою, створеною програмістом Ларі Уоллом для обробки великих текстів і файлів і розшифровується як Practical Extraction and Report Language (мова для практичного вилучення даних та складання звітів). За допомогою Perl ви, наприклад, можете створити скрипт, який відкриває один або кілька файлів, обробляє інформацію та записує результати.

Perl - мова, пристосована для обробки довільних текстових файлів, вилучення з них необхідної інформаціїта видачі повідомлень. Perl також зручний для написання різних системних програм. Ця мова проста у використанні, ефективна, але про неї важко сказати, що вона елегантна і компактна. Синтаксис виразів Perl близький до синтаксису Сі. Рекурсія може бути довільною глибиною. Хоча Perl пристосований для сканування текстових файлів, він може обробляти також двійкові дані. Perl дозволяє використовувати Регулярні вирази, створювати об'єкти, вставляти у програму на Сі чи Сі++ шматки коду на Perl, і навіть дозволяє здійснювати доступом до баз даних, зокрема Oracle.

З винаходом World Wide Web Perl виявився прекрасним засобом для взаємодії з web-серверами через Common Gateway Interface (CGI) - загальний інтерфейс взаємодії. Команди Perl можуть легко отримати дані з форми HTML або іншого джерела та виконати з ними будь-яку дію.

Мова PHP(1995-1997гг) має засоби доступу до БД і використовується творцями динамічних сайтів у всьому світі.

Мова Tcl/Tk(Кінець 80-х років) складається з потужних команд, призначених для роботи з абстрактними нетипізованими об'єктами і дозволяє створювати програми з графічним інтерфейсом.

Мова VRML(1994г) створено в організацію віртуальних тривимірних інтерфейсів Інтернету.

Мова XML. З 1996 р. йде робота над створенням універсальної мови структури документів. Може стати заміною мови HTML.

Висновок

Корисні ресурси

Відгук про Айзілі.

Де доповідь?

Ранифка.

Re: Де доповідь?
Все буде:-D

Відгук про Шамагулову еліту.

Мішина Олександра.

Відмінна доповідь. Дізнався багато нового про мови програмування.

Морозова Олександра.

Звичайно, хотілося б бачити доповідь або хоча б презентацію в якомусь вигляді.

Основою роботи з інтернетом є мова розмітки – html. Він дозволяє подавати інформацію завданням тексту, картинкам, аудіо та відео файлам спеціальних властивостей, керуючи їхньою структурою. Для роботи з повноцінними мовами web-програмування необхідно розуміти структуру html-документів та html-команди – так звані теги.

PHP – мова програмування для створення інтерактивних web-сайтів. Php-програми (скрипти) розміщуються на віддалених комп'ютерах(Серверах). Користувач інтернету при зверненні до доменному іменізапитує файли із сервера. Php-скрипт генерує код htmlзалежно від запиту користувача, сайт працює динамічно, як повноцінна комп'ютерна програма, що реагує на дії.

Зазвичай PHP взаємодіє з базою даних, що має самостійну мову запитів. Найпопулярніша мова запитів баз даних – MySQL. Він дозволяє створювати реляційні бази даних, що працюють на основі зв'язків між структурами таблиць.

Група мов C

Мова «Cі», яка згодом стала прабатьком десятків мов, була створена на початку другої половини XX століття для роботи з процесорною пам'яттю безпосередньо. Обчислювальні машини на той час були величезними і використовувалися у військових та наукових цілях.

Мова "Cі" має просту структуру, її команди можуть бути відтворені навіть дітьми. «Сі» може розширюватись спільнотою програмістів з використанням спеціальних файлівфункцій – бібліотек.

На базі мови «Сі» зросла ціла група інструментів розробки (CLR) та повноцінних мов. C# (платформа ASP) є програмною основою продуктів Microsoft. С++ став улюбленим засобом розробників у світі.

Простий Pascal

Мова «Паскаль» була створена з скандинавським програмістом Нортусом Віртом. Ця мова тривалий час викладалася у радянських школах та університетах, також локально використовувалася науковими інститутами Європи. Зважаючи на труднощі з розширюваністю (у Pascal відсутні прототипи бібліотечних файлів, які широко застосовуються в C-мовах), мова не отримала широкого застосування в написанні програмного забезпечення.

Delphi – спадкоємець мови Pascal. Оскільки багато програмістів отримували основи спеціальності на простому алгоритмічному відношенні мовою Pascal, група розробників вирішила створити інструментальний засіб для роботи спадкоємцем мовою Pascal: адже основні команди знайомі, є безліч розроблених математичних функцій.

Новітні мови програмування

Зазвичай нові мови виникають на вирішення специфічних завдань. IFrame служить створенню додатків «Вконтакте», Erlang – роботі з серверним навантаженням, NOSQL – створенню баз даних з нетипізованою архітектурою. На початку робота з новими інструментами буває утруднена відсутністю супровідної документації, проте в цьому приховані і додаткові плюси: можна спілкуватися з «послідовниками» мови, заробити ім'я у спільноті розробників, отримувати довідкову інформацію з першоджерела.