LINUX.ORG.RU

Mono 2.0

 


0

0

С опозданием где-то на месяц, вышла новая версия кросс-платформенного фреймворка Mono - 2.0 - свободной реализации Microsoft.NET. Список изменений достаточно обширный:

  • Полностью реализованы ADO.NET 2.0, ASP.NET 2.0, Windows.Forms 2.0.
  • C# 3.0, полная поддержка LINQ-выражений. Компилятор теперь доступен под двойной лицензией - GPL2 и MIT/X11.
  • Visual Basic 8.
  • Mono 2.0 - первый релиз, в который добавлен отладчик managed кода. Т.е. отладчик является полностью завершённым.
  • Paint.NET с отключёнными P/Invoke запускается и работает под Mono 2.0.
  • Множество улучшений, касающихся производительности: работа с типом decimal, операция lock (Monitor.Enter/Exit), снижено количество потребляемой памяти (за счет использования generics), исправлены ошибки "гонки потоков".
  • Доступен порт на Windows x64.
  • Реализовано API System.Diagnostics.PerformanceCounter - получение счетчиков производительности/диагностики (пока только для своего процесса).
  • Поддержка больших массивов с 64-разрядными индексами.
  • Поддержка DTrace.
  • Исправлено большое количество ошибок.
Радует то, что проект развивается и растет, несмотря ни на что. Более того, компания Ximian имеет возможность/средства оплачивать разработчикам Mono их труд, принимая на full-time работу, при этом оставляя продукт свободным.

В ноябре обещают выпустить Mono 2.1, главным новшеством которой будет Compacting GC, новый JIT (по предварительным тестам, производительность вырастет на 30%), оптимизирующий AOT для 2.0.

>>> Release notes

★★

Проверено: JB ()
Ответ на: комментарий от r

>Давно вы видели тред про чужеродность ткшных интерфейсов?

Тут меня в двойных стандартах ну никак не обвинить. KRoN73 и Tkabber на ЛОРе тоже неоднократно перескались с негативными аффирмациями :D

Там ситуация ещё хуже, чем с Java.

>жажук долго запускающийся со здоровой коллекцией говно потому что жаба

И тут - ну какой двойной стандарт, если Jajuk сравнивался с Banshee и даже питоновским Quodlibet? Или, опять таки, у Jajuk функционал на голову мощнее? А куда он тогда спрятан? :D

>а дижикам который вообще на NFS запустится не можжет - не говно потому что С++.

Ты внимательно ли читал то, что я тебе писал в теме? Я никогда не отзывался положительно о Digikam'е. Более того, сочетание KRoN73 + Digikam на ЛОРе куда более известно, чем вышеупомянутый вариант с TKabber :) Более известна только, пожалуй, XFS-карма :)

KRoN73 ★★★★★
()
Ответ на: комментарий от r

> ну утверждать что время запуска - 0.3-0.7 секунды для десктопного
> приложения это тормозит - вы делаете мне смешно.


От приложения зависит. Некоторые можно и по 5 минут ждать пока запустятся.

eXOR ★★★★★
()
Ответ на: комментарий от anonymous

>У Qt НИЧЕГО полезного нет, он абсолютно не пересекается по области применения с .NET.

И какая у .NET область применения? Рекламировать и навязывать OS Windows? Может быть, очень даже может быть, Qt в этом абсолютно с .NET не пересекается

anonymous
()
Ответ на: комментарий от anonymous

> У Qt НИЧЕГО полезного нет, он абсолютно не пересекается по области
> применения с .NET.


У Qt нет только хорошего языка, каковым C# безусловно является. У Qt есть язык C++, который не хороший, но могущий всё что угодно. Все остальное у QT есть.

eXOR ★★★★★
()
Ответ на: комментарий от anonymous

Mr. анон, ви видимо из паралельно мира, где в этом треде обсуждаю .Нет.
В нашей реальности мы обсуждает mono

NonHuman ★★★
()
Ответ на: комментарий от KRoN73

>Идеально :) Лёгкие приложения, типа Tombo стартуют просто мгновенно. Более тяжёлые - на уровне качественных приложений с нативным кодом.

В жабе так же. Легкие приложения на Swing, типа BlogBridge, стартуют просто мгновенно. Более тяжелые с тяжелым нативным SWT-кодом типа RSSOwl , чуть подольше

anonymous
()
Ответ на: комментарий от r

