Здравствуйте, eao197, Вы писали:
E>Речь идет не о оверхеде и не о том, насколько это тяжело в написании, а о том, что если разработчика заставлять явно писать игнорирование возвращаемого значения, то он это будет делать. Но, при инкрементальной разработке очень легко написать что-нибудь такое:
E>E>//FIXME: это значение нужно будет сохранить и использовать затем где-то там...
E>_ = Md5Hash.new.put( something )
E>
E>Естественно, что никто не подскажет разработчику, что здесь нужно внести изменения в код, когда станет понятным, где же потребуется использовать возвращаемое значение.
Ты путатешь одну вещь. Одно дело не писать вообще, а другое "очень легко написать что-нибудь такое". Написав, ты сделал
осознанное действие, не так ли?
E>Диалог идет о другом. Тема звучит "Почему у Nemerle нет будущего". Я не согласен с автором первого сообщения. Будущее у Nemerle, имхо, есть. Да только совсем не такое радужное, как это рисуется некоторыми горячими головами. И если у кого-то есть желание продвинуть Nemerle в массы, то вместо коллективной медитации "Nemerle крут!" лучше было бы вести объективный разговор о проблемах, с которыми столкнуться программисты взявшись за Nemerle.
Я бы даже сказал, что лучше не вести разговор aka трепаться, а реально что-то делать руками. Например, помочь немерлистам довести язык до релиза.
E>Gaperton здесь их озвучивал -- обилие макросов, не стабильность языка, отсутствие стандартов.
Позиция Гапертона, предлагающего запретить ядерное оружие в виде макросов, безусловно выглядит благородно. Мы все его поддерживаем, дружно хлопаем в ладоши и скандируем — "СКАЖЕМ НЕТ ЯДЕРНОМУ БЕЗУМИЮ"!
Лично я за запрещение любого оружия массового поражения, к которому, например, относится visitor pattern. Никогда не видел его разрушительную силу в действии? А я видел. Врагу не пожелаю. Так что нам теперь запретить использование паттернов совсем? А ведь макросы как раз и есть ни что иное как реализации паттернов. Если процедура — это реализация алгоритма, используюшего из контекста вызова только передаваемые параметры, то макросы, использующие контекст вызова на 100% — это уже полноценная реализация паттернов. Т.е. библиотека макросов — это всего лишь навсего библиотека паттернов. То, чего нам всем на сегодняшний день так не хватает.
В общем, я рассматриваю мощь макросов как мирный атом, а не как ядерное оружие. Ядерной бомбой макросы могут стать только там, где и без макросов проблем хватает. И лучше было бы начать решать именно эти проблемы, а не макросы запрещать и прикрываться ограниченностью человеческого мозга.
Что там у нас ещё было? Не стабильность языка и отсутствие стандартов?
С нестабильносью у нас всё хорошо. Язык пока находится в стадии разработки.
Что касается стандартов, то может ты мне покажешь стандарт на Руби, ПХП, Перл, Паскаль, Дельфи, Питон и прочие любымие тобой и другими программистами языки? Может мы вспомним стандарт C++ и востребованные жизнью расширения разработчиков компиляторов? Может стоит упомянуть, что комитет по стандартизации фактически загоняет своей стандартизацией C++ в могилу?
E>Поэтому, имхо, те, кто хочет использовать Nemerle в работе (именно в ответственных коммерческих проектах), должно существовать четкое понимание, что ситуация с Nemerle может оказаться похожей на C++: сложность освоения всех тонкостей языка и страшилки вроде Boost-а, в которых только гуру смогут разбираться.
Тебе уже не раз тут говорили, прежде чем судить о предмете и уж тем более пугать им на ночь детишек, следует хотя бы чуть чуть в этом предмете разобраться.