Re[6]: А Вы хоть знаете что такое WITH?
От: WolfHound  
Дата: 20.10.04 12:46
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>А зачем вводить в язык оператор switch (или CASE) если его можно эмулировать с помощью цепочки if-else?

А в самом деле зачем? Если раз в год понадобится и на том спасибо. В прочем switch как и goto могут понадобиться при машинной кодогенерации. Например при генерации парсеров.

СГ>А зачем вводить в язык несколько циклов WHILE, REPEAT, FOR, LOOP если достаточно одного?

Вот я тоже не понимаю зачем? Мне for'а в С++ хватает за глаза. Ну иногда еще while использую. Но если бы его не было то я бы не растроился.

СГ>Это нужно для написания более оптимальных программ.

Чего чего??? Блин скажи это оптимизатору или в оберонах он отсутствует как класс? Ну если так тогда понятно.

СГ>В обероне WITH — это тот же самый CASE но только CASE — работает с перечислимыми типами, а WITH работает со внутренним тегом в котором зашифрована RTTI информация о динамическом типе полиморфной переменной. Теоретически (я не проверял) WITH должен работать быстрее чем цепочка dynamic_cast-ов, равно как swith теоретически должен работать быстрее цепочки if-else. Плюс к этому — большая структуризация текста программы.

Ты не кружи. Ты скажи на кой черт оно надо? У меня вобще ни разу жилания не возниколо воспользоваться подобной штукой.
В чем практический смысл этой конструкции? Я конечно понимаю что если конструкция есть то ее можно задействовать. Но водить в язык конструкции которые практически не востребованы...

Кстати объясни пожалуйста почему
  FOR i := 0 TO Self.p DO
    h.x := h.x + N[i] * Self.Pw[span - Self.p + 1].x;
    h.y := h.y + N[i] * Self.Pw[span - Self.p + 1].y; //тут точка с запятой нужна
    h.z := h.z + N[i] * Self.Pw[span - Self.p + 1].z  //А тут нет
  END;

В чем тайный смысл?
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.