>Жаба стартует приемлемо для .
>Шеловские утилиты писать будет не особо со стартом VM для каждой,

>ну утверждать что время запуска - 0.3-0.7 секунды для десктопного

>приложения это тормозит - вы делаете мне смешно.

>r


Ого! Да он признал что жаба все таки не для всего - хорошо! :)

Если честно - для меня ls вполне себе "пользовательского приложение" ... но я понял о чем ты. Пожалуй сформулируем вот так - для "тяжёлой" гуйни - жаба может быть приемлемым выбором. Но не лучше и не хуже мони.

anonymous
()
Ответ на: комментарий от r

>>Разве что недавно перекрещенный с винды бубунтоид ...
>Я еще Caldera Open Linux 4 ставил и ипался там с кириликизацией так что отдохни.


Та осспыдя, кто MVS за JCL'ы дергал - тот в цирке ... :)

>>Через неделю (когда загрузишься) - расскажи что вышло :)

>Я еще подменю сам шелл который их исполняет - и скорость моей загрузки будет отличатся - на 0.5 sec.


И сделаешь из юникса MS-DOS - всё в пространстве одного процесса - ну уж нет - кушайте это сами :) Думаешь другим эта идея в голову не приходила? Чтобы подвесить jvm шеллом то? Ну посмотри что есть Tomkat (если зреть в корень!) хотя - ты должен знать .....

>>Фортрана и процессора - ты спокойно утрёшь мне нос, не правда ли? :)


>Тебе как латентному виндузятнику (именно потому ты в остальных

> видишь виндузятников) не понять что кроме рук можно применять

>еще и мозг - посмотри на power shell который прекрасно

>работает на .NET.


Муха-ха! Вопрос к публике - и кто после этой фразы "латентный виндузятник"? Я вот к примеру этого зверя в глаза не видел :)

Тем не менее - покажи пример скрипта для этого зверька, да с конвеерами и под-шеллами ... сдаётся мне что ничего в этом смысле не поменялось ,)


anonymous
()
Ответ на: комментарий от GuttaLinux

> ebuild_waiter.exe официант ебилдов? круто.

anonymous
()
Ответ на: комментарий от anonymous

> OSS аналог платформы стандарт на которую контролирует монополист нужен только монополисту и его "друзьям".

марш в школу учиться ставить запятые!

anonymous
()
Ответ на: комментарий от NonHuman

>Медленный стардап Java, лаги в реакции на действия пользователя, ненатуральный интерфейс.

Заменяем слово Java на OOo, Mozilla, Qt под Gnome, Gnome под Qt, etc - что меняется?

>Вместо простых ответов вы начинаете переводить разговор в сторону. Самы последний пример - первод стрелок на ТК.


Это не в сторону - а очень прямо - демонстрация предубеждения и двойных стандартов. Очень много приложений имеют "ненатуральный вид" - начиная с firefox который стоит практически у каждого. Но агресивные претензии только к жабским.

>Хм.. должны бы уже к этому возрасту порастерять веру в "Единственно верную и политически правильную" технологию.


У меня ее никогда не было. Более того жаба как язык мне не нравится.

Меня убивает вера в стереотипы и абсолютное невидение очевидного - что если хелло ворлд стартует X и жажук стартует Y - то X-Y - это работа приложения, а не скорость запуска.


r ★★★★★
()
Ответ на: комментарий от KRoN73

>Там ситуация ещё хуже, чем с Java.

Следовательно можно предположить вывод что если применяется оконный тулкит отличный от стандартного - приложение будет выглядеть отлично от стандартного, признать что таких приложений вагон кроме тех которые написна на qt под KDE, и на GTK под гном - и перестать уже страдать фигней?

> И тут - ну какой двойной стандарт, если Jajuk сравнивался с Banshee и даже питоновским Quodlibet? Или, опять таки, у Jajuk функционал на голову мощнее? А куда он тогда спрятан? :D


А какое это все имеет отношение к времени старта жабы?

> Ты внимательно ли читал то, что я тебе писал в теме? Я никогда не отзывался положительно о Digikam'е.


Ды ты и здесь отрицательно не о жажуке высказываешься, а о времени старта жабы. Про дижикам ты говоришь, что он плохой из-за того, что сам по себе плохой, а по поводу жажуков - говоришь, что он плохой потому, что жаба. То есть на основании запуска конкретных приложений ты делаешь всеобемлющие выводы о платформе в случае жавы и не делаешь их относительно Qt/C++. Вот это я и называю двойным стандартом.

