ТОП 10:

Вопрос №2 Характеристики языков программирования.



Классификация.

Выделяются три характеристики языков программирования:

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

Все языки программирования можно разделить на три основных типа, беря за основу критерий классификации – уровень языка.

1. Машинные языки. Это языки самого нижнего уровня. Считается, чем ближе к машине, тем ниже уровень языка. О них говорилось в рамках первого вопроса.

2. Языки ассемблера. Языки ассемблера также машинно-зависимы, поэтому мы говорим о языках, а не о языке. Языки ассемблера также считаются низкоуровневыми.

3. Языки высокого уровня. На языках высокого уровня программировать значительно проще – они максимально приближены к обычному языку (опять же, чаще всего – английскому), и используют привычные всем нам математические знаки (например, +, -,=, >,< и т.д.).

Естественно, что для языков высокого уровня требуются программы-переводчики кода, написанного на этом языке в машинный код – компиляторы или интерпретаторы.

Мощность языка.Мощность языка – характеризуется количеством и многообразием задач, алгоритмы решения которых можно записать, используя этот язык.

Взаимосвязь уровня языка и мощности выражается следующим: чем выше уровень языка, тем ниже его мощность и наоборот.

Ž Концептуальная целостность – характеризуется свойствами совокупности понятий, служащих для описания этого языка и включает три взаимосвязанных аспекта:

· Экономия понятий – язык должен достигать своей максимальной мощности минимальным количеством понятий.

· Ортогональность понятий – между понятиями не должно быть взаимного влияния. Если понятие используется в различных контекстах, то правило его использования должно быть одним и тем же.

К сожалению даже такие языки, как Pascal, допускают неортогональные конструкции. Например, пользователь может определить процедуры только с фиксированным числом параметров. Но некоторые стандартные процедуры (например, writeln())могут быть вызваны с переменным числом параметров.

· Единообразие понятий – требование согласованного единого подхода к описанию и использованию всех понятий.

Надежность – язык должен обеспечивать минимум ошибок при написании программ. Более того, язык должен быть таким, чтобы неправильные программы (программы с ошибками) было трудно писать.

 Удобочитаемость – легкость восприятия программы человеком. Эта характеристика особенно важна при коллективной работе, когда несколько человек работают с одним и тем же текстом программ.

Мобильность – независимость от аппаратных средств, обеспечивающая переносимость программного обеспечения.

Эффективность – обеспечение эффективной реализации, которая включает:

- эффективную реализацию компилятора;

- эффективную генерацию компилятором программного кода.

Это только некоторые свойства и характеристики. Насчитывается более 2570 различных возможностей и свойств, которые можно выделить в языках программирования.

 

 
 

Языки программирования высокого уровня.

Различают 3 категории языков высокого уровня (см. таблицу).

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

 

Основная задача классификации языков по принадлежности к семействам – проследить их родственные связи с целью выяснения их влияния друг на друга, следовательно, на характеристики и свойства языков.

В настоящее время сложилось довольно много классификаций языков программирования, самые известные из них:

1. Поддерживаемые методологии:

· Языки императивного программирования;

· Языки объектно-ориентрованного программирования;

· Языки функционального программирования;

· Языки логического программирования;

· Языки программирования в ограничениях.

2. Принадлежность к семействам:

  • Семейство универсальных языков(FORTRAN, Algol, Basic).Ориентированы на большой класс вычислительных задач.
  • Семейство уникальных языков. Cobol (обработка коммерческой информации), CLU, Postscript.
  • С-семейство языков (C++, C#, Java).
  • Pascal-семейство языков (Modula-2, ComponentPascal).
  • Ada-семейство языков и т.д.

3. Ориентация на предметные области:

· Языки форматирования текстов TeX (издательские системы, системы подготовки научных публикаций с большим колличеством формул).

· Языки разметки. Представляют собой набор правил и шаблонов для описания содержания, структуры и содержания любых электронных документов (XML – расширяемый язык разметки, HTML – язык разметки гипертекста, MathML – язык описания мат. формул).

· Языки создания графики. Подготовка визуальной графической информации (OpenJL).

· Языки описания виртуальной реальности. Создание 3D-изображений, т.н. виртуальных миров, в которых пользователь может перемещаться и взаимодействовать с объектами. Языки позволяют определять среду действия персонажей компьютерных игр.

4. Степень абстракции от аппаратуры.Языки низкого уровня, языки высокого уровня (Pascal, C, Ada), языки сверхвысокого уровня (Prolog, SETL, APL).

 

 







Последнее изменение этой страницы: 2016-08-12; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.51.69 (0.004 с.)