Теорія мов програмування: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Вилучено вміст Додано вміст
SOMBot (обговорення | внесок) м більше не розпізнається як ізольована |
Ilya (обговорення | внесок) мНемає опису редагування |
||
Рядок 1:
[[Файл:Lambda_lc.svg|міні|250x250пкс|Маленька грецька
'''Теорія мови програмування''' ('''[[:en:Programming_language_theory|PLT]]-Programming language theory''') -це розділ комп'ютерних наук, який займається проектуванням, аналізом, визначенням характеристик і класифікацією мов програмування, їх індивідуальних особливостей. Він торкається математики, програмування і лінгвістики. Це добре відома галузь інформатики, а також активна область досліджень, результати яких опубліковані в численних журналах, присвячених PLT, а також в загальних інформатичних і інженерних публікаціях.
== Історія ==
У деякому сенсі, історія теорії мови програмування передує навіть розвитку самих мов програмування. [[Лямбда-числення]], розвинене [[Алонзо Черч
Першою мовою програмування, яка була винайдена,
Деякі інші ключові події в історії теорії мови програмування з тих пір:
=== 1950-ті ===
* [[Ноам Чомскі|Ноам Хомський]] розробив ієрархію Хомського в галузі лінгвістики. Це відкриття безпосередньо вплинуло на теорію мови програмування та інші галузі інформатики.<br/>
=== 1960-ті ===
* Мова [[Simula|Симула]] була розроблена Оле-Йоном Далем і Нігаард Крістен. Вважають, що це
* У 1964 [[Пітер Ландін]] вперше реалізував лямбда-числення Черча, що може бути використаним для моделювання мов програмування. Він представляє машину Secd, яка
* У 1965 році Ландін вводить оператор J, який є формою продовження.<br/>
* У 1966 році Ландін у своїй статті
* У 1966 році Коррадо Бем представив мову програмування [[Coach]]<br/>
* У 1967 році Крістофер Стрейчі опублікував свій важливий набір конспекта лекцій щодо основних понять мов програмування, введення R-значення термінології, L-значення, параметричний поліморфізм, а також спеціальний поліморфізм.<br/>
* У 1969 році Дж Роджер Хиндли публікує основную тип-схему об'єкта у комбінаторної логіці, пізніше узагальнена у алгоритм виведення типів Хіндлі-Мілнера.<br/>
* У 1969 році Тоні Хоар вводить логіку Хоара, форму аксіоматичної семантики.<br/>
* У 1969 році Вільям Елвін Говард помітив, що
=== 1970-ті ===
* У 1970 році [[Дана Скотт]] вперше опублікувала свою роботу по денотаціонной семантиці.<br/>
* У 1972 році було розроблені
* У 1974 році Джон С. Рейнольдс виявляє систему F. Це було уже винайдено математичним логіком Жан-Ів Жираром ще в 1971 році.<br/>
* З 1975 року, Сассмен і Стіл розробляю мову програмування [[Scheme]] і
* Бакус, в 1977 році лекції [[Премія Тюрінга|премії Тюрінга]], розкритикував поточний стан індустріальних мов і запропонував новий клас мов програмування. В даний час відомі як функціонально-рівневі мови програмування.
* In 1977, Гордон Плоткін презентував програмування обчислювальних функцій, абстрактно набрана мова
* У 1978 році [[Робін Мілнер]] вводить алгоритм виведення типів Хіндлі-Мілнера для мови програмування [[ML]]. Теорія типу стала застосовуватися як дисципліна мов програмування, цей додаток привів до величезних досягнень в області теорії типу протягом багатьох років.
Рядок 34:
* У 1981, Гордон Плоткін опублікував свій документ на структурованій операційній семантиці.
* У 1988 році Жиль Кан опублікував свою статтю про нормальну семантику.
* Команда вчених [[PARC|Xerox PARC]] під керівництвом Алана Кея розробили
* Там з'явилися обробки обчислень: обрахунок взаємодіючих систем Робіна Мілнера, модель комунікативних послідовних процесів Тоні Хоара, а також аналогічні моделі паралелізму(наприклад, модель Actor Карла Хьюітта.
* У 1985, випуск Miranda запалює навчальний інтерес до раніше відкладених чистих функціональних мов програмування. Був створений комітет для визначення відкритого стандарту, що призвів до випуску [[Haskell]] 1.0 в 1990 році.
* Бертран Мейер створив методологію проектування (за договором) та включив її в мову програмування [[Eiffel]].<br/>
=== 1990-ті ===
* Грегор Кізалес, Джим Де Рів'єр і Даніель Г. Бобров опублікували книгу [[Мистецтво протоколу метаоб'екта|
* Євгеніо Моджі і Філіп Вадлер ввели використання монад для структурування програм, написаних на функціональних мовах програмування.<br/>
== Субдисципліни і суміжні області ==
Рядок 47:
=== Формальна семантика ===
Формальна семантика це формальний опис поведінки комп'ютерних програм і мов програмування. Три загальних підходи до опису семантики або «сенс» комп'ютерної програми
=== Теорія типів ===
Теорія типів це вивчення типових системі; яка є
=== Аналіз програми та трансформація ===
Аналіз програми це загальна проблема вивчення програми і визначення ключових характеристик (наприклад, відсутність помилок у програмі). Перетворення програми
=== Порівняльний аналіз мови програмування ===
Рядок 59:
=== Загальне і метапрограмування ===
[[Метапрограмування]]
=== Предметно-орієнтовані мови ===
Рядок 65:
=== Тлумачення компілятора ===
Теорія компілятора це теорія написання компіляторів (або в більш загальному плані, трансляторів). Це програми, які переводять програму
=== Системи виконання ===
Системи виконання відносяться до розробки середовищ виконання мови програмування та їх компонентів, включаючи віртуальні машини, збірку
== Журнали, публікації та конференції ==
Конференції є основним місцем для презентування досліджень в мовах програмування. Найбільш відомі конференції включають це Симпозиум про принципи мов програмування (POPL-Symposium on Principles of Programming Languages), Конференція про проектування та впровадження мов програмування(PLDI-Conference on Programming Language Design and Implementation), міжнародна конференція функціонального програмування(ICFP-International Conference on Functional Programming
Відомі журнали, які публікують PLT: the ''ACM Transactions on Programming Languages and Systems'' (TOPLAS), ''Journal of Functional Programming'' (JFP), ''Journal of Functional and Logic Programming'', and ''Higher-Order and Symbolic Computation''.
== Посилання ==
|