r ★★★★★
()
Ответ на: комментарий от eXOR

> От приложения зависит. Некоторые можно и по 5 минут ждать пока запустятся.

Правильно. А жаба там одна и таже.

r ★★★★★
()
Ответ на: комментарий от NonHuman

>но 0.7 секунд для приложения, котороничего не делает - это много.

Оно не ничего не делает. Ничего не делает - это написанный на С пустой майн. А запустить всю графическую либу - это чуть больше чем дофига. Аналог - если на приложении на каком нить страшно EJB написать hello world - к редхатовскому жбосу будут претензии что он минуту запускался с приложением которыое ничего не делает или нет?

r ★★★★★
()
Ответ на: комментарий от anonymous

>Ого! Да он признал что жаба все таки не для всего - хорошо! :)

Он никогда не утверждал что на жабе нужно писать утилитки для шела.

>ожалуй сформулируем вот так - для "тяжёлой" гуйни - жаба может быть приемлемым выбором. Но не лучше и не хуже мони.


О чем я и говорю весь топик.

r ★★★★★
()
Ответ на: комментарий от anonymous

>И сделаешь из юникса MS-DOS - всё в пространстве одного процесса - ну уж нет - кушайте это сами :)

В каком еще пространстве одного процесса - ты что курил?

>Я вот к примеру этого зверя в глаза не видел :)


http://en.wikipedia.org/wiki/Windows_PowerShell

> Тем не менее - покажи пример скрипта для этого зверька, да с конвеерами и под-шеллами ... сдаётся мне что ничего в этом смысле не поменялось ,)


Там в другом смысле поменялось - ты можешь юзать всю платформу .NET оттуда и вообще всю венду. То есть появился очень мощный скриптинг с оыень можными возможностями. НАпример результат выполнения команды чуть больше чем текст, и его не надо разбирать - он обмениватеся вполне себе структурированными данными.

r ★★★★★
()
Ответ на: комментарий от r

> Правильно. А жаба там одна и таже.

Разная. А зачастую вообще нет.

eXOR ★★★★★
()
Ответ на: комментарий от r

>А какое это все имеет отношение к времени старта жабы?

На колу мочало, начинай сначала.

KRoN73 ★★★★★
()
Ответ на: комментарий от r

>>И сделаешь из юникса MS-DOS - всё в пространстве одного процесса - ну уж нет - кушайте это сами :)
>В каком еще пространстве одного процесса - ты что курил?


Тогда разъясняй чего ты имел в виду. Я думал ты хочешь повесить jvm в памяти ако демона и цеплять к нему свои классы на выполнёж :)
Давай свою идею - это всяко интереснее чем ботва Java-vs-Mono ...

>>Я вот к примеру этого зверя в глаза не видел :)

>http://en.wikipedia.org/wiki/Windows_PowerShell


Излагают красиво ... "откиньтесь на спинку кресла"(С) :)
Посмотрим что они на самом деле накодили ....

>НАпример результат выполнения команды чуть больше чем текст,

>и его не надо разбирать - он обмениваться вполне себе >структурированными данными.


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

anonymous
()
Ответ на: комментарий от anonymous

>Ну вот сходу - заявлено как преимущество ... а я сомневаюсь. Гибкости в этом нет

Хрена се гнибкости нет. На `id root` получишь не строчку, а вменяемый список в котором можно и поискать и проитерироаться. В ls получаешь не странную таблицу ап объекты типа файл у которых можно спросить и размеры и даты и все такое прочее.

r ★★★★★
()
Ответ на: комментарий от r

> На `id root` получишь не строчку, а вменяемый список в котором можно и поискать и проитерироаться. В ls получаешь не странную таблицу ап объекты типа файл у которых можно спросить и размеры и даты и все такое прочее.

А для этого точно нужны Ява или Моно? :) На обычном шелле тоже можно искать и итерироваться. Я бы еще понял, если бы PowerShell или (гипотетический) JavaShell были статически типизированными... но если они динамические - чем они лучше того же Hotwire?

tailgunner ★★★★★
()
Ответ на: комментарий от r

>Хрена се гнибкости нет. На `id root` получишь не строчку, а вменяемый список в котором можно и поискать и проитерироаться.
>[ ... skip ..]

>r


Аха-аха - ну а что я получу на `superproga -id=r` ?

