Мови програмування - Екстра поради

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

Перш за все, хотілося б відразу пояснити, що слід відрізняти мову програмування (Basic, Pascal) від його реалізації, яка зазвичай представлена в складі середовища програмування (Quick Basic, Virtual Pascal) – набору засобів для редагування вихідних текстів, генерації виконуваного коду, відладки, управління проектами і т.д. Синтаксис і семантика мови програмування фіксується в стандарті мови. Кожна середа програмування надає свій інтерпретатор чи компілятор з цієї мови, який часто допускає використання конструкцій, не фіксованих у стандарті. Далі, дуже суттєво, для якої мети вибирається мова – для навчання програмуванню або для вирішення конкретної прикладної задачі.

У першому випадку мова має бути простим для розуміння, строгим і по можливості позбавленим “підводних каменів”. У другому – нехай складним, але ефективним і виразним інструментом для професіонала, що знає чого він хоче.

Розглянемо основні і популярні мови програмування.

Ада – Мова програмування високого рівня, орієнтований на застосування в системах реального часу і призначений для автоматизації завдань управління процесами та / або пристроями, наприклад, в бортових (корабельних, авіаційних і ін) ЕОМ. Розроблений з ініціативи Міністерства оборони США в 1980-х рр.. Названий на честь англійського математика Ади Августи Байрон (Лавлейс), що жила в 1815-1851 рр..

Алгол – Мова програмування високого рівня, орієнтований на опис алгоритмів вирішення обчислювальних задач. Був створений у 1958 р. фахівцями західно-європейських країн для наукових досліджень. Версія цієї мови Алгол-60 була прийнята Міжнародною конференцією в Парижі (1960 р.) і широко використовувалася на ЕОМ 2-го покоління. Версія Алгол-68, розроблена групою фахівців Міжнародної федерації з обробки інформації (ІФІП) в 1968 р., отримала статус міжнародного універсальної мови програмування, орієнтованого на вирішення не тільки обчислювальних, але і інформаційних завдань. Хоча в даний час Алгол практично не використовується, він послужив основою або зробив істотний вплив на розробку більш сучасних мов, наприклад, Ада, Паскаль і ін

BASIC (Beginner’s All-purpose Symbolic Instruction Code) Народжений у 60-і роки в Америці. Бейсік був задуманий як проста мова для швидкого освоєння. Бейсік став фактичним стандартом для МікроЕОМ саме завдяки своїй простоті як у освоєнні так і в реалізації. Однак для досягнення цієї якості був прийнятий ряд рішень (відсутність типізації, нумерація рядків та неструктурні GOTO, і ін), негативно позначаються на стилі вивчають програмування. Крім того, недолік виразних засобів привів до появи величезної кількості діалектів мови, не сумісних між собою. Сучасні, спеціалізовані версії Бейсіка (такі як Visual Basic) незважаючи на придбану “структурність” володіють все тими ж недоліками, перш за все – недбалістю стосовно до типів і описах. Придатний для використання на початковому етапі навчання, як засіб автоматизації (у випадках коли він вбудований у відповідні системи) або як засіб для швидкого створення додатків.

Pascal Розроблений відомим теоретиком Н.Віртом на основі ідей Алгол-68, Паскаль призначався передусім для навчання програмуванню. Побудований за принципом “необхідно і достатньо”, він має в своєму розпорядженні суворим контролем типів, конструкціями для опису довільних структур даних, невеликим, але достатнім набором операторів структурного програмування. На жаль, зворотною стороною простоти й суворості є громіздкість описів конструкцій мови. Найбільш відома реалізація – Turbo / Borland Pascal – незважаючи на відмінності від стандарту Паскаля, представляє з себе середовище і набір бібліотек, які зробили з навчального мови промислову систему для розробки програм в середовищі MS-DOS.

Кобол – Мова програмування високого рівня, розроблений в кінці 1950-х рр.. асоціацією КАДАСІЛ для вирішення комерційних і економічних завдань. Відрізняється розвиненими засобами роботи з файлами. Оскільки команди програм, написаних на цій мові, активно використовують звичайну англійську лексику і синтаксис, Кобол розглядається як один з найпростіших мов програмування. В даний час використовується для вирішення економічних, інформаційних та інших завдань.

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

C і C + + В основі мови C – вимоги системного програміста: повний і ефективний доступ до всіх ресурсів комп’ютера, засоби програмування високого рівня, переносимість програм між різними платформами і операційними системами. С + +, зберігаючи сумісність з C, вносить можливості об’єктно-орієнтованого програмування, висловлюючи ідею класу (об’єкта) як визначається користувачем типу. Завдяки перерахованим якостям, C / C + + зайняв позицію універсальної мови для будь-яких завдань. Але його застосування може стати неефективним там, де потрібно отримати готовий до вживання результат в найкоротші терміни, або там, де невигідним стає сам процедурний підхід.

Delphi – це не продовжувач справи Borland Pascal / Borland C, його ніша – тобто швидке створення додатків (Rapid Application Developing, RAD). Подібні засоби дозволяють в найкоротші терміни створити робочу програму з готових компонентів, не витрачаючи масу зусиль на дрібниці. Особливе місце в таких системах займають можливості роботи з базами даних.

Лісп – Алгоритмічний мова, розроблений в 1960 р. Дж. Маккарті і призначений для маніпулювання переліками елементів даних. Використовується переважно в університетських лабораторіях США для вирішення завдань, пов’язаних з штучним інтелектом. У Європі для робіт з штучного інтелекту воліють використовувати Пролог.

Пролог – Мова програмування високого рівня декларативного, призначений для розробки систем та програм штучного інтелекту. Відноситься до категорії мов п’ятого покоління. Був розроблений в 1971 р. в університеті м. Марсель (Франція), відноситься до числа широко використовуваних і постійно розвиваються мов. Остання його версія Prolog 6.0

ЛОГО – Мова програмування високого рівня, розроблений в Массачусетському технологічному інституті в орієнтовно 1970 р. для цілей навчання математичним поняттям. Використовується також у школах та користувачами ПЕОМ при написанні програм для створення креслень на екрані монітора і управління пір’яним графопостроителем.

Фортран – Мова програмування високого рівня, розроблений фірмою IBM у 1956 р. для опису алгоритмів вирішення обчислювальних задач. Відноситься до категорії процедурно-орієнтованих мов. Найбільш поширеними версіями цієї мови є Фортран IV, Фортран 77 та Фортран 90. Використовується на всіх класах ЕОМ. Остання його версія також застосовується на ЕОМ з паралельною архітектурою.

Java Як яскравий приклад спеціалізації, мова Java з’явився у відповідь на потребу в ідеально стерпному мовою, програми на якому ефективно виконуються на стороні клієнта WWW. В зважаючи на специфіку оточення, Java може бути хорошим вибором для системи, побудованої на Internet / Intranet технології.

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