Вівторок, 30.04.2024, 09:21
Вітаю Вас Гість | RSS

НВК "Берегометська гімназія"

Форма входу
Категорії розділу
Наше опитування
Оцініть мій сайт
Всього відповідей: 231
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0

Каталог файлів

Головна » Файли » Мої файли

З історії мов програмування
11.04.2011, 13:23
 
З історії мов програмування
  Системи команд, навіть найсучасніших автоматичних пристроїв, у тому числі комп'ютерів, дуже примітивні і часто обмежуються набором елементарних команд (наприклад, додати одне число до іншого, записати число в задану комірку пам'яті тощо). Кожна команда має власний двійковий код. Саме за двійковим кодом автоматичний пристрій розпізнає та виконує команду. Подання алгоритму у вигляді послідовності двійкових кодів називається програмою. Програма записується в окремому exe-файлі. Таким чином, програма — це алгоритм, який призначається для виконання комп'ютером. Двійкове подання команд комп'ютера називається машинним кодом. Першу програму на комп'ютері, написану в машинних кодах, було запущено 1948 року в Англії. До 1950 року всі програми для комп'ютерів складалися виключно в машинних кодах. Такий спосіб складання програм був дуже трудомістким, тому що алгоритм було необхідно деталізувати до елементарних дій, яким відповідали команди комп'ютера. Як наслідок, програми були громіздкими, містили велику кількість помилок, знаходження та вилучення яких, у свою чергу, вимагало кропіткої та тривалої роботи. Досить швидко стало зрозуміло, що процес формування машинного коду можна автоматизувати. Вже 1950 року для запису програм почали застосовувати мнемонічну мову (від грецького слова jxvejaoviKov — уміння запам'ятовувати) — мову асемблера. Мова асемблера дозволила подавати машинний код в більш зручній для людини формі: для позначення команд та об'єктів, над якими ці команди виконуються, замість двійкових кодів використовувалися літери або скорочені слова, які відбивали сутність команди. Наприклад, на мові асемблера команда додавання двох чисел позначається словом add (в перекладі з англійської «додати»), тоді як її машинний код може бути таким: 000010. Запис програми на мові асемблера є фактично тим самим машинним кодом, тільки поданим за допомогою спеціальних позначень. Машинні коди (і мова асемблера) і досі є єдиною системою команд кожного комп'ютера. Розширення можливостей застосування комп'ютерів сприяло залученню до розробки програм спеціалістів не тільки з програмування, але й з інших галузей — математиків, фізиків, інженерів, технологів тощо. Стала очевидною необхідність створення більш доступних засобів програмування, які, з одного боку, дозволяли б подавати алгоритм у формі, подібній до словесного опису, а з іншого — були придатними для перекладу алгоритму у машинний код. Такі засоби дістали назву мов програмування. Мова програмування — це штучна мова, призначена для .написання програм для комп'ютера. Мова програмування є своєрідним компромісом між людиною та комп'ютером: кожному з них потрібно зробити певний крок, щоб їхнє спілкування на цій мові стало можливим. Людині треба навчитися застосовувати конструкції мови (слова, вирази тощо) для описання алгоритму, а комп'ютерові — «навчитися» розуміти написаний текст. Таку функцію «вчителя» для комп'ютера відіграють спеціальні програ-ми-посередники, які здійснюють автоматичний переклад тексту з мови програмування на машинний код. Із застосуванням мови програмування алгоритм записується не для комп'ютера, а для про-грами-посередника, яка перетворює його на машинний код, тобто в програму. На цьому етапі автоматичного перетворення, який відбувається без участі людини, звичайно не робиться наголос, і алгоритм, написаний на мові програмування, теж називають програмою. Існує два типи програм-посередників, які працюють із вхідним текстом: компілятори та ін-терпрётатори. Програма-компілятор (від англ, compile — складати, збирати) перекладає вхідний текст на машинний код і записує його на диск у формі exe-файла. Раніше програми-компілятори так і називали — трансляторами (перекладачами). Програма-інтерпретатор завжди працює спільно з вхідним текстом. Вона розбирає кожну інструкцію вхідного тексту (інтерпретує її) і негайно виконує (при цьому файл в машинних кодах не створюється). У режимі інтерпретування програма виконується значно повільніше, ніж її скомпільована версія, записана як exe-файл. Це пов'язано з тим, що під час виконання програми кожна її інструкція аналізується інтерпретатором і трансформується у машинний код. Деякі інструкції у програмі можуть виконуватися багаторазово, але при кожному виконанні вони інтерпретуються повторно. До того ж текст, який написано для програми-інтерпретатора, можна перекласти та виконати тільки на комп'ютері, де ця програма-інтерпретатор встановлена. Тому всюди, де можливо, режим інтерпретації замінюють режимом компіляції. Щоправда, інтерпретація має свої переваги: за її допомогою легше налагоджувати програму. Інколи користуються режимом «псевдоком-Ішіяції»: прискорюють інтерпретацію за раху- нок попереднього запам'ятовування тих або інших елементів розібраних команд у пам'яті машини. Одним із найважливіших наслідків створення мов програмування стала можливість для фахівців різних країн обмінюватися програмами. Це сприяло розвитку культури програмування, становленню технології розробки програм, формуванню фонду програмних продуктів. У період з 1960 року по наш час було створено тисячі мов програмування, проте лише деякі з них здобули всесвітнє визнання, для них було затверджено стандарт мови програмування. Найбільш відомими мовами, якими й досі користуються у багатьох країнах світу, є Бейсік, Кобол, Паскаль, С (та її продовження C++), Фортран та інші. Стандарт мови програмування — це набір правил, згідно з якими повинні записуватися тексти алгоритмів цією мовою. Затвердженням стандартів займається Американський національний інститут стандартів (скорочено ANSI). Для полегшення процесу програмування про-грами-посередники (програми-компілятори та інтерпретатори), як правило, постачаються в комплексі з іншими, допоміжними програмними засобами (іноді їх ще називають інструментальними засобами). До складу цих засобів звичайно входять, крім програми-посередника: • програма редагування вхідних текстів (спеціалізований текстовий редактор, в якому зручно писати програми саме на цій мові програмування); • програма - налагоджувач (програма, яка дозволяє покроково стежити за процесом виконання програми); • бібліотеки (містять готові блоки коду і надають багато додаткових можливостей для створення програм). Такий комплекс називають інтегрованим середовищем (або системою) програмування. Найбільш поширеними інтегрованими середовищами є QuickBasic (на базі мови програмування Бейсік), Turbo Pascal (на базі мови програмування Паскаль), Borland C++ (на базі мов С та C++). Останнім часом дедалі більшу популярність завойовують середовища візуального програмування, які дозволяють користувачеві створювати програмні продукти, застосовуючи широкий спектр стандартних елементів (таких як вікна, кнопки, меню тощо). Найбільш поширеними середовищами візуального програмування є Visual Basic (на базі мови програмування Бейсік), Delphi (на базі мови програмування Паскаль), Visual C++ (на базі мов С та C++), Java (візуальне середовище-інтерпретатор, за синтаксисом схоже на C++). Класифікація мов програмування Серед тисяч створених на сьогодні мов програмування можна умовно виділити певні групи. Якщо класифікувати мови програмування з точки зору урахування ними конкретних особливостей комп'ютера (точніше, процесора), то можна ввести поняття «рівень мови програмування». Якщо мова програмування створена для використання зі спеціальним типом процесора та враховує його особливості, то таку мову називають мовою програмування низького рівня. Для будь-якого процесора мовою найнижчого рівня є мова асемблера. У кожного типу процесорів своя мова асемблера, тому програми, написані асемблером на одному комп'ютері; можуть зовсім на працювати на іншому. За допомогою мов програмування низького рівня створюються дуже ефективні програми (з точки зору швидкості та розміру). Можна навіть вважати, що чим нижчий рівень мови програмування, тим програми на ньому ефективніші. Недоліком мов програмування низького рівня є складність у вивченні цих мов, тому звичайно такими мовами володіють тільки висококласні програмісти. Мовою програмування високого рівня вважається мова, яка майже не враховує особливостей процесора (чим менше враховує, тим рівень вищий). Мови високого рівня звичайно ближчі до людини, ними володіє широке коло програмістів, ними створюється більша частина сучасного програмного забезпечення. Звичайно програми, написані мовою високого рівня, можна використовувати на будь-якому комп'ютері. Недоліком цих мов є дещо низька ефективність їх програм у порівнянні з програмами мови низького рівня. Найвищий рівень в наш час мають системи візуального проектування. Серед мов програмування високого рівня звичайно виділяють дві основні групи: Алгоритмічні мови програмування слугують для подання алгоритмів. Часто вони використовують символіку, близьку до математичної. Звичайно сучасні алгоритмічні мови програмування мають засоби для реалізації структурного (процедурного) програмування (див. вище). Алгоритмічні мови складають переважну більшість сучасних мов програмування, до них належать Паскаль, Сі, сучасні версії Бейсіка та інші. Мови дескриптивного програмування (від англійського слова descriptive — описовий) — це мови, які описують не способи розв'язання задач (як це роблять алгоритмічні мови), а логічний або функціональний взаємозв'язок між об'єктами, поняттями предметної області. Поняття предметної області формують базу знань програми. Робота з програмою відбувається у формі складання запитань, відповіді на які формуються програмою на основі бази знань. Дескриптивні мови програмування поділяються на мови логічного програмування (наприклад, Пролог), які описують предметну область за допомогою засобів математичної логіки, та мови функціонального програмування (наприклад, Лісп), які описують зв'язки між поняттями через ієрархію функцій.
Категорія: Мої файли | Додав: Marchuk
Переглядів: 1568 | Завантажень: 0 | Коментарі: 1 | Рейтинг: 2.5/2
Всього коментарів: 0
Ім`я *:
Email *:
Код *:
Погода
Пошук