Или я не врубился или оно умеет работать только с тем кто выдает данные в понимаемом им формате? Ну типа ситуация:
compress -c somefile | uncompress - работает
tar -cvf somefile | uncompress - нет

Это ж ___всё___ переписывать! 8-о
M$ way as it is ....

anonymous
()
Ответ на: комментарий от tailgunner

>А для этого точно нужны Ява или Моно?

Нет конечно. Просто и на такой тяжелой платформе как .NET или жаба можон писать хороший шелл.

r ★★★★★
()
Ответ на: комментарий от anonymous

>Это ж ___всё___ переписывать!

А по твоему посикс и гну утилс в текущем виде - на веки вечные? Изобретение на все времена?

r ★★★★★
()
Ответ на: комментарий от r

>А по твоему посикс и гну утилс в текущем виде - на веки вечные? >Изобретение на все времена?
>r



Нет, не считаю.
Но с другой стороны колесу уже 5 тысяч лет и ничего - ездим ...


PS: каптча вырубила - nobyer

anonymous
()
Ответ на: комментарий от r

Re^2: Mono 2.0

>>А для этого точно нужны Ява или Моно?

> Нет конечно. Просто и на такой тяжелой платформе как .NET или жаба можон писать хороший шелл.


И что это доказывает? Шелл можно хоть на брейнфаке написать

gaa ★★
()
Ответ на: комментарий от r

Re^4: Mono 2.0

>> И что это доказывает?

> Что они для этого подходят.


То есть брейнфак тоже подходит для написания шеллов? Мощно.

А относительно удобства использования ЖабаШелла: мне кажется, что шелло-пайповые принципы работы вообще не очень укладываются в ооп. Всё-таки ls | grep jopa далеко не то же самое, что out.println(dir.list().filter(new regexp(".*jopa.*")).join("\n"))

gaa ★★
()
Ответ на: Re^4: Mono 2.0 от gaa

>А относительно удобства использования ЖабаШелла: мне кажется, что шелло-пайповые принципы работы вообще не очень укладываются в ооп.

А при чем тут вообще ООП?

Вот цитата из павер шелла: ps | ? { $_.WS -gt 1000MB } | kill -whatif

r ★★★★★
()
Ответ на: комментарий от r

Re^6: Mono 2.0

>>А относительно удобства использования ЖабаШелла: мне кажется, что шелло-пайповые принципы работы вообще не очень укладываются в ооп.

> А при чем тут вообще ООП?


Ну, наверно. при том, что жаба и точканет -- оо-платформы.

> Вот цитата из павер шелла: ps | ? { $_.WS -gt 1000MB } | kill -whatif


Что-то шибко непоказательная цитата. Не видно в ней могучести МогучегоШелла. Потому что от юниксового варианта с awk и xargs отличается только отсутствием необходимости помнить номер колонки.

gaa ★★
()
Ответ на: Re^6: Mono 2.0 от gaa

>Ну, наверно. при том, что жаба и точканет -- оо-платформы.

А ты языки и платформы не путаешь?

>Не видно в ней могучести МогучегоШелла.


Вней его видно. В греп пайпом передается структура у которой сравнивается поле. А не текст.

r ★★★★★
()
Ответ на: комментарий от r

Re^8: Mono 2.0

>>Ну, наверно. при том, что жаба и точканет -- оо-платформы.

> А ты языки и платформы не путаешь?


Нет.

>>Не видно в ней могучести МогучегоШелла.


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


И всё же, где тут могучесть?

gaa ★★
()
Ответ на: комментарий от r

> В каком месте это вина компилятора и языка?

В то время, когда высера^W проектировали яву, всем уже было ясно, хотя бы на примере плюсов, что типобезопасные коллекции требуют параметризованных типов. Тем не менее, параметризованных типов в яве не было.

Прошло офигеть сколько лет, и они наконец разродились параметризованными типами. Но поскольку JVM ковырять было уже нельзя, эти типы неполноценны - в рантайме они все равно не параметризованы.

(Хотя, конечно, и такие шаблоны тоже нужны, не только плюсовые).

www_linux_org_ru ★★★★★
()
Ответ на: Re^8: Mono 2.0 от gaa

> И всё же, где тут могучесть?

А что - неочевидно что структурированные данные лучше и проще обрабатываются чем неструктурированные?

r ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

>В то время, когда высера^W проектировали яву, всем уже было ясно, хотя бы на примере плюсов

