Почему C# не Немерле
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.10.08 19:54
Оценка: 155 (8) +3 :))
Сразу три дисклаймера:
1) Ответа на сабж я не знаю
2) Прошу заранее извинить, если кому то покажется, что в письме слишком много "я". Если это невозможно — можно дальше просто не читать.
3) Спорить, особенно опускаясь до демагогии и просто хамства, мне совсем не хочется, и я буду стараться этого не делать. Единственная цель сего сообщения — рассказать о том, что я думаю по поводу сабжа тем, кому это действительно интересно знать.

Итак, по ходу обсуждения я увидел примерно две точки зрения, где следует искать ответ на сабжевый вопрос. Попытаюсь их сформулировать:
1) Ответ следует искать в личных особенностях Хейлсберга, а именно недостаточном образовании (он не знал что такое ФП), узком кругозоре (он не увидел Немерле и всю его перспективу), нежелании признавать свои ошибки, неумении делать по настоящему новое (они ни одного по настоящему нового языка не придумал), плохого восприятия нового (он только сейчас заговорил о МП).
2) На дизайн C# оказали влияние ряд факторов, как то: готовность "большого" комьюнити ака мейнстрима к восприятию изменений, необходимости считаться с наличием большого количества "индусов", принятие во внимания не только сугубо программистких задач, но и, к примеру, проблем организации проекта, поддержания стабильного качества огромных массивов кода, вопросов эволюции кода. Кроме того, немаловажным фактором является политическая и финансовая ситуация в МС в целом и в C# team в частности.
Как несложно понять — с очень высокой степенью вероятности не знают ответа на вопрос (обратить внимание на выделение, лопата там) сторонники обеих точек зрения. Потому что, совершенно точно, никто из них не является Хейлсбергом, не может залезть ему в голову, с очень высокой вероятностью не является близким его другом, и даже, боюсь, диплома психоаналитика склорее всего ни у кого нет. Точно так же, очень вряд ли кто то здесь присутствовал на большинстве совещаний, на которых предлагались нововведения и принимались решения о дизайне языка.
Как нетрудно догадаться, я придерживаюсь второго варианта. Почему? Нет, совсем не потому что я считаю Хейлсберга непогрешимым и являюсь его фанатом, как тут кое кто утверждает. Все намного проще. Если идти по первому варианту — а куда мы, собственно, придем? Ну то есть — вот мы тут доказали хотя бы для самих себя — да, Хейлсберг (далее, по списку). И что? Какие бенефиты мы в итоге получим? Мое извращенное воображение не может придумать ничего, кроме того, что это позволит себе польстить в стиле "вот насколько я круче самого Хейлсберга, жаль что мне не повезло так, как ему".
А вот хождение по второму пути мне кажется несколько более перспективным, потому что, основываясь на этих рассуждениях (и знания неких подробностей внутренней кухни, которые я получил путем злоупотребления своим статусом MVP и просто хорошего человека) можно попытаться спрогнозировать, куда поведет кривая (дорожка).
Ну, вроде бы все, что я хотел здесь сказать.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re: Почему C# не Немерле
От: Cyberax Марс  
Дата: 26.10.08 20:06
Оценка: +2 -1
Здравствуйте, AndrewVK, Вы писали:

AVK>Ну, вроде бы все, что я хотел здесь сказать.

Можно дополнить? Может быть ввести на некоторое время мораторий на Немерлевые темы как в своё время был мораторий на "украинские" темы?

А то уже надоело, честно говоря — все тут уже знают мнения всех и просто так их не изменят.
Sapienti sat!
Re: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 26.10.08 22:44
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

AVK>А вот хождение по второму пути мне кажется несколько более перспективным, потому что, основываясь на этих рассуждениях (и знания неких подробностей внутренней кухни, которые я получил путем злоупотребления своим статусом MVP и просто хорошего человека) можно попытаться спрогнозировать, куда поведет кривая (дорожка).

