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

Програмування - це мистецтво створювати програмні продукти, які написані на мові програмування.

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

В даний час в світі існує кілька сотень реально використовуваних мов програмування.

Програма - упорядкована послідовність команд, необхідних для управління комп'ютером. Ці команди надходять на процесор як сукупність нулів та одиниць, тобто числами.

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

Процедурне (імперативне) програмування є відображенням архітектури традиційних ЕОМ, яка була запропонована Дж. Фон Нейманом в 40-х роках минулого століття.

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

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

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

· Необхідністю явного управління пам'ять, зокрема, описом змінних;

· Малої придатністю для символьних обчислень;

· Відсутністю суворої математичної основи;

· Високою ефективністю реалізації на традиційних ЕОМ.

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

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

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

Мал. 7 Фрагмент програми в довічних кодах

Наступний рівень складають машинно-орієнтовані мови (асемблери).

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

Рис.8 Фрагмент програми на мові Асемблера

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

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

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

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

Мова програмування С (Сі) був розроблений для реалізації операційної системи UNIX (ядро ОС було написано на С) на початку 70-х років 20 століття. В подальшому придбав популярність серед системних і прикладних програмістів. В даний час він реалізований на більшості ЕОМ.

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

Мова Basic (Бейсік). BASIC - скорочення від англ. Beginner'sAll-purposeSymbolicInstructionCode - універсальний код символічних інструкцій для початківців. Бейсік був придуманий в 1963 році викладачами Дартмутського коледжу Джоном Кемені і Томасом Куртц і реалізований командою студентів коледжу під їх керівництвом. Бейсік був розроблений як найпростіший мова для безпосереднього спілкування людини з машиною для автоматичного оброблення.

Набув широкого поширення у вигляді різних діалектів, насамперед як мова для домашніх комп'ютерів. До теперішнього моменту зазнав істотних змін, значно відійшовши від характерної для перших версій простоти, що межує з примітивізмом і перетворившись в досить ординарний мову високого рівня з типовим набором можливостей. Найбільшого поширення набула версія QuickBasic 4.5.Іспользуется як самостійна мова для розробки прикладних програм, головним чином, що працюють під управлінням ОС Windows різних версій.

Мова Pascal (Паскаль) - є одним з найбільш популярних серед прикладних програмістів процедурним мовою програмування. Розроблений в 1970 р Ніклаус Віртом, мова названий на честь французького математика Блеза Паскаля. Всупереч розхожій думці, він не був виключно навчальним мовою, а призначався для практичного застосування. Прототипом послужілAlgol. Спочатку мова компілювався в байт-код, подібно язикуJava. У даній мові повністю реалізована концепція структурного програмування. В даний час широко використовуються такі версії мови для ПЕОМ, як BorlandPascal, TurboPascal.

Мова ПЛ / 1 (PL / I, ProgrammingLanguage I - «Мова програмування номер один») - розроблений в1964 годуязик програмування, створений для наукових, інженерних і бізнес-орієнтованих обчислень. Він містить такий широкий набір синтаксичних конструкцій і вбудованих функцій, що, ймовірно, не існує ні одногокомпілятора, що підтримує всі можливості мови ПЛ / 1. ПЛ / 1 поддержіваетрекурсіюіструктурное програмування, широко застосовувався в обробці даних.

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

В основі об'єктно-орієнтованого стилю програмування лежить поняття об'єкта, а суть його виражається формулою: «об'єкт - дані + процедури». Кожен об'єкт інтегрує в собі деяку структуру даних і доступні тільки йому процедури обробки цих даних, звані методами. Об'єднання процедур і даних в одному об'єкті називається инкапсуляцией.

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

До найбільш сучасних об'єктно-орієнтованим мовам програмування відносяться С ++, Delphi, Perl.

Мова С ++ був розроблений на початку 80-х років Б. Страуструпом.

Perl - високоуровневийінтерпретіруемийдінаміческійязик програмування загального призначення, створений Ларрі Уоллом, лінгвістом за освітою. Назва мови є абревіатурою, що розшифровується як PracticalExtractionandReportLanguage- «практичну мову для отримання даних та складання звітів»

Python - високорівнева мова программірованіяобщего призначення, орієнтований на підвищення продуктивності розробника і Новомосковскемості коду. Python підтримує несколькопарадігм програмування, в тому чіслеструктурное, об'єктно-орієнтоване, функціональне, імперативне.

Ruby - інтерпретіруемийвисокоуровневий мову програмування для швидкого і зручного об'єктно-орієнтованого програмування.

Останнім часом програми, особливо об'єктно-орієнтовані, реалізуються як системи візуального програмування. Відмінною особливістю таких систем є потужне середовище розробки програм з готових «будівельних блоків», що дозволяють створювати інтерфейсну частину програмного продукту в діалоговому режимі, практично без кодування програмних операцій. До числа об'єктно-орієнтованих систем візуального програмування відносяться: VisualBasic, Delphi, C ++ Builder, VisualC ++

Схожі статті