Сравнение Языков Программирования

Материал из eSyr's wiki.

Перейти к: навигация, поиск

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

ЯП из курса: C, C++, Java, C#, Pascal, Delphi, Оберон-2, Модула-2, Ада (83 и 95 стандарты)

Полезные ссылки:

Сравнение ЯП в википедии

Энциклопедия языков программирования

План (краткий, взят из методички Головина, подробный см. в самой методичке):

Содержание

Базисные типы данных в языках программирования: простые и составные типы данных, операции над ними

Массивы. Длина массива - статический или динамический атрибут.

Управление памятью (ручное или сборщик мусора, выделение памяти для объектов), указатели.

Операторный базис языков программирования. Управление последовательностью вычислений

Процедурные абстракции

Перегрузка операций

Ада 83, Ада 95, Си++, Java, Delphi, C#

Понятие «перегрузка» означает, что одному имени в одной области видимости может соответствовать несколько определений. В современных языках программирования перегружаться могут только имена подпрограмм, но не типов, переменных, модулей. Пример на языке Си++:

   class X {
   public:
       void f();
       void f (int)
   };
               
   X a;
   a.f(); // первая функция
   a.f(0); // вторая функция

Отличие перегрузки от замещения состоит во-первых, в том, что перегрузка обрабатывается статически (на этапе трансляции), в во-вторых, при замещении речь идет о разных областях видимости: базовый класс с объявлением виртуального метода (объемлющая область видимости) и производный класс с замещающим методом (вложенная область видимости).

Определение новых типов данных. Логические модули. Классы

Инкапсуляция и абстрактные типы данных

Модульность и раздельная трансляция

Исключительные ситуации и обработка ошибок

Исключения и блоки try {} catch {} finally {}. Семантика возобновления и семантика завершения.

Семантика возобновления: после обработки исключения управление может вернуться непосредственно в точку, где возникло исключение (варианты: на следующий оператор или на любой оператор из того же блока). Пример языка c семантикой возобновления: Visual Basic.

Семантика завершения: после возникновения исключения блок, в котором оно возникло, обязательно завершается. Обработка исключения происходит в блоках, вызвавших блок с исключением. Пример языка с семантикой завершения: Си++.

Наследование типов и классов

Динамический полиморфизм

Абстрактные классы и интерфейсы

Множественное наследование

Динамическая идентификация типа

Понятие о родовых объектах. Обобщенное программирование

Личные инструменты
Разделы