AVK>Ну, вроде бы все, что я хотел здесь сказать.

Очень хорошо. Но я бы ещё дополнил, что на C# неизбежно оказывает влияние маркетинговая политика MS. И тогда, ИМХО, вообще всё становится на свои места (интересно было бы посмотреть, как VladD2 будет клеймить маркетинг MS, в прочем, я ёрничаю). По существу, MS балансирует на грани между академичной компактностью языка, необходимостью удовлетворить перечисленным тобой выше в п.2 требованиям и его приемлемостью для "широких масс". Поэтому, кстати, C# не может стать ни Nemerle, ни Lisp-ом. А сам Хейлсберг в данном случае вполне подходящая фигура эдакого демократично настроенного верховного разработчика, в меру консервативного... Но по сути, его личные качества никакого отношения к характеру самого C# не должны иметь. Кстати, как и мнение Страуструпа не определяет решение комитета.

Говоря "маркетинговая политика", я вовсе не имею в виду какие-то негативные коннотации. Вполне понятно — индустрия вовлекла массу неквалифицированного персонала, на это нужно попытаться как-то отреагировать. Очень хорошо (и тут MS более чем можно понять), если этот самый персонал легко воспримет новый язык. В данном случае количество пользователей имеет значение в перспективе, пусть даже отдельные доли процента клянут C# на все лады. В конце концов, MS — здоровая дура, которой для выживания требуется уйма денег и как следствие — потребителей продукции. Тут можно ругаться, но интересы MS со счетов сбросить никак нельзя.

Из этого получается (попытаю счастья в ипостаси прогнозиста), что C# всегда будет представлять некий компромисс между плодами исследований в области языков, рыночным положением MS и представлением MS о "майнстриме". Надёжно определяемых факторов, имхо, тут немного. Известно, что:

— MS до какой-то степени договорилась с Sun, так что некоторое время C# и Java, скорее всего, будут похожи друг на друга. Во всяком случае, у них будут развиваться средства интероперабельности;

— Есть "некоторая истерика" по поводу финансового кризиса, это, вероятно, будет способствовать некоторому снижению цен на высококвалифицированный персонал (да! язык может быть относительно сложным);

— Телекоммуникационный сектор не остановится в своём развитии (здравствуйте, FP-шные наработки Ericsson! Веб-шняга находится где-то здесь же).

Дальше пока "мысль останавливается" (c).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Почему C# не Немерле
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.10.08 23:01
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Очень хорошо. Но я бы ещё дополнил, что на C# неизбежно оказывает влияние маркетинговая политика MS.


Так про политику я писал.

ГВ>интересно было бы посмотреть, как VladD2 будет клеймить маркетинг MS


Он уже, ЕМНИП, как то это делал, неинтересно.

ГВ>, в прочем, я ёрничаю). По существу, MS балансирует на грани между академичной компактностью языка, необходимостью удовлетворить перечисленным тобой выше в п.2 требованиям и его приемлемостью для "широких масс". Поэтому, кстати, C# не может стать ни Nemerle, ни Lisp-ом.


Ну, да.

ГВ> А сам Хейлсберг в данном случае вполне подходящая фигура эдакого демократично настроенного верховного разработчика, в меру консервативного... Но по сути, его личные качества никакого отношения к характеру самого C# не должны иметь.


Ну, в МС все таки личность имеет немаловажное значение. С другой стороны, ты прав. Не думаю что это страшный секрет, Хейлсберг далеко не вершитель судеб C#, и определяет он его будущее не единолично. Текущее состояние — баланс интересов довольно большого количества народа.

ГВ>Из этого получается (попытаю счастья в ипостаси прогнозиста), что C# всегда будет представлять некий компромисс между плодами исследований в области языков, рыночным положением MS и представлением MS о "майнстриме".


Ну, это очевидно. Интересна конкретика, а это уже сложнее.

ГВ>- MS до какой-то степени договорилась с Sun


