Статистика: Добавлено Vapaamies — 02.09.2013 02:31:26
В своём исследовании я обратил внимание на доводы сторонников динамической типизации, которые считают, что статическая типизация не нужна для выявления ошибок.
Суть их рассуждений в следующем:
- Статической типизации недостаточно для выявления багов, поэтому необходимы модульные тесты;
- Статическая типизация становится лишней, так как у вас есть тесты;
- Из-за статической типизации некоторые корректные программы могут выдавать предупреждения на стадии компиляции.
Несмотря на то, что я много раз слышал эти утверждения, я не мог найти им подтверждение. Поэтому я решил выяснить: действительно ли модульные тесты помогают устранить ошибки типизации. Также меня интересовал еще один вопрос: как часто разработчики используют конструкции языков с динамической типизацией, которые невозможно выразить в языках со статической.
Статистика: Добавлено ev — 01.09.2013 15:03:37
Статистика: Добавлено Максим — 17.05.2010 01:21:10
Статистика: Добавлено alexrayne — 16.05.2010 22:34:12
Код:
type
tWidth = type longint;
tHeight = type longint;
var
w : tWidth;
h : tHeight;
begin
w := 5;
h := 6;
w := h; // даёшь ошибку компиляции в таких случаях
end.Статистика: Добавлено runewalsh — 16.05.2010 20:37:53
Статистика: Добавлено Дож — 08.04.2010 18:06:21
Статистика: Добавлено kovinik — 07.04.2010 15:32:33
Статистика: Добавлено AbakAngelSoft — 02.02.2010 09:33:38
Статистика: Добавлено Дож — 01.02.2010 20:12:38
Статистика: Добавлено Дож — 01.02.2010 13:45:48
Статистика: Добавлено Sergei I. Gorelkin — 13.10.2009 17:20:13
Статистика: Добавлено Max Rusov — 13.10.2009 16:01:51
Статистика: Добавлено AbakAngelSoft — 13.10.2009 13:37:44
Статистика: Добавлено shade — 01.02.2009 21:18:34
Статистика: Добавлено Vadim — 22.01.2009 16:32:40
Статистика: Добавлено utkin — 22.01.2009 15:36:49
perlpunk писал(а):Хоть один пример, где это может пригодится?
utkin писал(а):Еще пример, вывод даты на экран (я имею ввиду стандартные средства). Еще пример, Boolean и Integer. На самом деле примеров много. Возьмите свою собственную программу с большим числом строк и посмотрите, сколько раз проводилось явное преобразование типов. Почему программист должен обращать на это внимание? Для самоконтроля? Часть таких операций можно автоматизировать.
Статистика: Добавлено perlpunk — 22.01.2009 14:15:30
Если по алгоритму - это не обязательный процес - зачем вы это делаете?
Статистика: Добавлено utkin — 22.01.2009 08:54:53
Статистика: Добавлено Vadim — 22.01.2009 06:11:51
Нет, человек просто не совсем ясно выразил свою мысль. Тип на самом деле один - тип без типа. Или "один главный тип". А всё остальное - образовано от него.
Статистика: Добавлено perlpunk — 22.01.2009 00:11:25
Статистика: Добавлено alexs — 21.01.2009 21:48:11
Статистика: Добавлено Vadim — 21.01.2009 14:04:11
Нет, человек просто не совсем ясно выразил свою мысль. Тип на самом деле один - тип без типа. Или "один главный тип". А всё остальное - образовано от него.
Типы придуманны специально для удобства - контроль ошибок так легче получается. Самодисциплина чистой воды. А вы с этим боретесь - как будто это зло.
Статистика: Добавлено utkin — 21.01.2009 13:53:45
Статистика: Добавлено Vadim — 20.01.2009 04:57:13
Статистика: Добавлено perlpunk — 20.01.2009 02:35:56
perlpunk писал(а):Тип является объектом? Это типа Variant чтоли?
Статистика: Добавлено Vadim — 19.01.2009 22:55:16