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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вопрос №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; просмотров: 196; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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