yigal_s: (Default)
[personal profile] yigal_s
Свершенно мерзкое словечко const. Стоит только лишь наивно поверить, что константность лучше указывать, чем игнорировать, как код начинает пестрить этим словечком, что АхредуптусЪ русский дореволюционный буквой Ъ. А ежели где его и позабудешь - компилятор, ессно, тебя не поправит, "сойдет и так".

Между тем, совершенно понятно, что константность значения в приличном языке должна быть обеспечена по умолчанию, без всяких ключевых слов, а именно вариабельность и следует указывать.

Например,
char **a;
приличной реализации языка следует понимать как константный указатель на константный указатель на константный символ.

А, к примеру,

char var **a = getAddress();
**a = 'Ъ';


следует понимать как цепочку константых указателей на неконстантный символ (который мы, собственно, и собрались менять). И вот тут-то, если где словечко var будет позабыто, компилятор начнет ругаться практически наверняка.

Мало этого. Слово var по большому счету тоже излишне. Неконстантность значения есть, вообще говоря, преступление перед Разумом. В приличном языке оператор присваивания, меняющий значение, уместен не более, чем оператор goto. Что это за бред такой?! Вы где-то видели в математике (оперирующей символами сплошь и рядом) какой-то там "оператор присваивания"?! Оператор присваивания полностью запутывает программу, принуждая программиста отслеживать так называемые "изменения переменных" - это пострашнее отслеживания любых переходов с метки на метку. Язык Prolog же, к примеру, как и следовало ожидать, прекрасно обходится без оператора присваивания. Ибо нафиг не нужен.

Date: 2004-05-29 03:31 am (UTC)
From: [identity profile] oblomov-jerusal.livejournal.com
Вы жалуетесь на то, что C++ - не функциональный язык? А зачем вы тогда им пользуетесь? (Или я воспринимаю ваш текст слишком всерьез?)

Date: 2004-05-29 03:56 pm (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
Вам нужен язык для машины потоков данных VAL: http://www.bath.ac.uk/~cs2jmal/prog4/index.html

Date: 2007-03-29 03:39 pm (UTC)
From: [identity profile] thornik.livejournal.com
Нифига не понял. Речь напоминает прожжёного функциональщика, который уже и сам верит, что присваивание не нужно, хотя тысячи программистов это делают и даже как-то не задумываются, нужно ли его выкидывать.

У вас есть какое-то разумное объяснение, почему в программе переменные - вторичны, а константы - первичны?