Здравствуйте, Sinclair, Вы писали:
Кэр>>С учетом того, что type provider решают задачу типизации нетипизированных данных, то это прямо удивительно, что они не решают проблему await/async. Хм...
S>Я не пытаюсь кого-то удивить.
S>Напомню ещё раз — вот вопрос:
S>S>Вполне возможно, что это решается через type providers о которых говорил Don Syme на PDC.
S>Это решение потенциально покрывает такой пласт проблем, что возникает большой вопрос — а зачем тогда нужны будут макросы.
S>Я отвечаю на этот вопрос. А не пытаюсь указать на какие-то недостатки в тайп провайдерах.
А ты давишь на то, что с помощью макросов надо дизайнить await/async.
В общем, я не знаю, сколько реально тратиться ресурсов на реализацию подобных концептов в компиляторе команды C#. Но я подозреваю, что на полировку концептов, анализ и дизайн синтаксиса с учетом обратной совместимости — уходит ресурсов поболе. Причем от самых крутых перцев до которых можно дотянуться. Тот же Эрик Мейер вполне себе ревьювит эти концепты и постоянно говорит с большими дядьками из команды C#, как все должно работать. Время тех людей, которые будут все это реализовывать в компиляторе — оно стоит резко поменьше.
Так что ожидать, что рядовой программист вдруг начнет дизайнить новые мега-языки и шарп останется далеко позади в клубах пыли — ну несколько наивно. Как-то по-другому идею продавать надо. Я этих новых языков задизайнеными рядовым Васей не вижу в других средах, где они могли бы появится. Точнее вижу. Тот же OCaml, тот же Хаскелл — но их присутствие массовым не назовешь никак.
Тот же Немерле несмотря на заверения, что ну теперь-то создать новый язык ну ваааааще просто — не принес новых концептов. Пока подбираются концепты из других языков и реализуются. Не видно пока, как Немерле бежит впереди шарпа. Где же power unleashed? Все эти фыркания, что мол type providers можно реализовать в Nemerle очень просто — они дорого не стоят. Для начала надо показать, кому Немерле нужен in the first place.
String format который делает захват локальных переменных — это прикольно. Но не более. Такими фишками новый язык не продать.
Кэр>>А языки теперь разрабатывает только Микрософт? Макросы и кастомный синтаксис далеко не Немерле придумал. Концепт давний и имеют большую историю быть непопулярным. Предлагаю в качестве упражнения по критическому мышлению подумать почему.
S>Ну, как сказать. Некоторые макросы (к примеру те, которые в препроцессоре C/C++) популярнее, скажем, чем linq и dynamic вместе взятые.
Спорно, но допустим. Как отсюда возьмется аудитория для Немерле? Ты пытаешься сказать, что препроцессорными директивами в плюсах какая-то видимая часть аудитории пытается создать новый язык?
S>Обсуждение проблемы совместимости синтаксисов я поскипал.
Ну собственно все остальное мне обсуждать особо неинтересно. Я не верю в какую-либо массовую аудиторию для Немерле, которая будет создать языки для решения прикладных задач. И я считаю, что даже если вдруг здесь попрет массовость, то сразу же попрут названные мной проблемы. И тут хоть вы хором, хоть по очереди можете меня уверять, что мол никаких проблем никогда с этим не будет — для меня ваши заверения вообще не аргумент. Надо посмотреть на практику. И нет я не буду тем, кто эту практику вдруг начнет реализовывать. Тренируйтесь вон
на кошках на романтиках.