Наверное, многие уже слышали про сабжевую новость (слэшдот, например, писал). Интересней рассмотреть вопрос — изменит ли вот это некоторе движение МС в сторону открытого код что-нибудь помимо доли разработчиков использующих дотнет?
Здравствуйте, Курилка, Вы писали:
К>Наверное, многие уже слышали про сабжевую новость (слэшдот, например, писал). Интересней рассмотреть вопрос — изменит ли вот это некоторе движение МС в сторону открытого код что-нибудь помимо доли разработчиков использующих дотнет?
Я так полагаю, это запоздалый ответ гугловскому андроиду — чтобы хоть что-то отхватить от лакомового куска развивающегося рынка мобильных платформ. Думаю, это была вынужденная мера, а вовсе не забота МС об оперсорсе.
Аbout 70 classes with about 420 methods... Due to the constraints under which it operates, the .NET Micro Framework does have some limitations beyond those imposed by its slimmed-down libraries. For example, the platform does not support symmetric multiprocessing, multi-dimensional arrays, machine-dependent types, or unsafe instructions. The CLR is an interpreter rather than a just-in-time compiler, and uses a simpler mark-and-sweep garbage collector rather than a generational approach. Interoperation between managed and native code currently has a number of limitations. The .NET Micro Framework does not support any .NET languages other than C# at this time.
Вот только что они выпустили бету 4.0 где наконец-то добавили поддержку HTTP и XML — но, полагаю, до уровня релиза там ещё пилить и пилить.
Так что разработчики получают очень мало — обрезанный WPF, сильно покоцаный C# — да ещё и в виде интерпретатора.
Вывод: это — банальная PR-акция от МС. Шуму вокруг больше, чем пользы от неё.
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Здравствуйте, midcyber, Вы писали: M>Ну я думаю, не ты один так прочитал. M>Ты же сначала думал, что они что-то важное открыли, не?
Не, я, собственно, в эту тему про эрланг с хаскелем поговорить пришел.
Здравствуйте, vshabanov, Вы писали:
V>А самое смешное с этим дотнетом то, что нормальные языки он не поддерживает. Т.е. идея о том, что всякие разные языки могут использовать общую библиотеку работает не со всеми языками.
А разве где-то заявлялось что дотнет смогут использовать ВСЕ языки? Уверен, речь шла только о языках на дотнет платформе.
Здравствуйте, Gollum, Вы писали:
G>Интересно было бы услышать о:
V>>Притом, что дотнет мягко говоря не самая лучшая платформа для разработки приложений.
G>А какая самая лучшая?
А лучше без платформы. Собираешь наиболее подходящие для тебя библиотеки, а не зажимаешься в выданном свыше.
V>> Т.к. среди кучи языков удобных мало,
G>Удобных для кого/чего? Какие языки удобны?
Для программистов/разработки приложений. Удобны хаскелл/окемл/эрланг, некоторым лисп/питон/руби. Возможно, если есть все готовое, и надо плотно взаимодействовать с МС-продуктами, то можно и что-то из дотнета (но как только дойдем до хоть какой-то логики, не реализованной библиотеками/компонентами -- а это бывает почти всегда, сразу станет неудобно).
V>> а библиотеки низкоуровневые.
G>WPF, WF, WCF, Dynamic Data, etc — низкоуровневые? А какие тогда высокоуровневые?
Посмотрел мельком. Это же тотальный ахтунг. Переусложнение во всем. wpf -- см tcl/tk, wf -- фигачишь dsl и не паришься, wcf -- см эрланг, Dynamic Data -- судя по примерам тот еще монстр, и без IDE с ним наверное не справиться (а без IDE он похож на php, хотя не разбирался), посмотри на ur и всякие web фреймворки для того же эрланга
Здравствуйте, Курилка, Вы писали:
К>Наверное, многие уже слышали про сабжевую новость
Ну открывают, и что?
Перед этим был платный, сделали бесплатным.
Наверное, не пользуется популярностью, этот Micro Framework
(кстати, он такой же .NET, как J2ME — Java
P.S. Кстати, тут есть спецы по нему?
Хотел портировать на Lego Mindstorms, только кажется, что по памяти не влезает, даже если сеть выкинуть.
Здравствуйте, Курилка, Вы писали:
К>Наверное, многие уже слышали про сабжевую новость (слэшдот, например, писал). Интересней рассмотреть вопрос — изменит ли вот это некоторе движение МС в сторону открытого код что-нибудь помимо доли разработчиков использующих дотнет?
Это должно облегчить жизнь разработчикам — иногда полезно подебажится сквозь кишки рантайма виртуальной машины. Может иногда грязный воркэраунд сделать.
А движения в сторону открытого кода тут ИМХО нет. От того, что МС опубликовала исходные коды фреймворка, .NET не станет открытой технологией. Контроль за её развитием по-прежнему отсается за МС, что никак не способствует привлечению энтузиастов. МС всё равно не поддержит ни одно изменение, которое будет противоречить её интересам. Форкнуть фреймворк тоже не получится — кому нужен форк, на котором не будут работать приложения от МС? В своё время Борланд тоже раздавал исходники своей VCL, но никто же не называл её опенсорсной библиотекой.
Здравствуйте, vshabanov, Вы писали:
V>>>Посмотрел мельком. Это же тотальный ахтунг. Переусложнение во всем. V>>>wpf -- см tcl/tk, V>>>wf -- фигачишь dsl и не паришься, V>>>wcf -- см эрланг, F>> Твои примеры — едва ли аналогичны. Tcl/tk — это вообще смешно сравнивать. Как говаривал тут один участник — фтопку (c) V>Сравни создание GUI на WPF и Tk. Где проще?
За всю страну не скажу, но мне будет проще на любом отличном от tcl/tk. Хотя кто-то возможно его умеет удобно готовить.
Просто твои аппеляции WPF <> Tcl/Tk, WCF <> Erlang и т.п. не сравнимы. Стоит подробнее курить любую из названных крутых аббревиатур.
Да и выражения "фигачишь dsl и не паришься" не совсем отражают действительность. Это так можно про всё сказать, фигачишь и не паришься, а на деле, кроме того, что собственно нужно фигачить, нужно решить, что, чем, где, и как фигачить, и при этом, увы, но паришься! А после того как предшественники "нафигачили" непарясь — вдвойне паришься.
Так что спасибо, но лучше курить мануалы по "низкоуровневым" технологиям, и не парить окружающих.
Здравствуйте, Курилка, Вы писали:
К>Наверное, многие уже слышали про сабжевую новость (слэшдот, например, писал). Интересней рассмотреть вопрос — изменит ли вот это некоторе движение МС в сторону открытого код что-нибудь помимо доли разработчиков использующих дотнет?
Насколько я знаком с МС-подходом к ПО -- они всегда делают свои API так, чтобы их было практически невозможно использовать нигде, кроме как в продуктах от МС. И даже если они что-то опенсорсят, то только для того, чтобы заманить побольше народу, а когда народ опухнет от глюков и тормозов опенсорсных МС-технологий, то ему придется перейти под коммерческие тулы.
Может конечно что-то поменялось за те несколько лет, что я не пользуюсь продуктами от МС, но как-то сильно сомневаюсь, что эти ребята будут делать что-то, что им невыгодно. Так что opensource от МС, это такой "особый МС-овский опенсорс" )
А самое смешное с этим дотнетом то, что нормальные языки он не поддерживает. Т.е. идея о том, что всякие разные языки могут использовать общую библиотеку работает не со всеми языками.
приятная новость. Очень хочется надеяться, что эта тенденция сохранится и в будущем мы будем видеть львиную долю софта в opensource, пусть хоть в dual license — GPL/Commercial.
В общем, похоже, Microsoft поняла, что опенсорс и проприетарные технологии должны дружить и идти бок о бок, войны где бы то ни было не продуктивны.
Здравствуйте, samius, Вы писали:
V>>А самое смешное с этим дотнетом то, что нормальные языки он не поддерживает. Т.е. идея о том, что всякие разные языки могут использовать общую библиотеку работает не со всеми языками.
S>А разве где-то заявлялось что дотнет смогут использовать ВСЕ языки? Уверен, речь шла только о языках на дотнет платформе.
Речь шла о том, что вот мол платформа (сиречь библиотеки), а вот виртуальная машина, теперь можно быстро наклепать поверх реализацию любого языка, не сильно заморачиваясь с компиляцией, да еще и получить простой интерфейс к куче библиотек от МС (типично МС-овский подход, кстати: любой язык, но на нашей платформе). Оказалось только, что под эту платформу/VM можно переводить далеко не любые языки. Более того, языки дающие наибольшую производительность труда программиста переводить сложнее всего -- слишком низок уровень донетовской платформы.
Т.е. рекламируемый смысл дотнета "фигачьте компилер вашего любимого языка под нашу платформу и получайте язык+библиотеки=профит", стоит переделать как "привяжитесь к МС навсегда", а языки -- это так замануха.
Здравствуйте, vshabanov, Вы писали: V>Оказалось только, что под эту платформу/VM можно переводить далеко не любые языки.
А каких языков не хватает?
Или ты сейчас рассуждаешь как автор реализации некоего языка и столкнулся при этом с серьезными проблемами?
Здравствуйте, Mr.Cat, Вы писали:
V>>Оказалось только, что под эту платформу/VM можно переводить далеко не любые языки. MC>А каких языков не хватает?
А то ты не знаешь )
MC>Или ты сейчас рассуждаешь как автор реализации некоего языка и столкнулся при этом с серьезными проблемами?
Опять же тот же Хаскелл переводить под дотнет гемор, когда SPJ в Москве был, у него спрашивали про хаскел под дотнетом, он сказал "очень сложно связать системы типов хаскелла и дотнета, если очень надо пользуйтесь F#". Эрланг под дотнет -- кроме смеха вообще ничего не вызывает.
Т.е. идея общей платформы для разных языков -- она, кхем, бредовая.
Здравствуйте, Lexxpin, Вы писали:
L>>>Какой язык не получилось перенести на .NET?
V>>Хаскелл, окемл, эрланг.
L>5 мин гугления — чем не эрланг?
Пока это incubation project. Shared state, монструозный java-like синтаксис, ОО, похоже даже pattern matching-а нет, вывод типов ограничен. В общем мало того, что сырой, да еще и похоже без шансов, что из этого что-либо полезное вырастет.
Здравствуйте, vshabanov, Вы писали: V>F# как язык будет пожалуй даже слабее окемла. Плюс в нем есть null со всеми вытекающими. Но, как я понимаю, ничего лучше пока под дотнет нету.
Вроде что то сказал, а инфы ноль. Можно подробнее со ссылками
1) чем слабее?
2) чем плох null?
3) чего не хватает для того, чтобы сделать язык лучше?
ЗЫ. Выходит, все-таки можно под .нет реализовать необходимые языки?
Здравствуйте, vshabanov, Вы писали:
V>Пока это incubation project. Shared state, монструозный java-like синтаксис, ОО, похоже даже pattern matching-а нет, вывод типов ограничен. В общем мало того, что сырой, да еще и похоже без шансов, что из этого что-либо полезное вырастет.
Ну если выделить финансирование, то все-таки можно реализовать не хуже эрланг?
Здравствуйте, vshabanov, Вы писали: V>Опять же тот же Хаскелл переводить под дотнет гемор ... "очень сложно связать системы типов хаскелла и дотнета, если очень надо пользуйтесь F#".
Было бы интересно услышать конкретику, кстати. Вроде начиналось же что-то делаться в этом направлении, но умерло.
V>когда SPJ в Москве был
Это записано на видео
V>Эрланг под дотнет -- кроме смеха вообще ничего не вызывает.
Только потому, что .net платформа не дает тех же гарантий, что эрланговый рантайм?
V>Т.е. идея общей платформы для разных языков -- она, кхем, бредовая.
Тут я в целом согласен, помимо проблем в имплементации (вон, в jvm нормальный tco вроде долгое нельзя было сделать — и, возможно, до сих пор нельзя) у разных языков разные подходы к дизайну библиотек, к базовым структурам данных и т.п. Да и если у языка несколько реализаций под разные платформы — есть вероятность, что одна будет доминировать по фичам и библиотекам (вспомним — кроме GHC, у хаскеля есть еще несколько имплементаций — ага).
Здравствуйте, midcyber, Вы писали: M>Наверное, не пользуется популярностью, этот Micro Framework M>(кстати, он такой же .NET, как J2ME — Java
Это ты зря. Урезанный, конечно, не не до такой степени.
Здравствуйте, Lexxpin, Вы писали:
L>Здравствуйте, vshabanov, Вы писали: V>>F# как язык будет пожалуй даже слабее окемла. Плюс в нем есть null со всеми вытекающими. Но, как я понимаю, ничего лучше пока под дотнет нету. L>Вроде что то сказал, а инфы ноль. Можно подробнее со ссылками L>1) чем слабее?
Меньше фич. Объекты там дотнетовские, а не окемловские (лучшее ОО из того, что я видел, только почти не используется за ненадобностью). Полиморфных вариантов вроде тоже нет. Система модулей вроде тоже слабее.
L>2) чем плох null?
Это шутка?
L>3) чего не хватает для того, чтобы сделать язык лучше?
Поддержки рантайма (это в принципе возможно, но очень сложно) и уровень библиотек -- они все ОО, а ОО оно слишком низкоуровневое и неудобное.
L>ЗЫ. Выходит, все-таки можно под .нет реализовать необходимые языки?
Неэффективо (особенно эрланг/хаскелл). И очень большой impedance mismatch между дотнетовскими библиотеками и тем, что позволяют более продвинутые языки.
Здравствуйте, Lexxpin, Вы писали:
L>Здравствуйте, vshabanov, Вы писали:
V>>Пока это incubation project. Shared state, монструозный java-like синтаксис, ОО, похоже даже pattern matching-а нет, вывод типов ограничен. В общем мало того, что сырой, да еще и похоже без шансов, что из этого что-либо полезное вырастет.
L>Ну если выделить финансирование, то все-таки можно реализовать не хуже эрланг?
Нет. Сам язык уже монструозен, при весьма малом кол-ве удобных фич. Ну и в соседней ветке почитай про рантайм эрланга.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, Mr.Cat, Вы писали: V>>>когда SPJ в Москве был MC>>Это записано на видео? MC>Сорри, это вопрос был.
Видео на MskHUG вроде писали, но похоже нигде не выложили. А на видео с евангелистом от майкрософт (проподом по F#, насколько я понял) такие вопросы ему вряд-ли задавали.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, vshabanov, Вы писали: V>>Опять же тот же Хаскелл переводить под дотнет гемор ... "очень сложно связать системы типов хаскелла и дотнета, если очень надо пользуйтесь F#". MC>Было бы интересно услышать конкретику, кстати. Вроде начиналось же что-то делаться в этом направлении, но умерло.
Ну банально. Хаскелл -- не ОО язык. Можно конечно навернуть на нем что-то ОО-подобное, но это как ассемблерную вставку на Си делать -- можно, но зачем?
V>>Эрланг под дотнет -- кроме смеха вообще ничего не вызывает. MC>Только потому, что .net платформа не дает тех же гарантий, что эрланговый рантайм?
А какой смысл в эрланге без этих гарантий.
V>>Т.е. идея общей платформы для разных языков -- она, кхем, бредовая. MC>Тут я в целом согласен, помимо проблем в имплементации (вон, в jvm нормальный tco вроде долгое нельзя было сделать — и, возможно, до сих пор нельзя) у разных языков разные подходы к дизайну библиотек, к базовым структурам данных и т.п. Да и если у языка несколько реализаций под разные платформы — есть вероятность, что одна будет доминировать по фичам и библиотекам (вспомним — кроме GHC, у хаскеля есть еще несколько имплементаций — ага).
Вот и я про то. Получается, что дотнет -- это еще один способ МС привязать людей к своей платформе. Это, в общем-то сразу было понятно. На какои-нить С++/Java еще можно писать под разные оси, а вот с платформы спрыгнуть уже сложнее.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, midcyber, Вы писали: M>>Наверное, не пользуется популярностью, этот Micro Framework M>>(кстати, он такой же .NET, как J2ME — Java MC>Это ты зря. Урезанный, конечно, не не до такой степени.
Как это не до такой? Наоборот, гораздо больше, в моем представлении.
Язык — только C#, без многомерных массивов, unsafe и JIT
Библиотеки — обычные .NET сборки нельзя подцепить, ЕМНИП
Рисование — своя подсистема, основанная на WPF без XAML
Здравствуйте, midcyber, Вы писали: M>>>Наверное, не пользуется популярностью, этот Micro Framework MC>>Это ты зря. Урезанный, конечно, не не до такой степени. M>Как это не до такой? Наоборот, гораздо больше, в моем представлении.
Сорри, спутал с compact framework. С micro дела не имел.
Здравствуйте, vshabanov, Вы писали: V>>>Эрланг под дотнет -- кроме смеха вообще ничего не вызывает. MC>>Только потому, что .net платформа не дает тех же гарантий, что эрланговый рантайм? V>А какой смысл в эрланге без этих гарантий.
В парадигме программирования. На эрланге ведь и вполне обычный софт пишут. Риалтаймовые гарантии в том же ejabberd или mochiweb — наверняка не всем нужны.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, vshabanov, Вы писали: V>>>>Эрланг под дотнет -- кроме смеха вообще ничего не вызывает. MC>>>Только потому, что .net платформа не дает тех же гарантий, что эрланговый рантайм? V>>А какой смысл в эрланге без этих гарантий. MC>В парадигме программирования. На эрланге ведь и вполне обычный софт пишут. Риалтаймовые гарантии в том же ejabberd или mochiweb — наверняка не всем нужны.
Если дело только в парадигме, а не в рантайме/библиотеках, то тогда уж лучше на хаскеле библиотечку написать, которая все это реализует. Как язык эрланг-то весьма слаб.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, midcyber, Вы писали: M>>>>Наверное, не пользуется популярностью, этот Micro Framework MC>Сорри, спутал с compact framework. С micro дела не имел.
Здравствуйте, midcyber, Вы писали: M>>>>>Наверное, не пользуется популярностью, этот Micro Framework MC>>Сорри, спутал с compact framework. С micro дела не имел. M>Зато видишь, какой эффект дает новость.
Ты это к чему?
Здравствуйте, vshabanov, Вы писали: V>Если дело только в парадигме, а не в рантайме/библиотеках
Про библиотеки я не говорил.
V>Как язык эрланг-то весьма слаб.
Хороший простой язык, я считаю.
V>то тогда уж лучше на хаскеле библиотечку написать, которая все это реализует.
Ненене, это всю простоту убьет, я думаю.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, vshabanov, Вы писали: V>>Если дело только в парадигме, а не в рантайме/библиотеках MC>Про библиотеки я не говорил.
V>>Как язык эрланг-то весьма слаб. MC>Хороший простой язык, я считаю.
Ну Си еще проще. А проще и тупее ассемблера вообще сложно что-либо придумать.
V>>то тогда уж лучше на хаскеле библиотечку написать, которая все это реализует. MC>Ненене, это всю простоту убьет, я думаю.
Простота -- это одно, производительность труда -- другое. На хаскеле (который с непривычки кажется сложным) сдавать программы в срок гораздо проще, чем на эрланге.
Здравствуйте, Mr.Cat, Вы писали:
M>>Зато видишь, какой эффект дает новость. MC>Ты это к чему?
Ну я думаю, не ты один так прочитал.
Ты же сначала думал, что они что-то важное открыли, не?
А на самом деле, открыли экспериментальное направление на рынке, который хотят немного поиметь. Плюс пиар.
Да, совсем забыл, чтобы портировать на новое железо, нужно покупать компилятор у их партнеров.
Потому что с GCC-ARM с размером кода все печально.
Здравствуйте, vshabanov, Вы писали: V>>>Как язык эрланг-то весьма слаб. MC>>Хороший простой язык, я считаю. V>Ну Си еще проще. А проще и тупее ассемблера вообще сложно что-либо придумать.
Си сложнее, я считаю. С ассемблером сравнивать не стану.
V>>>то тогда уж лучше на хаскеле библиотечку написать, которая все это реализует. MC>>Ненене, это всю простоту убьет, я думаю. V>Простота -- это одно, производительность труда -- другое. На хаскеле (который с непривычки кажется сложным) сдавать программы в срок гораздо проще, чем на эрланге.
Я на хаскеле и эрланге только по мелочи писал — про коммерческие проекты спорить не стану. У меня по ощущениям — эрланг — это простой лаконичный язык и платформа, где все под рукой — и параллельность/асинхронность, и хранилище данных, и работа с сетью. С хаскелем мне посложнее, хотя опыта работы с ним примерно столько же.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, vshabanov, Вы писали: V>>>>Как язык эрланг-то весьма слаб. MC>>>Хороший простой язык, я считаю. V>>Ну Си еще проще. А проще и тупее ассемблера вообще сложно что-либо придумать. MC>Си сложнее, я считаю. С ассемблером сравнивать не стану.
Как язык попроще. Базовых концепций мало и они всем знакомы. Разрабатывать на нем конечно сложнее. Хаскелл же содержит много незнакомых концепций и кажотся сложнее (и требует больше времени на освоение), но разрабатывать на нем проще. Цена изменения кода минимальна.
V>>>>то тогда уж лучше на хаскеле библиотечку написать, которая все это реализует. MC>>>Ненене, это всю простоту убьет, я думаю. V>>Простота -- это одно, производительность труда -- другое. На хаскеле (который с непривычки кажется сложным) сдавать программы в срок гораздо проще, чем на эрланге. MC>Я на хаскеле и эрланге только по мелочи писал — про коммерческие проекты спорить не стану. У меня по ощущениям — эрланг — это простой лаконичный язык и платформа, где все под рукой — и параллельность/асинхронность, и хранилище данных, и работа с сетью. С хаскелем мне посложнее, хотя опыта работы с ним примерно столько же.
В эрланге многое под рукой, да. Но когда нужно сделать что-то свое (бизнес-логику, просто какой-нить алгоритм), то становится сложнее. Эрланг -- это примерно как Delphi, только не для GUI+БД, а для сетей. То, для чего он предназначен на нем делать легко, а шаг влево/вправо -- упираемся в слабый язык.
Здравствуйте, vshabanov, Вы писали:
V>Здравствуйте, samius, Вы писали:
V>>>А самое смешное с этим дотнетом то, что нормальные языки он не поддерживает. Т.е. идея о том, что всякие разные языки могут использовать общую библиотеку работает не со всеми языками.
S>>А разве где-то заявлялось что дотнет смогут использовать ВСЕ языки? Уверен, речь шла только о языках на дотнет платформе.
V>Речь шла о том, что вот мол платформа (сиречь библиотеки), а вот виртуальная машина, теперь можно быстро наклепать поверх реализацию любого языка, не сильно заморачиваясь с компиляцией, да еще и получить простой интерфейс к куче библиотек от МС (типично МС-овский подход, кстати: любой язык, но на нашей платформе).
Про любой язык лично от Microsoft ничего не слышал, но да, такая замануха была.
V>Оказалось только, что под эту платформу/VM можно переводить далеко не любые языки. Более того, языки дающие наибольшую производительность труда программиста переводить сложнее всего -- слишком низок уровень донетовской платформы.
Дак это не вчера оказалось. Давно известно, что например порты некоторых динамических языков ждали DLR-а. Ну а паскаль под дотнет почти сразу подогнули.
V>Т.е. рекламируемый смысл дотнета "фигачьте компилер вашего любимого языка под нашу платформу и получайте язык+библиотеки=профит", стоит переделать как "привяжитесь к МС навсегда", а языки -- это так замануха.
Да. Ну а как иначе? Я когда вижу рекламу чего-то, я же не бегу его покупать. И тут так же. Прежде чем переводить свой любимый язык на дотнет, надо сначала понять, а можно ли это сделать, а надо ли это делать? Если нужно, можно и цели окупают средства, то только тогда вперед, а не только потому что на рекламу поддался.
А какой смысл мне обижаться на АвтоВАЗ, только потому что он Калину рекламирует, а мне ее не надо?
Здравствуйте, samius, Вы писали:
V>>>>А самое смешное с этим дотнетом то, что нормальные языки он не поддерживает. Т.е. идея о том, что всякие разные языки могут использовать общую библиотеку работает не со всеми языками.
S>>>А разве где-то заявлялось что дотнет смогут использовать ВСЕ языки? Уверен, речь шла только о языках на дотнет платформе.
V>>Речь шла о том, что вот мол платформа (сиречь библиотеки), а вот виртуальная машина, теперь можно быстро наклепать поверх реализацию любого языка, не сильно заморачиваясь с компиляцией, да еще и получить простой интерфейс к куче библиотек от МС (типично МС-овский подход, кстати: любой язык, но на нашей платформе). S>Про любой язык лично от Microsoft ничего не слышал, но да, такая замануха была.
Я про эту замануху и говорю.
V>>Т.е. рекламируемый смысл дотнета "фигачьте компилер вашего любимого языка под нашу платформу и получайте язык+библиотеки=профит", стоит переделать как "привяжитесь к МС навсегда", а языки -- это так замануха. S>Да. Ну а как иначе? Я когда вижу рекламу чего-то, я же не бегу его покупать. И тут так же. Прежде чем переводить свой любимый язык на дотнет, надо сначала понять, а можно ли это сделать, а надо ли это делать? Если нужно, можно и цели окупают средства, то только тогда вперед, а не только потому что на рекламу поддался.
Дело в том, что на рекламу "у нас тут не жаба, у нас тут куча языков, да еще и библиотек тонна" поддалось большое кол-во народа. Притом, что дотнет мягко говоря не самая лучшая платформа для разработки приложений. Т.к. среди кучи языков удобных мало, а библиотеки низкоуровневые.
Здравствуйте, vshabanov, Вы писали:
V>Здравствуйте, samius, Вы писали:
S>>Да. Ну а как иначе? Я когда вижу рекламу чего-то, я же не бегу его покупать. И тут так же. Прежде чем переводить свой любимый язык на дотнет, надо сначала понять, а можно ли это сделать, а надо ли это делать? Если нужно, можно и цели окупают средства, то только тогда вперед, а не только потому что на рекламу поддался.
V>Дело в том, что на рекламу "у нас тут не жаба, у нас тут куча языков, да еще и библиотек тонна" поддалось большое кол-во народа. Притом, что дотнет мягко говоря не самая лучшая платформа для разработки приложений. Т.к. среди кучи языков удобных мало, а библиотеки низкоуровневые.
Основной народ из тех что повелся, повелся не на кучу языков, а конкретно
* на C#
* на платформонезависимость CLR, полагая что совместимость будет гораздо большей
* на тонну библиотек, которых действительно тонна из коробки, и еще куча сверху
Тех, кто кинулся писать компиляторы языков под дотнет, не так много. А кто приуспел в этом — по пальцам пересчитать.
Но и это уже хорошо, потому как когда актвино пиарился .NET 1.0, лично я серьезно не расчитывал, что будет что-то кроме C#, VB.NET и ME for C++
Да и выбора на тот момент было не густо. И сейчас выбору не густо, особенно если принимать во внимание не только высокоуровневость языков, но и уровень досягаемых разработчиков, особенно на перефирии.
Здравствуйте, vshabanov, Вы писали:
L>>1) чем слабее?
V>Меньше фич. Объекты там дотнетовские, а не окемловские (лучшее ОО из того, что я видел, только почти не используется за ненадобностью). Полиморфных вариантов вроде тоже нет. Система модулей вроде тоже слабее.
В копилку: ограниченные алгебраические типы данных — представленны только "суммами" ("discriminated unions").
Здравствуйте, vshabanov, Вы писали:
V>Здравствуйте, Mr.Cat, Вы писали:
MC>>Здравствуйте, Mr.Cat, Вы писали: V>>>>когда SPJ в Москве был MC>>>Это записано на видео? MC>>Сорри, это вопрос был.
V>Видео на MskHUG вроде писали, но похоже нигде не выложили. А на видео с евангелистом от майкрософт (проподом по F#, насколько я понял) такие вопросы ему вряд-ли задавали.
Здравствуйте, Курилка, Вы писали:
V>>Видео на MskHUG вроде писали, но похоже нигде не выложили. А на видео с евангелистом от майкрософт (проподом по F#, насколько я понял) такие вопросы ему вряд-ли задавали.
К>Есть вот такое интервью
Здравствуйте, vshabanov, Вы писали:
V>Посмотрел мельком. Это же тотальный ахтунг. Переусложнение во всем. V>wpf -- см tcl/tk, V>wf -- фигачишь dsl и не паришься, V>wcf -- см эрланг,
Твои примеры — едва ли аналогичны. Tcl/tk — это вообще смешно сравнивать. Как говаривал тут один участник — фтопку (c)
Здравствуйте, vshabanov, Вы писали:
L>>ЗЫ. Выходит, все-таки можно под .нет реализовать необходимые языки?
V>Еще очень интересно, как под дотнетом можно реализовать GADT/type families/type classes? Чтобы их еще с дотнета можно было использовать ))
Да никак, и дотнет тут не причем. В любой системе, ориентированной на бинарное распространение библиотек, языки типа Хаскель не реализуемы. "Предкомпилированные" билиотеки Хаскеля — это просто еще одна разновидность исходного кода, вот в чем "системная" причина несовместимости подходов. Ну дык и сам Хаскель ввиду этого не особо интероперабелен, а лишь в очеь ограниченном диапазоне возможностей, куда как более ограниченном, чем ограничения среды .Net.
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, vshabanov, Вы писали:
V>>Посмотрел мельком. Это же тотальный ахтунг. Переусложнение во всем. V>>wpf -- см tcl/tk, V>>wf -- фигачишь dsl и не паришься, V>>wcf -- см эрланг, F> Твои примеры — едва ли аналогичны. Tcl/tk — это вообще смешно сравнивать. Как говаривал тут один участник — фтопку (c)
Здравствуйте, vdimas, Вы писали:
L>>>ЗЫ. Выходит, все-таки можно под .нет реализовать необходимые языки?
V>>Еще очень интересно, как под дотнетом можно реализовать GADT/type families/type classes? Чтобы их еще с дотнета можно было использовать ))
V>Да никак, и дотнет тут не причем. В любой системе, ориентированной на бинарное распространение библиотек, языки типа Хаскель не реализуемы.
Почему? Если система поддерживает GADT/type*, то вполне можно устроить интероперабельность. Только это никому не нужно. А в дотнете на эту интероперабельность сильно напирали, а получилось, что "мы покрасим ваш автомобиль в любой цвет, при условии, что этот цвет черный".
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, vshabanov, Вы писали:
V>>>>Посмотрел мельком. Это же тотальный ахтунг. Переусложнение во всем. V>>>>wpf -- см tcl/tk, V>>>>wf -- фигачишь dsl и не паришься, V>>>>wcf -- см эрланг, F>>> Твои примеры — едва ли аналогичны. Tcl/tk — это вообще смешно сравнивать. Как говаривал тут один участник — фтопку (c) V>>Сравни создание GUI на WPF и Tk. Где проще? F> За всю страну не скажу, но мне будет проще на любом отличном от tcl/tk. Хотя кто-то возможно его умеет удобно готовить. F> Просто твои аппеляции WPF <> Tcl/Tk, WCF <> Erlang и т.п. не сравнимы. Стоит подробнее курить любую из названных крутых аббревиатур.
Чего и вам желаю, для меня это все just smells wrong. Когда я вижу, что примитивный функционал надо реализовывать огромным кол-вом кода (пусть даже большую часть его генерит IDE), я сразу задумываюсь: а что будет, когда мне понадобится что-то, для чего готовых решений нет -- правильно -- придется писать тонну кода.
F> Да и выражения "фигачишь dsl и не паришься" не совсем отражают действительность. Это так можно про всё сказать, фигачишь и не паришься, а на деле, кроме того, что собственно нужно фигачить, нужно решить, что, чем, где, и как фигачить, и при этом, увы, но паришься! А после того как предшественники "нафигачили" непарясь — вдвойне паришься.
Вы видимо dsl-ей не делали. Я лучше подумаю несколько дней и сделаю мелкую библиотечку, которая делает то, что мне нужно, без избыточного мусора. А тот, кто будет эту библиотечку потом поддерживать будет курить мелкий прозрачный сорец, а не огромный фреймворк, в котором черт ногу сломит.
F> Так что спасибо, но лучше курить мануалы по "низкоуровневым" технологиям, и не парить окружающих.
Ваш выбор. Практика показывает, что на хаскеле/эрланге/окемле/tcl-е продукты создаются быстрее, чем на широко разрекламированных технологиях.
Здравствуйте, vshabanov, Вы писали:
V>Чего и вам желаю, для меня это все just smells wrong.
Вот я и говорю, что стоит внимательно изучать, прежде чем фтопку посылать. Да, и в WPF тонн кода нет.
V> Когда я вижу, что примитивный функционал надо реализовывать огромным кол-вом кода (пусть даже большую часть его генерит IDE), я сразу задумываюсь: а что будет, когда мне понадобится что-то, для чего готовых решений нет -- правильно -- придется писать тонну кода.
Когда готовых решений нет, или они не подходят — да, фигачить, таки надо, при чём вне зависимости от технологии/платформы.
V>Вы видимо dsl-ей не делали. Я лучше подумаю несколько дней и сделаю мелкую библиотечку, которая делает то, что мне нужно, без избыточного мусора. А тот, кто будет эту библиотечку потом поддерживать будет курить мелкий прозрачный сорец, а не огромный фреймворк, в котором черт ногу сломит.
Да в той или иной степени делать случалось, т.к. подход в лоб утомителен и поддерживается ещё хуже, из-за этого самого избыточного мусора. Но, что касается прозрачности — тут как повезёт с писателем. Иногда код настолько "мелок" и "прозрачен", что сливается с фоном текста.
F>> Так что спасибо, но лучше курить мануалы по "низкоуровневым" технологиям, и не парить окружающих. V>Ваш выбор. Практика показывает, что на хаскеле/эрланге/окемле/tcl-е продукты создаются быстрее, чем на широко разрекламированных технологиях.
Моя практика показывает, что хаскель/эрланг/окемл/tcl никем не применяется. На этом думаю можно и разойтись.
Здравствуйте, vshabanov, Вы писали:
V>Удобны хаскелл/окемл/эрланг,
Вопросов больше не имею
V> некоторым лисп/
Совсем не имею
V>Посмотрел мельком. Это же тотальный ахтунг. Переусложнение во всем. wpf -- см tcl/tk, wf -- фигачишь dsl и не паришься, wcf -- см эрланг,
Совсем-совсем не имею
V>Dynamic Data -- судя по примерам тот еще монстр, и без IDE с ним наверное не справиться
Слов тоже не осталось
V>(а без IDE он похож на php, хотя не разбирался), посмотри на ur и всякие web фреймворки для того же эрланга
>_<
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, vshabanov, Вы писали:
V>>Чего и вам желаю, для меня это все just smells wrong. F> Вот я и говорю, что стоит внимательно изучать, прежде чем фтопку посылать. Да, и в WPF тонн кода нет.
Да, xml-ное описание gui там очень краткое. Если понадобиться этот гуи генерить, а не рисовать, будет наверное еще короче.
V>> Когда я вижу, что примитивный функционал надо реализовывать огромным кол-вом кода (пусть даже большую часть его генерит IDE), я сразу задумываюсь: а что будет, когда мне понадобится что-то, для чего готовых решений нет -- правильно -- придется писать тонну кода. F> Когда готовых решений нет, или они не подходят — да, фигачить, таки надо, при чём вне зависимости от технологии/платформы.
Вопрос в стоимости фигачения. Тот же хаскелл дает 2-4X сокращение объема сорцов и ~2X прирост производительности труда по сравнению с Java/C*.
F>>> Так что спасибо, но лучше курить мануалы по "низкоуровневым" технологиям, и не парить окружающих. V>>Ваш выбор. Практика показывает, что на хаскеле/эрланге/окемле/tcl-е продукты создаются быстрее, чем на широко разрекламированных технологиях. F> Моя практика показывает, что хаскель/эрланг/окемл/tcl никем не применяется. На этом думаю можно и разойтись.
Если читать только msdn и никуда кроме МС не смотреть, то пожалуй да.
Здравствуйте, vshabanov, Вы писали:
F>> Когда готовых решений нет, или они не подходят — да, фигачить, таки надо, при чём вне зависимости от технологии/платформы. V>Вопрос в стоимости фигачения. Тот же хаскелл дает 2-4X сокращение объема сорцов и ~2X прирост производительности труда по сравнению с Java/C*.
Посльку это говорилось применительно к GUI — то где там применить Хаскел, да ещё с сокращением объемов кода — остаётся загадкой.
Какие-то внутрении части проекта, возможно кто-то осилит и на Хаскеле рисовать. Скажем у меня в проекте, любая попытка использовать Хаскел/Эрланг обернулась бы только переусложнением.
F>> Моя практика показывает, что хаскель/эрланг/окемл/tcl никем не применяется. На этом думаю можно и разойтись. V>Если читать только msdn и никуда кроме МС не смотреть, то пожалуй да.
Пока-что единственный "народный" продукт на erlang — это ejabberd. И что-то я не вижу потока программ, для своей работы которые требовали бы установить OTP.
Точно так же нет потока программ на tcl.
То что экзотики нет в природе и ею пользуются — не говорит об ущербности остальных, особенно когда эти экзотические решения ни одного killer feature не дают.
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, vshabanov, Вы писали:
F>>> Когда готовых решений нет, или они не подходят — да, фигачить, таки надо, при чём вне зависимости от технологии/платформы. V>>Вопрос в стоимости фигачения. Тот же хаскелл дает 2-4X сокращение объема сорцов и ~2X прирост производительности труда по сравнению с Java/C*. F> Посльку это говорилось применительно к GUI — то где там применить Хаскел, да ещё с сокращением объемов кода — остаётся загадкой. F> Какие-то внутрении части проекта, возможно кто-то осилит и на Хаскеле рисовать. Скажем у меня в проекте, любая попытка использовать Хаскел/Эрланг обернулась бы только переусложнением.
У нас в проекте вполне себе есть gui. И даже не смотря на то, что используется очень низкоуровневый gtk2hs сокращение кода все равно присутствует. GUI не бывает сам по себе (если это конечно не тупая морда к базе на Delphi), он всегда подразумевает какую-то логику. Вот эта логика, и связь ее с GUI получается заметно короче (тот же Си-шный отладчик, который я недавно делал, занял в два раза меньше времени и в 4 раза меньше сорцов, чем предыдущий вариант на Java, при большей функциональности).
F>>> Моя практика показывает, что хаскель/эрланг/окемл/tcl никем не применяется. На этом думаю можно и разойтись. V>>Если читать только msdn и никуда кроме МС не смотреть, то пожалуй да. F> Пока-что единственный "народный" продукт на erlang — это ejabberd. И что-то я не вижу потока программ, для своей работы которые требовали бы установить OTP. F> Точно так же нет потока программ на tcl. F> То что экзотики нет в природе и ею пользуются — не говорит об ущербности остальных, особенно когда эти экзотические решения ни одного killer feature не дают.
Отсутствие большого кол-ва программ еще не повод отказываться от языка. Если судить только по кол-ву программ, то больше всего их будет на каком-нить коболе/фортране. killer feature -- бОльшая производительность труда.
Здравствуйте, vshabanov, Вы писали:
V>>Да никак, и дотнет тут не причем. В любой системе, ориентированной на бинарное распространение библиотек, языки типа Хаскель не реализуемы.
V>Почему? Если система поддерживает GADT/type*, то вполне можно устроить интероперабельность.
Ты наверно не обратил внимания на сравнение представлений библиотечных модулей. Например, типы классов существуют только для компилятора, отсюда и такое представление библиотек в Хаскеле.
V>Только это никому не нужно.
Сильно ошибаешься. Требование интероперабельности с имеющимся софтом заруливает любые мега-фичи любых языков. Без нормальной, "промышленной" интероперабельности любой язык обречен на весьма узкие ниши, и здесь платформа .Net выступает как неплохой трамплин для любых разработанный под нее языков.
V> А в дотнете на эту интероперабельность сильно напирали, а получилось, что "мы покрасим ваш автомобиль в любой цвет, при условии, что этот цвет черный".
Кривая аналогия. Если уж играть в аналогии, то "при условии, что эта краска из совместимого полимера".