Re[3]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.09 20:16
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>На этот вопрос как раз очень легко ответить: преимущество F#-а — поддержка со стороны микрософта. Больше преимуществ вроде нет.


Дык это не преимущество языка. Это преимущество команды его разрабатывающей.

Это все равно, что говорить о приемуществах Лады перед, скажем, Маздой в том, что Лада поддерживается нашим правительством, а Мазда — нет.

ЗЫ

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

20 лет назад МС просто сделал бы компилятор для обоих языков и выжил бы сильнейший. Сегодня МС тупо поддерживает того кто оказался ближе к телу не взирая на перспективность. Да вообще не взирая на какие либо разумные доводы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: В чем преимущество Nemerle перед F#?
От: Mr.Cat  
Дата: 30.12.09 20:17
Оценка:
Здравствуйте, hi_octane, Вы писали:
_>Или вот такой пример — к нам много данных приходило в текстовом формате. Парсить решили регекспами (данные от legacy системы, далеки от XML/HTML). Но сами регекспы сравнительно медленные, что-бы были быстрые — нужна прекомпиляция. Но прекомпилируемый регексп — уже не так удобен в использовании — его по месту использования не объявишь, он загружается из отдельной DLL, которую надо отдельно компилировать и т.п. На макросах мы получили фактически объявление по месту использования и с компилированными регекспами. И автоматом получили кэш компилированных регекспов — т.е. если по ходу работы в разных модулях проекта использовались одинаковые регекспы — два раза их код не компилировался.
А можно пояснить, в чем тут профит макросов по сравнению с функциями? Не совсем ясно.

Кстати, насчет регекспов — замечал, что Regex.Match с регекспом-строкой первый раз выполняется сравнительно долго, а последующие — значительно быстрее. Возможно, библиотека где-то внутри себя регекспы мемоизирует.
Re[5]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.09 20:21
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>А можно пояснить, в чем тут профит макросов по сравнению с функциями? Не совсем ясно.


MC>Кстати, насчет регекспов — замечал, что Regex.Match с регекспом-строкой первый раз выполняется сравнительно долго, а последующие — значительно быстрее. Возможно, библиотека где-то внутри себя регекспы мемоизирует.


Если влючена опция компиляции, то она их не мемоизирует, а просто компилирует (сначала в мсил, а потом в нэйтив код).
Вот только человек говорил о прекомпилированных регексах. Для них компиляция во время исполнения вообще не производится. Они просто загружаются из сборок.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: В чем преимущество Nemerle перед F#?
От: Lloyd Россия  
Дата: 30.12.09 20:24
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>На этот вопрос как раз очень легко ответить: преимущество F#-а — поддержка со стороны микрософта. Больше преимуществ вроде нет.


VD>Дык это не преимущество языка. Это преимущество команды его разрабатывающей.


Это преимущество для тех, кто язык использует.
Вы сейчас скобки осуждаете, даже не задумываясь, что это изменение может поломать чей-то код.

VD>Это все равно, что говорить о приемуществах Лады перед, скажем, Маздой в том, что Лада поддерживается нашим правительством, а Мазда — нет.


Тут лучше вместо Мазды подставить название машины, которая не распространена в России, которую никто не ремонтирует, по которой нет литературы по эксплуатации и нет в продаже запчастей.
Вряд ли ты стал бы рекомендовать такую машину для покупки в России.
Re[5]: В чем преимущество Nemerle перед F#?
От: hardcase Пират http://nemerle.org
Дата: 30.12.09 20:24
Оценка: 7 (1)
Здравствуйте, Mr.Cat, Вы писали:

MC>Кстати, насчет регекспов — замечал, что Regex.Match с регекспом-строкой первый раз выполняется сравнительно долго, а последующие — значительно быстрее. Возможно, библиотека где-то внутри себя регекспы мемоизирует.

И каждая регулярка при первом использовании будет подтормаживать, если их много, то можно нарваться на неприятности, именно поэтому существует метод Regex.CompileToAssembly. Профит макросов в том, что компиляция регулярок происходит во время компиляции проекта и нет оверхеда в рантайме.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[5]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.09 20:27
Оценка: 7 (1)
Здравствуйте, Mr.Cat, Вы писали:

MC>Кстати, насчет регекспов — замечал, что Regex.Match с регекспом-строкой первый раз выполняется сравнительно долго, а последующие — значительно быстрее. Возможно, библиотека где-то внутри себя регекспы мемоизирует.