Из того что я знаю — крайне сомнительно.

ГВ>, так что некоторое время C# и Java, скорее всего, будут похожи друг на друга. Во всяком случае, у них будут развиваться средства интероперабельности;


Ни МС, ни Сан таких средств не предоставляют. J# благополучно сдох, а со стороны Сана так ничего и не было. Веб-сервисы на интероперабильность тянут слабо. IKVM — независимая от обоих штука.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[3]: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 26.10.08 23:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ГВ>> А сам Хейлсберг в данном случае вполне подходящая фигура эдакого демократично настроенного верховного разработчика, в меру консервативного... Но по сути, его личные качества никакого отношения к характеру самого C# не должны иметь.


AVK>Ну, в МС все таки личность имеет немаловажное значение. С другой стороны, ты прав. Не думаю что это страшный секрет, Хейлсберг далеко не вершитель судеб C#, и определяет он его будущее не единолично. Текущее состояние — баланс интересов довольно большого количества народа.


Согласен. Тем смешнее выглядят рассуждения о том, какой Хейлсберг непутёвый.

ГВ>>Из этого получается (попытаю счастья в ипостаси прогнозиста), что C# всегда будет представлять некий компромисс между плодами исследований в области языков, рыночным положением MS и представлением MS о "майнстриме".

AVK>Ну, это очевидно. Интересна конкретика, а это уже сложнее.

В принципе, можно поиграться в аналитиков, кто ж нам запретит?

ГВ>>- MS до какой-то степени договорилась с Sun

AVK>Из того что я знаю — крайне сомнительно.
ГВ>>, так что некоторое время C# и Java, [...] у них будут развиваться средства интероперабельности;
AVK>Ни МС, ни Сан таких средств не предоставляют. J# благополучно сдох, а со стороны Сана так ничего и не было. Веб-сервисы на интероперабильность тянут слабо. IKVM — независимая от обоих штука.

Честно говоря, мне самому трудно однозначно судить. Я сейчас пользуюсь воспоминаниями о дискусси, кажется, двухлетней давности, что ли. Там муссировался договор MS и Sun относительно дружбы против IBM. Хрен его знает. Они могли и пересмотреть свои стратегии в виду финансовых катаклизмов. С другой стороны, IBM — это такая конструкция, которая намертво цепляет своих клиентов и, как я понимаю, оглядывается только на мнение своих подразделений. Иными словами, откусить занятый IBM сегмент корпоративного рынка по-прежнему имеет смысл. Но у MS нет приличного сервера БД, сравнимого с DB2, а у Sun — пользовательской аудитории. Так что, имхо, MS и Sun на роду написано стать заклятыми друзьями.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: Почему C# не Немерле
От: alexeiz  
Дата: 27.10.08 00:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ну, вроде бы все, что я хотел здесь сказать.


Отпевная вышла на славу.
Re[2]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.10.08 06:06
Оценка: 62 (10) +5
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Очень хорошо. Но я бы ещё дополнил, что на C# неизбежно оказывает влияние маркетинговая политика MS. И тогда, ИМХО, вообще всё становится на свои места (интересно было бы посмотреть, как VladD2 будет клеймить маркетинг MS, в прочем, я ёрничаю). По существу, MS балансирует на грани между академичной компактностью языка, необходимостью удовлетворить перечисленным тобой выше в п.2 требованиям и его приемлемостью для "широких масс". Поэтому, кстати, C# не может стать ни Nemerle, ни Lisp-ом. А сам Хейлсберг в данном случае вполне подходящая фигура эдакого демократично настроенного верховного разработчика, в меру консервативного... Но по сути, его личные качества никакого отношения к характеру самого C# не должны иметь. Кстати, как и мнение Страуструпа не определяет решение комитета.


