Интернет магазин китайских планшетных компьютеров



Компьютеры - Сравнение языков программирования - Типизация

22 января 2011


Оглавление:
1. Сравнение языков программирования
2. Типизация
3. Компилятор/интерпретатор
4. Управление памятью
5. Управление потоком вычислений
6. Типы и структуры данных
7. Объектно-ориентированные возможности
8. Функциональные возможности
9. Разное
10. Стандартизация



Возможность Язык
Ada  C  C++ C#  D  Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic
Статическая типизация + + + + + + - + + + - + +/- + +/-
- - - + +/-
- + + + +
Динамическая типизация - - - -/+
- - + -/+ + - + -
+ - + + + + - + + +
-/+
- -
Явная типизация + + + + + + -/+
+ + + - + +/- + -/+
+/- +/-
- + +/-
- + + + +
Неявная типизация - - -/+ -/+ + - + + + - + + + + + + + + + + + + - + +
Неявное приведение типов без потери данных -/+
+ + + + + - - + - + - + + + + + +  ? + + + + - +
Неявное приведение типов с потерей данных - + + - + - - - - -  ? - -  ? +
+ - -  ? + + + + - -/+
Неявное приведение типов в неоднозначных ситуациях - + + + + - - - - - + - - + +
+ - -  ? - + + - - -/+
Алиасы типов + + + + + - x + - - x + + + x x x x  ?  ? x - + + -/+
Вывод типов переменных из инициализатора - - +/-
+ + - x + - - x + +/-
+ x x x x +  ? x + - + +
Вывод типов переменных из использования - - +/-
- - - x + - - x + +/-
+ x x x x  ?  ? x  ? - + +/-
Вывод типов-аргументов при вызове метода - - + + + + x + + + x + +/-
+ x x x x +  ? x + - +  ?
Вывод сигнатуры для локальных функций - - - -  ? - x + - - x + +/- + x  ? x x -  ? x  ? - +  ?
Параметрический полиморфизм - x - + + + x + + + - + + + x + x x +  ? x + - +  ?
Параметрический полиморфизм с ковариантностью - x - +/-
 ? + x + - - - x + +/-  ?  ? x x +  ? x - -  ?  ?
Параметрический полиморфизм высших порядков - x - - -  ? x - - - - + + - x  ? x x +  ? x - -  ?  ?
Информация о типах в runtime -/+
- -/+
+ + + + + + + -/+ - + + + + + + + + + + + - -
Информация о типах-параметрах в runtime - - -/+ +  ?  ? - + - - -/+ - + + +
+ +  ? -  ? - + + - -
Ada C C++ C# D Eiffel Erlang F# Groovy Java JavaScript Haskell Common Lisp Nemerle Perl PHP Python Ruby Scala Smalltalk Tcl VB.NET Delphi OCaml PureBasic


Просмотров: 8135


<<< Лексема (информатика)
Хронология языков программирования >>>