Если ты о статической версии, то она тупо создает новый экземпляр класса Regex который не прекомпилирует паттерн. Так что паттерн может и кэшироуется, но в результате он каждый раз выполняется не компилированный запрос.

ЗЫ

А вообще реализация регекспов от МС ниже плинтуса по скорости. В них используется НКА, что во многих случаях делает производительность просто ужасной. И тут не спасает даже прекомпиляция. Ведь квадратичный алгоритм является тормозом в любо исполнении.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.09 20:34
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Это преимущество для тех, кто язык использует.

L>Вы сейчас скобки осуждаете, даже не задумываясь, что это изменение может поломать чей-то код.

МС не раз ломал обратную совместимость в своих продуктах. Вспомнить хотя бы BV6 и VB .NET. F# тут не исключение. Но ведь тебе главное не это, правда? Чувство защищенности от ощущения руки большого брата столь велико, что заставляет закрывать глаза на что угодно. Да?

VD>>Это все равно, что говорить о приемуществах Лады перед, скажем, Маздой в том, что Лада поддерживается нашим правительством, а Мазда — нет.


L>Тут лучше вместо Мазды подставить название машины, которая не распространена в России, которую никто не ремонтирует, по которой нет литературы по эксплуатации и нет в продаже запчастей.


Да, что не подставь. Лада от этого лучше не станет. И то, что поддерживаю ее, а не что-то перспективное — это маразм.

L>Вряд ли ты стал бы рекомендовать такую машину для покупки в России.


Я точно не стану рекомендовать покупку Лады. А вот рекомендовать покупку чего-то другого я буду (или не буду) на основании качества этой альтернативы, а не наличия у нее владельца с огромным пиар-агентством.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: В чем преимущество Nemerle перед F#?
От: febus Германия  
Дата: 30.12.09 20:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вообще, у меня складывается впечатление, что МС вместо того чтобы действовать по законам рынка формирует некую матрицу в которой заставляет жить всех остальных.

VD>20 лет назад МС просто сделал бы компилятор для обоих языков и выжил бы сильнейший. Сегодня МС тупо поддерживает того кто оказался ближе к телу не взирая на перспективность. Да VD>вообще не взирая на какие либо разумные доводы.

Не так уж и тупо. Когда народ начал засматриваться на Ruby и Monorail Майкрософт создал свой mvc framework. Не сразу, конечно, где-то с задержкой в года три, с 2004 до 2007 года.
Так что они держат руку на пульсе. Народ — это конечно не такие как я, а mvp — именно они законодатели мод, они пишут блоги
Re[6]: В чем преимущество Nemerle перед F#?
От: Lloyd Россия  
Дата: 30.12.09 20:51
Оценка: -1
Здравствуйте, VladD2, Вы писали:

L>>Вы сейчас скобки осуждаете, даже не задумываясь, что это изменение может поломать чей-то код.


VD>МС не раз ломал обратную совместимость в своих продуктах. Вспомнить хотя бы BV6 и VB .NET. F# тут не исключение.


Зачем мне вспоминать дела столь давно минувших дней? У меня перед глазами пример переходов с шарпа v1 на v2, а потом и на v3. Не припомню несовместимостей в языке.

L>>Вряд ли ты стал бы рекомендовать такую машину для покупки в России.


VD>Я точно не стану рекомендовать покупку Лады. А вот рекомендовать покупку чего-то другого я буду (или не буду) на основании качества этой альтернативы, а не наличия у нее владельца с огромным пиар-агентством.


А это уже бнальная подтасовка. Речь не о наличии пиара, а о "никто не ремонтирует, по которой нет литературы по эксплуатации и нет в продаже запчастей". Ты действительно считаешь все это неважным для машины?
Re[7]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.09 22:39
Оценка:
Здравствуйте, Lloyd, Вы писали:

VD>>МС не раз ломал обратную совместимость в своих продуктах. Вспомнить хотя бы BV6 и VB .NET. F# тут не исключение.


L>Зачем мне вспоминать дела столь давно минувших дней? У меня перед глазами пример переходов с шарпа v1 на v2, а потом и на v3. Не припомню несовместимостей в языке.


Ну, вспомни делай текущих дней:
http://cs.hubfs.net/forums/thread/10538.aspx

И вообще языком нужно молоть по ответственнее, а то так и будешь оправдываться когда тебя тычат носом в несостоятельность твоего трепа.

VD>>Я точно не стану рекомендовать покупку Лады. А вот рекомендовать покупку чего-то другого я буду (или не буду) на основании качества этой альтернативы, а не наличия у нее владельца с огромным пиар-агентством.


