Мови програмування. Огляд, можливості, переваги, недоліки

03.10.2016

Реферат на тему Мови програмування. Огляд, можливості, переваги, недоліки

Зміст

1. Поняття про мови програмування. 3

5. Огляд мов програмування високого рівня. 7

5.1 Фортран. 7

5.2 Кобол. 7

5.3 Алгол. 8

5.4 Паскаль. 8

5.5 Бейсік. 9

5.6 Сі. 9

5.7 Сі++. 10

6. Список літератури: 12

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

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

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

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

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

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

Компілятори та інтерпретатори.

Що ж потрібно, щоб «створити мову програмування»?

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

За принципом дії розрізняють два типи трансляторів: компілятори інтерпретатори. Відповідно з цим можна виділити два класи мов програмування: компилируемые інтерпретовані.

Трансляція – це переклад. Якщо ми подивимося, як працюють перекладачі з іноземних мов, то теж побачимо, що існує два підходи: синхронний переклад і переказ текстів.

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

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

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

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

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

Однак у програм, написаних на інтерпретованих мовах програмування, є інша перевага. Так як ми можемо виконувати їх тільки під управлінням інтерпретатора, то відповідно ми можемо в будь-який момент часу зупинити роботу програми, переглянути її оператори, внести потрібні зміни, знову запустити і т. д. Зміст програми відкрито для користувача. Для відкомпілюваних програм все це зробити практично неможливо. Після компіляції програми її вихідний текст залишається тільки у автора. Всі користувачі отримують машинний код, який можна виконувати, але практично не можна ні побачити, ні змінити. Хоча теоретично це зробити можна, але для цього необхідні величезні витрати часу, наявність спеціальних програм і високий рівень знань і досвіду.

Рівні мов програмування.

Існує два рівні мов програмування: мови низького рівня мови високого рівня.

Мова програмування низького рівня – це мова програмування. створений для використання зі спеціальним типом процесора і враховує його особливості. В даному випадку «низький рівень» не означає «поганий». Мається на увазі, що мова близька до машинного коду (він дозволяє безпосередньо реалізувати деякі команди процесора).

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

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

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

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

Мови високого рівня в більшою мірою орієнтовані на людину; команди цих мов – зрозумілі людині англійські слова. Чим вище рівень мови, тим більше доводиться проробити операцій для виконання потрібної команди.

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

Гідності мов програмування високого рівня.

· алфавіт мови значно ширше машинного, що робить його набагато більш виразним і істотно підвищує наочність і зрозумілість тексту;

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

· конструкції операторів задаються у зручному для людини вигляді;

· підтримується широкий набір типів даних.

Існують як універсальні, так і спеціалізовані мови програмування.

Мови низького рівня.

Асемблер.

До мов низького рівня належать мови Асемблера. Свою назву вони отримали від імені системної програми Асемблер, яка перетворює вихідні програми, написані на таких мовах, безпосередньо в коди машинних команд. Термін «асемблер» походить від англійського слова assembler – складальник частин в одне ціле. Частинами тут служать оператори, а результатом складання – послідовність машинних команд. Процес складання називається ассемблированием.

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

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

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

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

Часто мова Асемблера доповнюється засобами формування дій, кожна з яких еквівалентна цілій групі машинних команд. Таку мову називають мовою макроассемблера. Застосування «макстроительных» блоків і наближає мову Асемблера до мов високого рівня.

Огляд мов програмування високого рівня.

Фортран – історично перший компільований мова програмування, розроблений в 1954 — 1958 р .р. Джимом Бекусом. Базові принципи, закладені в основу цієї мови, згодом лягли в основу багатьох інших мов програмування високого рівня.

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

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

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

Кобол – компільований мова програмування для «ділового» застосування. Ця мова програмування був розроблений в 1959 — 1961 р .р. насамперед для досліджень в економічній сфері. Мова дозволяє ефективно працювати з великою кількістю даних, він насичений різноманітними можливостями пошуку, сортування і розподілу.

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

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

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

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