Это смешно. На примере лиспа я подобных очевидностей могу подкинуть вагон и маленькую тележку для любого языка. На этом основании предлагаю похерить все включая плюсы (особенно учитывая наборы костылей типа буста), как высра^W хреново спроектированные языки. "C" - к стати тоже такой же высер.

r ★★★★★
()
Ответ на: комментарий от r

>> И всё же, где тут могучесть?

> А что - неочевидно что структурированные данные лучше и проще обрабатываются чем неструктурированные?


Очевидно, что это легче записывается. Про производительность вопрос открыт.

Но могучести всё равно не видно, тем более для шелла поверх навороченной платформы.

gaa ★★
()
Ответ на: комментарий от gaa

> Очевидно, что это легче записывается. Про производительность вопрос открыт.

Сильно подозреваю что по производительности тоже. Отсутствует фаза сериализации в текс и парса. Все читается as is.

>Но могучести всё равно не видно, тем более для шелла поверх навороченной платформы.


Уже одно это очень могучая вещь.

А по поводу платформенной могучести:

$rssUrl = "http://blogs.msdn.com/powershell/rss.aspx";
$blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl)
$blog.rss.channel.item | select title -first 8

r ★★★★★
()
Ответ на: комментарий от r

> На примере лиспа я подобных очевидностей могу подкинуть вагон и маленькую тележку для любого языка

Я тебя за язык не тянул.. давай-давай, на примере лиспа

anonymous
()
Ответ на: комментарий от anonymous

>Я тебя за язык не тянул.. давай-давай, на примере лиспа

В С лямбды есть? Гавно! Уже 30 лет было на примере имплементации и 50 на примере теории известно про лямбда исчисления, и лямбда абстракцию.

Хватит с тебя.

r ★★★★★
()
Ответ на: комментарий от r

фу, как низко.. я то думал, ты выдашь чего-то вроде "в то время, когда высерали Х, уже давно было понятно на примере лиспа, что...", поэтому, дескать лисп плохо спроектирован.

Авотфих. Не высера^W выходит каменный цветок^W^W критика-то, ага?

При чем тут "С и лямбды"? C не ради лямбд проектировали.

anonymous
()
Ответ на: комментарий от anonymous

>поэтому, дескать лисп плохо спроектирован.

Вниматьельнее читать надо.

>При чем тут "С и лямбды"? C не ради лямбд проектировали.


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


r ★★★★★
()
Ответ на: комментарий от r

> уже задача для консилиума лоровских специалистов и 10 страниц вариантов,

да! тот тред никогда не забуду :) это было зачетное представление

Korwin ★★★
()
Ответ на: комментарий от Korwin

>да! тот тред никогда не забуду :) это было зачетное представление

Какой трэд? ссылку в студию?

FiXer ★★☆☆☆
()
Ответ на: комментарий от r

> В С лямбды есть? Гавно! Уже 30 лет было на примере имплементации и 50 на примере теории известно про лямбда исчисления, и лямбда абстракцию.

В лиспе были в районе 1970 статически типизированные лямбды? Не было? Тогда отвали от С, который делался статически типизированным языком. Для 1970 это был вполне приличный язык.

( Кстати, удивительно долгий путь лямбд в плюсы меня самого поражает. )

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от r

> Да проще подойдем - даже строк в языке нет - две строки склеить - <...> сводится к тому чтобы найти либу которая уже их клеит правильно.

А тебе надо, чтобы это было обязательно в языке? Путь "пусть напишут либу и юзают" намного лучше.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от r

> На примере лиспа я подобных очевидностей могу подкинуть вагон и маленькую тележку для любого языка

На примере лиспа, где статическая типизаци не обязательна (и предположу, что в сложных случаях никем и не используется), ты НЕ СМОЖЕШЬ подкинуть примеров для языков со статической типизацией -- а именно C++, Ява, С#.

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

А как язык с динамической системой типов -- да, яву можно использовать и так -- она почти полностью хуже лиспа.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> На примере лиспа, где статическая типизаци не обязательна (и предположу, что в сложных случаях никем и не используется), ты НЕ СМОЖЕШЬ подкинуть примеров для языков со статической типизацией -- а именно C++, Ява, С#.

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

www_linux_org_ru ★★★★★
()

Ежели про павершел речь зашла , там очень удобная штука это автодополнение параметров. В юнишовом шеле такого нет

cap838383
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.