L>А это уже бнальная подтасовка. Речь не о наличии пиара, а о "никто не ремонтирует, по которой нет литературы по эксплуатации и нет в продаже запчастей". Ты действительно считаешь все это неважным для машины?


Ага. Банальная подтасовка. Ведь проблем с сервисом у немерле нет. За то есть исходники и свободная лицензия.
А литература она конечно по ладе есть. И сервис для нее самый дешевый и доступнй. Куда же без этого если эта хрень при минимуме удобства требует постоянного ремонта?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.12.09 22:46
Оценка:
Здравствуйте, febus, Вы писали:

F>Не так уж и тупо. Когда народ начал засматриваться на Ruby и Monorail Майкрософт создал свой mvc framework. Не сразу, конечно, где-то с задержкой в года три, с 2004 до 2007 года.


Точнее будет сказать пять (лет).

Кстати, "рельсы" ты тоже изучал по оглавлению? Если нет, то должен был бы заметить, что между рельсами и mvc framework есть заметная разница.

А знаешь что позволило сделать рельсы столь удобным? Будешь смеяться, но Руби, так как этот язык, очень хорошо поддерживает метапрограммирование. Рельсы — это фрэймворк созданный на базе средств метапрограммирования руби. Вот такие вот зависимости.

F>Так что они держат руку на пульсе. Народ — это конечно не такие как я, а mvp — именно они законодатели мод, они пишут блоги


Назвать это "на пульсе" у меня язык не поворачивается. Я бы назвал это "иного обращат внимание на окружающий мир". Но к сожалению чаще МС варится в своем мире. В своем, в том смысле, что создаваемом самим собой.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: В чем преимущество Nemerle перед F#?
От: febus Германия  
Дата: 30.12.09 23:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, febus, Вы писали:


F>>Не так уж и тупо. Когда народ начал засматриваться на Ruby и Monorail Майкрософт создал свой mvc framework. Не сразу, конечно, где-то с задержкой в года три, с 2004 до 2007 года.


VD>Точнее будет сказать пять (лет).


VD>Кстати, "рельсы" ты тоже изучал по оглавлению? Если нет, то должен был бы заметить, что между рельсами и mvc framework есть заметная разница.


VD>А знаешь что позволило сделать рельсы столь удобным? Будешь смеяться, но Руби, так как этот язык, очень хорошо поддерживает метапрограммирование. Рельсы — это фрэймворк созданный на базе средств метапрограммирования руби. Вот такие вот зависимости.


VD>Назвать это "на пульсе" у меня язык не поворачивается. Я бы назвал это "иного обращат внимание на окружающий мир". Но к сожалению чаще МС варится в своем мире. В своем, в том смысле, что создаваемом самим собой.


Ни одна здравомыслящая фирма, желающая жить и здравствовать, не бросается на новую технологию в момент ее появления. Они выжидают. МС — не исключение.
Фирмы даже не переходят сразу на новейшую версию Visual Studio. Обычно ждут, чтобы все устаканилось и вышел какой-нить Service Pack.
Они также не бросаются на новейшие технологии, к коим можно смело отнести и Немерле. И если они вообще и вспомнят о таких языках как Немерле или F#,
то лишь по сугубо практическим соображениям. В данный момент я вижу только одну такую причину:
с появлением многоядерных процессоров использование новых возможностей стало очень актуально. Потому и снова всплыла давно забытая тема функционального программирования, отсюда полагаю и появление F# с его asyncron workflow (и снова читаю оглавление ).
Так что Майкрософт не тупой, они четко реагируют на реалии спроса.
Другой пример, с более давних времен. Само появление .NET. МС активно агитировал за технологию COM. (Я и там тоже оглавление читал )
Когда Ява стала поджимать, МС практически забил на COM и начал активно продвигать .NET, тем самым реагируя на реалии окружающего мира.
Так что повторюсь, — да, они держат руку на пульсе и реагируют, когда становится очевидным, что реагировать необходимо. А быстрее или медленнее, — ну это задним умом всегда виднее.
Re[8]: В чем преимущество Nemerle перед F#?
От: febus Германия  
Дата: 30.12.09 23:53
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, вспомни делай текущих дней:

VD>http://cs.hubfs.net/forums/thread/10538.aspx

VD>И вообще языком нужно молоть по ответственнее, а то так и будешь оправдываться когда тебя тычат носом в несостоятельность твоего трепа.