Алгол – компільований мова програмування, вперше опублікований в 1960 р.

Від мови Фортран Алгол відрізнявся значно більш суворими правилами синтаксису, що дозволило створювати з його допомогою програми великих розмірів, але викликало істотні труднощі в практичному застосуванні для вирішення повсякденних завдань. Тому Алгол знайшов застосування в інженерних, а в наукових колах, в першу чергу серед фахівців з прикладної математики, теоретичної і експериментальної фізики. У цих сферах він використовувався, поки його не змінив більш зручний і не менш строгий мову Паскаль.

Паскаль – компільований мова програмування, створена у 1968 — 1970 р .р. у Швейцарському Федеральному технологічному інституті в Цюріху Никласом Віртом.

В основу мови Паскаль були покладені принципи, вперше представлені Алголом, але правила синтаксису були дещо спрощені, і мову отримав велику популярність. Особливо широке поширення мови почалося після 1984 р. коли був представлений зручний і ефективний компілятор Turbo Pascal.

Мова Паскаль уперше ввів деякі принципово нові типи даних і підвів програмістів до поняття структурному програмуванні. що позначилося на самому стилі розробки програм. З поширенням цієї мови вперше з’явилося поняття про програмування. як про проектуванні програм, яке в подальшому було розвинене іншими мовами і системами програмування.

Переваги мови Паскаль.

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

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

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

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

· можливість створювати досить складні і мобільні (т. е. легко переносяться на інші PC ) програми.

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

Бейсік – інтерпретується в microsoft мову, хоча існують деякі версії, для яких є компілятори. Він був створений в 1963 р. при особистій участі в його розробці американців Джона Кемені і Томаса Курця.

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

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

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

Мова Бейсік добре підходить для алгоритмічного програмування. З його допомогою можна створювати програми завдовжки до 100-200 операторів, але для більш великих проектів він не підходить, оскільки стає важко стежити за безперервно виникають зв’язками між окремими частинами програми.

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

Рітчі не вигадував Сі просто з голови, прообразом послужив мова Бі, розроблений Томпсоном. Мова Сі був розроблений як інструмент для програмістів-практиків. У відповідності з цим головною метою автора було створення зручного і корисного в усіх відношеннях мови.

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

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

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

Сі – переносимий і мобільний мову.

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

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

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

Характерним недоліком мови стала відносно висока складність вивчення порівняно з мовами Паскаль та Бейсік.

Мова Сі++ був розроблений в 1980 р. Бьєрном Страуструпом у компанії Bell Labs.

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

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

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

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

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

останнім часом з’явилися середовища швидкого проектування на Сі++, які надають готові компоненти для введення і виведення інформації і підтримують концепцію віртуального проектування додатків Windows. Це значно спростило вивчення мови.

Список літератури:

1. Під редакцією Конюховского П. В. і Колесова Д. Н. «Інформатика», Санкт-Петербург: изд-во «Пітер», 2000.

2. К. Р. Скрипкін, «Економічна ефективність інформаційних систем», Москва: изд-во «ДМК-Прес», 2002.

3. Сухомлин Ст. А. «Введення в аналіз інформаційних технологій» Москва: изд-во «Гаряча лінія – Телеком», 2003.

Короткий опис статті: мови програмування Тема: Мови програмування. Огляд, можливості, переваги, недоліки. Тип: Реферат. Мова: російська. Розмістив (ла): МАРАЗМ. Розмір: 20 кб. Категорія: Інформатика. Короткий опис: ‘Поняття про мови програмування. Компілятори та інтерпретатори. Рівні мов програмування. Мови низького рівня. Огляд мов програмування високого рівня. Поняття про мови програмування.’ Реферат Мови програмування. Огляд, можливості, переваги, недоліки Інформатика

Джерело: Мови програмування. Огляд, можливості, переваги, недоліки

Також ви можете прочитати