Re[4]: Про мертвые языки программирования
От: PSV100  
Дата: 24.04.12 13:59
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Здравствуйте, PSV100, Вы писали:


PSV>>Здравствуйте, os24ever, Вы писали:


O>>>▪ Отказались от ссылок в глобальной области видимости (Erlang, Scala — наконец-то!!) и т.д...


PSV>>Правда инструментарий не очень удобный для такого эффекта. В Erlang-е, всё-таки, народу не нравится одни и те же данные проталкивать через параметры функций — придумали обходной манёвр — словари процессов, что снижает визуальный эффект абсолютной идеальности.


К>Можно подробней про "народу не нравится"? Интересно былоб с примерами кода, мне вот даже не вспоминается проектов где словари процессов пользовались бы, тогда как "протягивание" состояния встречается практически везде в Эрланге.

К>И что, кстати, за визуальные эффекты?

Здесь не критика Эрланга, как таковая. Речь о том, что если сейчас сделать абсолютно идеальный язык, где все данные передаются только через параметры функций, то это решение не удовлетворило бы всех потребностей у абсолютно всех пользователей языка/платформы. Как ни старайся, но будет необходимость в каких-то альтернативных механизмах, как те же словари процессов. Под "снижением визуального эффекта абсолютной идеальности" я имел в виду то, что такие словари процессов дают некие побочные эффекты, усложняют понимание кода, уменьшают "чистоту функций". Поэтому словари направо и налево и на каждый чих не используют.

Кстати, тот же Хики в своей Кложуре (о нём ты недавно у меня спрашивал) тоже учёл этот момент. Он не стал запрещать "глобальные переменные", наоборот, развил этот механизм, добавив контролируемый доступ и возможность переопределения в зависимости от контекста, давая, таким образом, возможность иногда не проталкивать данные через функции. Подробнее можно глянуть здесь (смотреть про Dynamic vars).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.