А в чем его треп то? Если я правильно вижу, там речь о изменениях на стадии pre-beta. A это не одно и то же, что и подобное изменение в уже выпущенной официальной версии.

Breaking changes and renames are very common for "pre-Beta" products. (If anything F# is abnormal in that it is already so stable — almost all the 'breaking' changes at the source code level from 1.9.6.2 to 1.9.6.16 are merely deprecation warnings saying we renamed a library function. I think if you pick most any other product, you're likely to find vastly more significant changes from CTP to Beta1.) There will continue to be some changes up until F# is released along with VS2010, but we are definitely converging on the final form of the language and libraries.

VD>Ага. Банальная подтасовка. Ведь проблем с сервисом у немерле нет. За то есть исходники и свободная лицензия.
VD>А литература она конечно по ладе есть. И сервис для нее самый дешевый и доступнй. Куда же без этого если эта хрень при минимуме удобства требует постоянного ремонта?
Литература тоже есть,- Nemerle за 4 недели или как-то так оно называется на www.nemerle.org. Другое дело, что я уже неделю на тот сайт попасть не могу. Он все время лежит.
Re[8]: В чем преимущество Nemerle перед F#?
От: Lloyd Россия  
Дата: 31.12.09 00:02
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>МС не раз ломал обратную совместимость в своих продуктах. Вспомнить хотя бы BV6 и VB .NET. F# тут не исключение.


L>>Зачем мне вспоминать дела столь давно минувших дней? У меня перед глазами пример переходов с шарпа v1 на v2, а потом и на v3. Не припомню несовместимостей в языке.


VD>Ну, вспомни делай текущих дней:

VD>http://cs.hubfs.net/forums/thread/10538.aspx

Опять передергиваешь. F# не релизнулся еще даже. Поддержка будет только начиная с 2010.

VD>И вообще языком нужно молоть по ответственнее, а то так и будешь оправдываться когда тебя тычат носом в несостоятельность твоего трепа.


Пока вроде нет причин оправдываться. И ты эта, язык попридержи, а то совсем детсад какой-то развел.

VD>>>Я точно не стану рекомендовать покупку Лады. А вот рекомендовать покупку чего-то другого я буду (или не буду) на основании качества этой альтернативы, а не наличия у нее владельца с огромным пиар-агентством.


L>>А это уже бнальная подтасовка. Речь не о наличии пиара, а о "никто не ремонтирует, по которой нет литературы по эксплуатации и нет в продаже запчастей". Ты действительно считаешь все это неважным для машины?


VD>Ага. Банальная подтасовка. Ведь проблем с сервисом у немерле нет.


Да ну? И к кому ж обращаться в случае чего, когда ты например в отпуск уйдешь.

VD>За то есть исходники и свободная лицензия.


Спасибо, не надо. Прежде чем я разберусь в этих исходниках, у меня уже внуки выростут.
Re[6]: В чем преимущество Nemerle перед F#?
От: febus Германия  
Дата: 31.12.09 00:25
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>А знаешь что позволило сделать рельсы столь удобным? Будешь смеяться, но Руби, так как этот язык, очень хорошо поддерживает метапрограммирование. Рельсы — это фрэймворк созданный на базе средств метапрограммирования руби. Вот такие вот зависимости.
И поэтому сонный МС сообразил IronRuby.
Оглавление здесь
Re[9]: В чем преимущество Nemerle перед F#?
От: hardcase Пират http://nemerle.org
Дата: 31.12.09 07:16
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>И к кому ж обращаться в случае чего, когда ты например в отпуск уйдешь.


В гуглогруппах всегда найдется кому ответить , вот этот форум в конце концов и пачка статей тут же (VladD2 — респект тебе — по ним и учился).


VD>>За то есть исходники и свободная лицензия.


L>Спасибо, не надо. Прежде чем я разберусь в этих исходниках, у меня уже внуки выростут.


Исходники вполне читаемые (хотя различия в стилистике выносят мозг), если задаться целью; меня обычно интересует реализация стандартных макросов, их "тонкости", опущенные в документации. Я вот где-то за полтора года ленивого знакомства с языком стал в исходниках свободно ориентироваться: notepad++ с light explorer-ом, поисковиком по файлам и object explorer-ом студии решают
/* иЗвиНите зА неРовнЫй поЧерК */
Re[9]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.12.09 07:34
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Опять передергиваешь. F# не релизнулся еще даже. Поддержка будет только начиная с 2010.


Да ну? Передергиваю? А Nemerle "релизнулся"?

VD>>И вообще языком нужно молоть по ответственнее, а то так и будешь оправдываться когда тебя тычат носом в несостоятельность твоего трепа.


L>Пока вроде нет причин оправдываться. И ты эта, язык попридержи, а то совсем детсад какой-то развел.


Есть, и оправдывашься. У тебя то МС гарант стабильности, то "минувшие дни" и "не релизнулся еще даже". К продуктам не МС это у тебя странным образом не относится.

VD>>Ага. Банальная подтасовка. Ведь проблем с сервисом у немерле нет.


L>Да ну? И к кому ж обращаться в случае чего, когда ты например в отпуск уйдешь.


В форум. К тому же есть исходники которые ты можешь поправить сам. А вот обращаться к МС практически бесполезно. Даже если они признают проблему и поправят ее, до следующего релиза или хотя бы сервис пака ты исправления не получишь. А признаются и исправляются далеко не все ошибки. Самые сложные тупо подвисают на долгие годы. Тот же Reflection.Emit до сих пор не может полноценно применяться для создания компиляторов из-за наличия ряда серьезнийших багов и недоработок.

VD>>За то есть исходники и свободная лицензия.


L>Спасибо, не надо. Прежде чем я разберусь в этих исходниках, у меня уже внуки выростут.


Это говорит исключительно о тебе. Есть люди способные разобраться в чужих исходниках.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.12.09 07:36
Оценка:
Здравствуйте, febus, Вы писали:

F>И поэтому сонный МС сообразил IronRuby.

F>Оглавление здесь

Это вяло текущий ресерч. На него не делается ставок и от него не ждут бенефитов.
IronPython — это вообще пример для отладки интеграции с VS. Ее (интеграции) качество ниже плинтуса.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.12.09 07:42
Оценка:
Здравствуйте, febus, Вы писали:

VD>>И вообще языком нужно молоть по ответственнее, а то так и будешь оправдываться когда тебя тычат носом в несостоятельность твоего трепа.

F>А в чем его треп то?

При том, что исходный посыл был "МС не допускает ломающих изменений".

F>Если я правильно вижу, там речь о изменениях на стадии pre-beta.


А у Немерла какая-то другая стадия? Или МС можно ломать на право и на лево, в каждом релизе, а нам даже действительно мешающие вещи нельзя поправить?

F>A это не одно и то же, что и подобное изменение в уже выпущенной официальной версии.


Не одно и то же с чем? А VB? А куча дуригих продуктов в которых совместимость была по херена? Мы вот на Word 2007 так и не перешли, из-за идиотизма сотворенного в интерфейсе этого продукта (не совместимость со старым).

F>

F>Breaking changes and renames are very common for "pre-Beta" products. (If anything F# is abnormal in that it is already so stable — almost all the 'breaking' changes at the source code level from 1.9.6.2 to 1.9.6.16 are merely deprecation warnings saying we renamed a library function. I think if you pick most any other product, you're likely to find vastly more significant changes from CTP to Beta1.) There will continue to be some changes up until F# is released along with VS2010, but we are definitely converging on the final form of the language and libraries.


http://www.rsdn.ru/forum/nemerle/3637947.1.aspx
Автор: VladD2
Дата: 14.12.09

Предлагаю подобрать скобки для типов...
...
2. Нужно ли делать это до выпуска версии 1.0 или отложить смену синтаксиса до будущей версии?
3. Делать ли такую смену в виде ключа компиляции допускающего как квадратные скобки с точкой (как принято сейчас), так и новые скобки?


F>Литература тоже есть,- Nemerle за 4 недели или как-то так оно называется на www.nemerle.org. Другое дело, что я уже неделю на тот сайт попасть не могу. Он все время лежит.


Ну, с сайтом дествительно проблема. Железо там дохнет. В ближайшее время переведем его на наше железо.
Исходники же на гугль-код, так что доступны в режиме 24 * 7.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: В чем преимущество Nemerle перед F#?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.12.09 07:45
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Исходники вполне читаемые (хотя различия в стилистике выносят мозг), если задаться целью; меня обычно интересует реализация стандартных макросов, их "тонкости", опущенные в документации. Я вот где-то за полтора года ленивого знакомства с языком стал в исходниках свободно ориентироваться: notepad++ с light explorer-ом, поисковиком по файлам и object explorer-ом студии решают


С исходниками разобраться можно. Но конечно и проблемы в них есть. Код далек от идеала.
Посему главной задачей второй версии будет создание чисто и легко поддерживаемой реализации, а не навороты языка. Конечно и они будут, но это не главная цель.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.