Вот я хочу выразить свое полное согласие с этим подозрением. На мой некомпетентный взгляд, наличие маркетинга и есть то, что отличает продукцию Хейльсберга от творчества других народных коллективов.
Под маркетингом я здесь понимаю вовсе не подразумеваемое большинством "умение разрекламировать дерьмо как новый вид шокололада", а тот настоящий, хардкорный маркетинг, который связан с глубоким пониманием рынка, на который позиционируется продукт.

Простой пример: когда вышел первый шарп, было очень много воя по поводу отсутствия checked exceptions. Основные две версии произошедшего были "не смогли сделать как в яве" и "не знали, как это сделано в яве" оказались неверными. Оказывается, было проведено масштабное исследование практики применения checked exceptions, и только после этого было принято взвешенное решение. Вот это исследование я и отношу к хардкорному маркетингу.

Двигаясь далее, хотелось бы отметить, что один из основных критериев качества языка — это возможность строить на нём фреймворки.
Ну то есть я как бы считаю, что времена, когда мы "берем компилятор и пишем программу" безнадежно прошли. Мы, конечно, берем компилятор, но с ним мы обязательно берем как минимум набор библиотек, а в наше время еще и некоторый фреймворк, и стараемся минимизировать количество кода, специфичного для нашей задачи.

Вот на (не к ночи будь помянутом) дельфи была построена прекрасная среда и библиотека разработки определенного класса приложений. Без языка в том виде, как его придумал Хейльсберг, VCL была бы невозможна.

Проверкой и доказательством состоятельности шарпа и дотнета как платформы является не наличие конечных приложений, а наличие промежуточных решений — фреймворков. Вот, к примеру, совершенно неожиданным образом лямбды из третьего шарпа оказались полезны не только для типизированного доступа к сиквел серверу, но и для того, чтобы строить статически верифицируемые гиперссылки в MVC Framework.

Для доказательства состоятельности Nemerle как современного языка необходимо построить на нем некий фреймворк для построения приложений.
Раз макросы так сильны — значит, можно делать крутые вещи, так?
Пока что всё, что я поверхностно видел, сводилось к воспроизводству фич шарпа, либо каким-то локальным достижениям, не очень важным с точки зрения прикладного программиста. Что у нас там есть? String Templates? Не вполне убедительно. Особенно забавно наблюдать за топиками Breaking Changes, как только дело доходит до реального применения этого фреймворка.

Я не настаиваю на том, чтобы немедленно конкурировать с MVC Framework. (Просто он работает как раз в той области, в которой я совершенно случайно разбираюсь).
Давайте покажем какой-нибудь фреймворк для мегапараллелизма а-ля Erlang, или более удобный аналог BLToolkit, или фреймворк для построения WPF приложений, или еще для чего-нибудь такого, чтобы мировая общественность поняла: вот он, свет новых знаний.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Почему C# не Немерле
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.10.08 09:00
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Честно говоря, мне самому трудно однозначно судить. Я сейчас пользуюсь воспоминаниями о дискусси, кажется, двухлетней давности, что ли. Там муссировался договор MS и Sun относительно дружбы против IBM.


Это все красивые бумажки. Теоретически, они могут повлиять на распределение денег, но не на уровне отдельных фич языка. Максимум — это будет учитываться при определении судьбы целых проектов целиком. Короче, на уровне стратегии, а не тактики.

ГВ> Хрен его знает. Они могли и пересмотреть свои стратегии в виду финансовых катаклизмов.


Финансовые катаклизмы пока что МС не касаются почти никак.

ГВ> Но у MS нет приличного сервера БД, сравнимого с DB2


Это смотря что включать в понятие "приличный"
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[2]: Почему C# не Немерле
От: Воронков Василий Россия  
Дата: 27.10.08 13:05
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Очень хорошо. Но я бы ещё дополнил, что на C# неизбежно оказывает влияние маркетинговая политика MS. И тогда, ИМХО, вообще всё становится на свои места (интересно было бы посмотреть, как VladD2 будет клеймить маркетинг MS, в прочем, я ёрничаю). По существу, MS балансирует на грани между академичной компактностью языка, необходимостью удовлетворить перечисленным тобой выше в п.2 требованиям и его приемлемостью для "широких масс".


