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

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

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

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

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

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

Фортран найперший з мов високого рівня (розроблений Бекуса на початку 1950-х років) і широко поширена мова, особливо серед користувачів, які займаються чисельним моделюванням. Це пояснюється кількома причинами:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

НОВИНИ ФОРУМУ
Лицарі теорії ефіру