Програмно осигуряване

© Христо Тужаров, 2008

КЛАСИФИКАЦИЯ НА ПРОГРАМНИТЕ ЕЗИЦИ

[Home] [Съдържание] [В началото] [За проекта] [За автора] [Бизнес консултации] [Асеневци]

 

ИНСТРУМЕНТАЛНО ПРОГРАМНО ОСИГУРЯВАНЕ

 

ПРОГРАМНИ ЕЗИЦИ 

 

КЛАСИФИКАЦИЯ НА ПРОГРАМНИТЕ ЕЗИЦИ

 

ПРОЦЕДУРНО ПРОГРАМИРАНЕ

 

ОБЕКТНО ОРИЕНТИРАНО ПРОГРАМИРАНЕ  ООП

 

ЛОГИЧЕСКО ПРОГРАМИРАНЕ

 

ЕЗИЦИ ЗА ОПИСВАНЕ НА WEB  СТРАНИЦИ

СКРИПТОВИ ЕЗИЦИ

 

 

 

КЛАСИФИКАЦИЯ НА ПРОГРАМНИТЕ ЕЗИЦИ

 

Класификация според нивото на езика

Езиците за програмиране по своите възможности и време на създаване е прието да се делят на няколко поколения (Generation Language, GL). Всяко поколение по своята функционалност качествено се отличава от предидущите. 

 

      Първо поколение  програмни езици (машинен език) – 40-те години на ХХ век

Машинно-ориентиран език, програмните инструкции, на който използват основния набор инструкции, специфични за всеки процесор. Тези инструкции се наричат машинен код ( обектен код) и се пишат и изпълняват в двоичен код ( 1 и 0). Позволяват на програмиста да кодира инструкциите по възможно най-ефективния начин, но е изключително трудно с тях да се пишат програми.  

 

      Второ поколение програмни езици (асемблерен език) -  50-те години на ХХ век

Машинно-ориентиран език от ниско ниво, в който всеки оператор отговаря на инструкция, която процесорът може да изпълни. Вместо двоични кодове, инструкциите използват мнемонични кодове. Обръщението към клетки от паметта е заместено с обръщения към области от паметта. Двоичния код за представяне на числата е заменен с десетичен или шестнадесетичен код. Писането на програми изисква детайлно познаване възможностите на компютъра и неговия микропроцесор.

Асемблерите се използват активно и днес за създаване на програми, максимално използващи възможностите на хардуера - различни драйвери, модули за включване на нестандартно оборудване и т.н.

В някои области ( например машинната графика) на асемблер се пишат библиотеки, ефективно реализиращи стандартни алгоритми за обработка на данни.

 

      Трето поколение програмни езици  (езици от високо ниво) 60-те години на ХХ век

Проблемно и процедурно ориентирани езици, които използват ключови думи и синтаксис, грубо напомнящи човешки език. Те увеличават производителността на програмистите и ги освобождават от необходимостта да знаят по какъв начин се изпълнява всяка инструкция. С тези неща се занимават интерпретатора или компилатора, които преобразуват оригиналния код в изпълним машинен код. Всеки оператор на език от високо ниво отговаря  на няколко инструкции на машинен език.

            Недостатък – бавна обработка и необходимост от голям обем памет.

 

      Четвърто поколение програмни езици - 90-те години на ХХ век

Езиците от четвърто поколение се развиват в основно в две направления:

  • Сложен език, осигуряващ набор от средства и подпрограми за повишаване производителността на програмистите.

  • Достъпен за крайните потребители език, чрез който те могат да създават собствени приложения.

                         Характеристики на четвърто поколение програмни езици

  • Визуална среда за разработка;

  • Обектно-ориентиран подход на програмиране;

  • Мощни средства за програмиране на клиент-сървър приложения;

  • Средства за управление на бази данни.

 

Притжават развит потребителски интерфейс, позволяващ диалогова работа при разработка на приложения, прш определяне на входните и изходни екрани и отчети, при определяне съдържанието на записите и при употреба на графики.

 

 

Класификация според начина на използване на езика

 

Процедурни (алгоритмични езици) програмни езици

Програмистът описва различните стъпки от процедурата, която компютърът трябва да следва, за да изпълни задачата.

Примери - Асемблер, Бейсик, Фортран, Паскал, Си и др.      

                                                 

Декларативни  програмни  езици

Дефинират се множество от факти и взаимоотношения, като се очакват определени резултати. Използването им е ограничено до експертни системи и справочни приложения за бази данни.

 Примери - Пролог, Лисп и др.

 

Езици, управлявани от събития

Програмен език, чрез който се създават програми чрез предизвикване на събитие. Такива програми пускат компютъра в безкраен цикъл, докато не се случи някакво събитие, по време на  което се обработва кода управляващ събитието. По този начин програмата директно реагира на събития предизвикани от потребителя, без да преминава през серия от диалози и менюта по строго определен начин.

Пример: Visual Basic

 

Класификация според начина на структуриране

 

Структурно програмиране  - набор от стандарти, които правят програмите по дълги, но улесняват четливостта, надеждността и поддръжката им. Поддържа се идеята,че цялата структура на програмата трябва да отразява логическата последователност на извършваните действия, започвайки с първата задача и продължавайки логически. За езици като  Си, Паскал, Модула 2 и dBase е присъщо  структурирането.

 

Модулно програмиране

Стил на програмиране ,който разбива програмните функции на модули, всеки от които изпълнява една функция и съдържа всички кодове и променливи за изпълнението на тази функция.

 

Обектно ориентиран език за програмиране

Непроцедурен език, в който програмните елементи са във вид на обекти, които могат да си предават съобщения един на друг. В една обектно ориентирана програма, всеки обект има свои собствени данни от програмен код и вътрешно разчита на себе си. Програмата прави обекта част от голямото цяло чрез обединяването му в йерархия от слоеве. Обектно ориентираното програмиране е първично разширение на концепцията за модулно програмиране.