Здравствуйте, hi_octane, Вы писали:
_>Отличный пример — нехватило лишь одного уровня абстракции, и мы остались сразу без 3-х фич одна другой краше.
Абсолютно неверно. Вместо абстрактной погони за фичастостью, они сосредоточились на том, что реально надо сделать, в результате — оно работает и даже дало нехилый выхлоп при реализации следующей фичи из списка — linq.
А вот вам пример geek-way в мейнстриме — WPF. У них уже
нет времени ответить на вопрос, почему у них нет времени отвечать на сообщениях о багах, не то что их фиксить. А вот заставили бы их WPF с самого начала использовать в серьёзном проекте — такой ситуации бы не было.
_>Посмотри Эрик на то что всё перечисленное можно сделать имея развитое макропрограммирование, и мы бы получили и макропрограммирование и пример его крутости в виде реализации итераторов.
hi_octane, мейнстрим — это нифига не язык, это в первую очередь готовые библиотеки. Переиспользуемые. С прямой совместимостью. Во всех .Net-языках. С минимальным изучением собственно библиотек (у людей хватает своих проблем) и с минимальным влиянием на привычный способ написания кода.
Выставив публично макросы, Липперт и КО фактически потеряют контроль над развитем языка и вынуждены будут учитывать (повторюсь, мейнстрим — это поддержка) макросы из самых популярных фреймворков, вне зависимости от того, насколько эти макросы вливаются в общий стиль языка. Им придётся придумывать способ, как подружить макросы из разных библиотек, как расширять язык, как сообщать идиотам об их ошибках и как их исправлять, потому что виноват всегда будет МС. У МС них богатый опыт поддержки — почитайте
old new thing (
переводы).
Ну и зачем МС такое щастье надо?
Ребят, крутость — это круто, но поддержка — это ещё круче, но увы нифига не даёт выхлопа в виде пиара и требует _регулярной_ работы, вместо одноразового "сделал под настроение". Именно этим мейнстрим от гик-драйвен и отличается.