Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Интегрированная среда разработки (ИСР) Lazarus




Классификация языков программирования

Машинный код процессора

Основы программирования

Процессор – это большая интегральная схема, содержащая миллионы компонент: триггеры для запоминания битов данных, вентили для выполнения операций. Для управления компонентами применяются управляющие сигналы, имеющие два уровня – низкий и высокий.

Множество управляющих сигналов можно связать с набором 0 и 1, которые можно интерпретировать, как число. Программа, с которой работает процессор, это последовательность чисел, называемая машинным кодом.

Машинные коды трудно воспринимаются человеком. Поэтому люди составляют программу на удобном для себя языке – языке высокого уровня. Программирование на естественном человеческом языке (метаязыке) может использоваться только на этапе составления алгоритма.

ЭВМ исполняет программу в машинных кодах. Автоматически перевести такую программу в машинный код нельзя из-за неоднозначности естественного языка.

Программа на языке программирования для выполнения требует преобразования в машинные коды. Эту операцию выполняют специальные программы – трансляторы.

Существуют два классических видов трансляторов: компилятор и интерпретатор.

Компилятор преобразует всю программу, написанную на языке высокого уровня в машинные коды.

Компилятор имеет ряд достоинств:

- транслированная программа может исполняться без компилятора,

- при трансляции может использоваться технология оптимизации,

- скорость работы компилированной программы в сотни раз выше, чем интерпретируемой.

Но компилятор имеет и свои недостатки, связанные с трудоемкостью программирования, сложностью тестирования и отладки, сложностью остановки программы.

Альтернативой компилятору служит интерпретатор.

Интерпретатор сразу выполняет команды языка, указанные в тексте программы. Команды транслируются и исполняются последовательно (поштучно) в процессе их ввода.

К достоинствам интерпретатора можно отнести:

- постоянный контроль среды программирования,

- удобства тестирования и отладки,

- легкость остановки программы.

Но и он не лишен недостатков: транслированная программа не может исполняться без интерпретатора, при трансляции не может автоматически использоваться оптимизация, скорость работы интерпретируемой программы в сотни раз ниже, чем компилируемой. Поэтому интерпретатор в основном используется в математических пакетах, предназначенных для решения сложных математических задач.

Несмотря на большое количество языков программирования их можно разделить на две большие группы:

- языки низкого уровня (машинно-ориентированные),

- языки высокого уровня (удобные для восприятия человеком).

В свою очередь языки высокого уровня бывают:

- процедурно-ориентированные. Содержат набор универсальных команд (Pascal);

- проблемно-ориентированные. Имеют команды узкого назначения (Mathcad);

- объектно-ориентированные. Программирование на уровне объектов (Delphi, С++);

- событийно-ориентированные. Программирование на уровне событий (С#);

- визуальные. Поддерживают визуальное программирование (Visual Basic);

- комплексные. Поддерживают многие из перечисленных свойств.

Следует различать пять поколений языков программирования:

1. Начало 1950-х годов. Язык Ассемблера. Его принцип "Одна инструкция – одна строка". Инструкция на языке однозначно соответствует машинному коду команды.

2. Начало 1950-х – конец 1960-х годов. Язык символического Ассемблера. В нем появилось понятие переменной.

3. 1960-е годы. Универсальные языки программирования.

4. С начала 1970-х годов до настоящего времени. Проблемно-ориентированные языки для создания проектов в узкой предметной области.

5. С середины 1990-х годов до настоящего времени. Языки с автоматизацией программирования, языки визуального программирования.

В таблице 1 и 2 соответственно приведен перечень языков низкого и высокого уровней.

Таблица 1. Языки низкого уровня

Язык Расшифровка
Assembler Ассемблер.
Macro Assembler Макро Ассемблер

Таблица 2. Языки высокого уровня

Язык Расшифровка Примечание
Fortran Formula Translator От слов - транслятор формул.
BASIC Beginner’s All-purpose Symbolic Instruction Code Многоцелевой мнемокод для начинающих, созданный в 1960-е годы.
Visual Basic Визуальный BASIC Язык 5-го поколения. Его версия – рабочий язык пакета Microsoft Office.
Cobol Common Business Oriented Language Язык для задач в экономике, бизнесе.
Algol Algorithmic Language   Язык создан для описания алгоритмов. Не получил широкого распространения.
Pascal   Универсальный язык, созданный в 1970-х годах. Один из часто применяемый на практике.
С   Язык для системного программирования, созданный в 1970-х годах компанией Bell.
С++   Объектно-ориентированное расширение С++. Создан в 1980 году Страуструпом.
С# С шарп Многоплатформенная версия языка С++. Современный язык программирования.
Java   Модификация С для Internet. В нем удалены низкоуровневые возможности языка С.

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 537; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.