Вот это действительно очень точная характеристика происходящего. На самом деле MS нужен относительно простой, скажем так, бизнес-ориентированный язык, прекрасно подходящий для решения mainstream-задач (в роли к-го даже вполне мог бы выступать C# 1.0) и другой язык, несколько более "академический". А существующее разделение между языками не очень понятно. Вроде бы собирались в роли академического сделать C++/CLI — но во-первых он явно несет на себе пережитки еще черт знает какой эпохи, независимо от того с каким ключами его компилируешь, да и в качестве площадки для "прогрессивных" фич платформа старого С++ как-то не особо подходит. Бейсик как более мейнстрим — по кр. мере именно так они его хотят показать — на самом деле не так сильно от C# отличается-то.
По большому счету им нужен C# и какой-нибудь С#++. Может, они в конце концов и придут к этому. И кстати я не удивляюсь, если MS даже в конце концов купит Немереле
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[3]: Почему C# не Немерле
От: FR  
Дата: 27.10.08 13:15
Оценка: +4
Здравствуйте, Воронков Василий, Вы писали:

ВВ>По большому счету им нужен C# и какой-нибудь С#++. Может, они в конце концов и придут к этому. И кстати я не удивляюсь, если MS даже в конце концов купит Немереле


У них уже появился такой — F#
Re[4]: Почему C# не Немерле
От: Воронков Василий Россия  
Дата: 27.10.08 13:20
Оценка: -2
Здравствуйте, FR, Вы писали:

ВВ>>По большому счету им нужен C# и какой-нибудь С#++. Может, они в конце концов и придут к этому. И кстати я не удивляюсь, если MS даже в конце концов купит Немереле

FR>У них уже появился такой — F#

Честно, не воспроизведу хронологию, но лично я про F# услышал значительно раньше чем про Немерле. Так что "уже появился" несколько неправильный термин
К тому же F# чисто функциональный язык. И с момента появления не было замечено попыток хотя бы просто добавить его поддержку в IDE.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[5]: Почему C# не Немерле
От: FR  
Дата: 27.10.08 13:37
Оценка: 1 (1)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Честно, не воспроизведу хронологию, но лично я про F# услышал значительно раньше чем про Немерле. Так что "уже появился" несколько неправильный термин


Уже появился, в том смысле что ms его официально выбрало.

ВВ>К тому же F# чисто функциональный язык. И с момента появления не было замечено попыток хотя бы просто добавить его поддержку в IDE.


F# как и его предок Ocaml гибридные языки, и на них можно без проблем писать и чисто императивно.
В следующую студию обещают добавить как официальный язык, а интеграция и сейчас доступна.
Re[6]: Почему C# не Немерле
От: Воронков Василий Россия  
Дата: 27.10.08 13:41
Оценка:
Здравствуйте, FR, Вы писали:

FR>F# как и его предок Ocaml гибридные языки, и на них можно без проблем писать и чисто императивно.


Возможно, я не очень хорошо себе представляю возможности F#, но мне почему-то кажется, что он не сможет заменить ни Немерле, ни C#
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[7]: Почему C# не Немерле
От: FR  
Дата: 27.10.08 13:47
Оценка: 1 (1)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Возможно, я не очень хорошо себе представляю возможности F#, но мне почему-то кажется, что он не сможет заменить ни Немерле, ни C#


На Ocaml можно писать как на си или паскале:

let sum n = 
    let s = ref 0 and i = ref 0 in 
    while !i < n do
        s := !s + !i;
        i := !i + 1;
        done;
    !s;;


На F# тоже, и они оба C# уж точно заменят и будут намного выразительнее.
С Немерле F# по выразительности (исключая макросы) примерно на одном уровне.
Re[5]: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 27.10.08 15:24
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ГВ>>Честно говоря, мне самому трудно однозначно судить. Я сейчас пользуюсь воспоминаниями о дискусси, кажется, двухлетней давности, что ли. Там муссировался договор MS и Sun относительно дружбы против IBM.


AVK>Это все красивые бумажки. Теоретически, они могут повлиять на распределение денег, но не на уровне отдельных фич языка. Максимум — это будет учитываться при определении судьбы целых проектов целиком. Короче, на уровне стратегии, а не тактики.


Согласен. Но тактика, так или иначе подчиняется стратегии.

ГВ>> Хрен его знает. Они могли и пересмотреть свои стратегии в виду финансовых катаклизмов.

AVK>Финансовые катаклизмы пока что МС не касаются почти никак.

Зато они касаются её клиентов. А это, скорее всего, скажется на апгрейдах. MS сейчас, по идее, может только на обновления и новые предприятия уповать, которые создают свою IT-структуру с чистого листа.

ГВ>> Но у MS нет приличного сервера БД, сравнимого с DB2

AVK>Это смотря что включать в понятие "приличный"

Такой, который бы уверенно конкурировал с DB2 на больших массивах.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 28.10.08 05:21
Оценка: 25 (1)
Здравствуйте, Sinclair, Вы писали:

S>Простой пример: когда вышел первый шарп, было очень много воя по поводу отсутствия checked exceptions. Основные две версии произошедшего были "не смогли сделать как в яве" и "не знали, как это сделано в яве" оказались неверными. Оказывается, было проведено масштабное исследование практики применения checked exceptions, и только после этого было принято взвешенное решение. Вот это исследование я и отношу к хардкорному маркетингу.


Согласен. ИМХО, как раз таким хардкорным маркетингом и обусловлена последовательность введения фич в C#. Продолжая это имхо хочу сказать, что кажется, будто сейчас MS снова нащупывает дальнейший путь развития. Если в случае C# 1.0/2.0 дорога была уже протоптана явой и C++, то сейчас, по-моему, они пытаются накрыть пространство задач телекома. Во всяком случае, под такое предположение подходит и появление WCF, и поддержка функционального стиля. Тогда, по идее, следующий большой шаг должен быть где-то в области параллелизма.

S>Двигаясь далее, хотелось бы отметить, что один из основных критериев качества языка — это возможность строить на нём фреймворки.


Вот тут, мне кажется, ты ошибаешься. Фреймворк можно построить на любом языке кроме самых специфичных.

P.S.: Если говорить о макросах, подобных Lisp-овым, то, как мне кажется, в широкое употребление их вряд ли введут. Инструмент, спору нет, мощный, но будь я тем, кто планирует продукт для пресловутых "индусов" — не рискнул бы такое разрешать. Хорошо, конечно, завоевать симпатии гиков, но весовые соотношения потерянной и приобретённой аудиторий сильно отличаются — приобретение не равно потере: масса "индусов" сбежит на более простые языки, которые будут не так сильно склонять к сюрпризам. А когда язык расширяется медленно, плавно и с помощью едва ли не косметических изменений, то можно добиться, в общем-то, много: прежде всего, стабильного community, наработки определённых паттернов использования, короче говоря — стабильности в широком смысле этого слова.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Почему C# не Немерле
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.10.08 09:07
Оценка: +1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>то сейчас, по-моему, они пытаются накрыть пространство задач телекома. Во всяком случае, под такое предположение подходит и появление WCF, и поддержка функционального стиля.


ИМХО тут ты не прав. ИМХО же, из-за того, что незнаком с подлобностями. ФП нарисовался на волне LINQ, а WCF ... Он закладывался в 2003 году и на фоне оглушительного пука WS и сырого состояния ремоутинга создание нового RPC фреймворка выглядело абсолютно логичным шагом.
А если вспомнить, что был еще и WPF, то, думаю, стратегия была очень простой — закрыть очевидные и самые болезненные дырки.

ГВ> Тогда, по идее, следующий большой шаг должен быть где-то в области параллелизма.


Это очевидно. И подтверждается как публичными заявлениями МС, так и ее действиями. К примеру, в состав штатной библиотеки .NET 4 включена библиотечка ParallelFX.
Проблема тут только в одном — я пока не видел достаточно интересного способа решить эту задачку качественно, и PFX не исключение. Хотя, безусловно, набор основных мультипоточных примитивов (то, что внутре CDS) должен быть в составе платформы обязательно.

ГВ>Вот тут, мне кажется, ты ошибаешься. Фреймворк можно построить на любом языке кроме самых специфичных.


Я дума, Синклер имел ввиду немножко другое. Хейлсберг проектировал язык с учетом создания фреймворка. Т.е., к примеру, published в Дельфи был введен исключительно для поддержки дизайн-тайма. В шарпе сознательно убраны все фичи, из-за которых тяжело было бы реализовать автоматический рефакторинг и прочие инструменты манипуляции с кодом. И т.д. В академических кругах такое, мягко говоря, не принято.

ГВ>Инструмент, спору нет, мощный, но будь я тем, кто планирует продукт для пресловутых "индусов" — не рискнул бы такое разрешать. Хорошо, конечно, завоевать симпатии гиков, но весовые соотношения потерянной и приобретённой аудиторий сильно отличаются — приобретение не равно потере: масса "индусов" сбежит на более простые языки, которые будут не так сильно склонять к сюрпризам. А когда язык расширяется медленно, плавно и с помощью едва ли не косметических изменений, то можно добиться, в общем-то, много: прежде всего, стабильного community, наработки определённых паттернов использования, короче говоря — стабильности в широком смысле этого слова.


+1
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[5]: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 28.10.08 11:04
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ГВ>>то сейчас, по-моему, они пытаются накрыть пространство задач телекома. Во всяком случае, под такое предположение подходит и появление WCF, и поддержка функционального стиля.


AVK>А если вспомнить, что был еще и WPF, то, думаю, стратегия была очень простой — закрыть очевидные и самые болезненные дырки.


Ну не совсем. Тут я в курсе более или менее. Может быть, несколько перегнул сейчас с теорией заговора, то есть — стратегического маркетинга.

ГВ>> Тогда, по идее, следующий большой шаг должен быть где-то в области параллелизма.


AVK>Это очевидно. И подтверждается как публичными заявлениями МС, так и ее действиями. К примеру, в состав штатной библиотеки .NET 4 включена библиотечка ParallelFX.

AVK>Проблема тут только в одном — я пока не видел достаточно интересного способа решить эту задачку качественно, и PFX не исключение. Хотя, безусловно, набор основных мультипоточных примитивов (то, что внутре CDS) должен быть в составе платформы обязательно.

Это, как раз, интересно. Пока получается, что им чуть ли не CLR придётся основательно переколпачить.

[...]

С остальным согласен.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: Почему C# не Немерле
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.10.08 11:56
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Это, как раз, интересно. Пока получается, что им чуть ли не CLR придётся основательно переколпачить.


Может и придется. Но пока даже неясно, в каком направлении надо колпачить.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[3]: Почему C# не Немерле
От: Гест Украина https://zverok.github.io
Дата: 02.11.08 21:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Проверкой и доказательством состоятельности шарпа и дотнета как платформы является не наличие конечных приложений, а наличие промежуточных решений — фреймворков. Вот, к примеру, совершенно неожиданным образом лямбды из третьего шарпа оказались полезны не только для типизированного доступа к сиквел серверу, но и для того, чтобы строить статически верифицируемые гиперссылки в MVC Framework.


Весьма мудрое замечание (это как мнение рубиста, не любящего, неиспользущего и не слишком знающего RoR, но не могущего отрицать его значение в пропагации языка).
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.