Форум
Философия программирования
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, PSV100, Вы писали: PSV>Здравствуйте, Курилка, Вы писали: К>>Здравствуйте, PSV100, Вы писали: PSV>>>Здравствуйте, os24ever, Вы писали: O>>>>▪ Отказались от ссылок в глобальной области видимости (Erlang, Scala — наконец-то!!) и т.д... PSV>>>Правда инструментарий не очень удобный для такого эффекта. В Erlang-е, всё-таки, народу не нравится одни и те же данные проталкивать через параметры функций - придумали обходной манёвр - словари процессов, что снижает визуальный эффект абсолютной идеальности. К>>Можно подробней про "народу не нравится"? Интересно былоб с примерами кода, мне вот даже не вспоминается проектов где словари процессов пользовались бы, тогда как "протягивание" состояния встречается практически везде в Эрланге. К>>И что, кстати, за визуальные эффекты? PSV>Здесь не критика Эрланга, как таковая. Речь о том, что если сейчас сделать абсолютно идеальный язык, где все данные передаются только через параметры функций, то это решение не удовлетворило бы всех потребностей у абсолютно всех пользователей языка/платформы. Как ни старайся, но будет необходимость в каких-то альтернативных механизмах, как те же словари процессов. Под "снижением визуального эффекта абсолютной идеальности" я имел в виду то, что такие словари процессов дают некие побочные эффекты, усложняют понимание кода, уменьшают "чистоту функций". Поэтому словари направо и налево и на каждый чих не используют. PSV>Кстати, тот же Хики в своей Кложуре (о нём ты недавно у меня спрашивал) тоже учёл этот момент. Он не стал запрещать "глобальные переменные", наоборот, развил этот механизм, добавив контролируемый доступ и возможность переопределения в зависимости от контекста, давая, таким образом, возможность иногда не проталкивать данные через функции. Подробнее можно глянуть [url=http://clojure.org/concurrent_programming]здесь[/url] (смотреть про Dynamic vars).
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …