LINUX.ORG.RU

Вышел Mono 3.0

 , ,


0

2

После полутора лет разработки вышел мажорный релиз открытой кроссплатформенной реализации .NET Framework Mono 3.0.

Что нового:

  • Компилятор C# 5.0 с поддержкой асинхронного программирования.
  • Поддержка ASP.NET MVC 4, Razor.
  • Поддержка Entity Framework.
  • Новый высокопроизводительный сборщик мусора SGen.
  • Начальная поддержка CodeContracts.
  • Множественные улучшения производительности.

Поддержка и обновления mono 2.10 будут продолжаться еще в течение полугода.

>>> Подробности



Проверено: anonymous_incognito ()
Последнее исправление: cetjs2 (всего исправлений: 1)

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

Не не предлагаю - мне паскали самому нужны. Есть подозрение, что если изучу кресты, то они займут в голове столько места, что не смогу детально вспомнить что хотел напейсать и смогу только копипастить чужие реализации.

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

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

Пека net широко используется и развивается, разрабы моно на ломку совместимости не пойдут - уменьшится его ценность и придётся тратить усилия на придумывание новых классов.

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

За меня это разрабы лазаруса сделали

Ну так бы и написал, что лазарус использует из Qt только GUI. А то «многие», «многие»...

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

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

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

А сможет ли уже?

практически наверняка, учитывая кол-во патентов на руках у микрософт, они даже пользователей ядра линукс ими шантажируют, а про копию их разработки (в том числе и с заимствованием кода) - и говорить не стоит

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

Ну так бы и написал, что лазарус использует из Qt только GUI. А то «многие», «многие»...

А что не так;) Среди его пользователей много линуксоидов и многие из них используют Qt.

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

Откуда дровишки?

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

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

Они ведь сами их предоставили. Плюс в большинстве стран патенты на ПО не действуют. Я не знаю что там с лицухой, но если GPL то какбэ форкнуть даже можно.

Тащема, но если все-таки все так плохо, нужно свой дотнет написать, с б/дж и ш. И тогда ни жаба ни шарп будут не нужны.

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

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

Круто, где можно посмотреть исходники библиотеки .NET?

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

Имеется огромная несовместимость с имеющимися знаниями и невозможность использовать привычные, более удобные, конструкции и синтаксис. И рано или поздно, но придётся разбирать чужой код написанный с пачками define, в стиле перла, «как угодно» и вот тут-то и придётся осваивать ещё и его.

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

О чем и речь. Вышеприведенные куски были из mono, каким образом wota определил их совпадение с исходниками .net, мне весьма интересно.

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

Хозяин - барин. Нравится делфа - оставайся на ней. Но модель ООП в крестах намного лучше чем в делфе, по моему скроменому мнению.

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

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

Может wota - это никнейм Андреса Хейльсберга, он просто сразу узнал свой код? =)

Хороший, годный анонимус.

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

По ссылке - только доступные части. Нужно смотреть лицензию, чтобы опредеить допустимо/недопустимо их использовать. А на закрытую часть посмотреть?

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

А на закрытую часть посмотреть?

а я разве говорил про 100% доступность кода? я говорил про совпадение того, что доступно, а в их EULA написано, что данный код нельзя использовать для продуктов не для Microsoft Windows, что очевидно делает mono весьма уязвимым

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

Нравится делфа - оставайся на ней.

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

Но модель ООП в крестах намного лучше чем в делфе, по моему скроменому мнению.

Да, в объектпаскале и лазарусе в классах некоторых фич не хватает, но там где это возможно процедурщина меня привлекает больше:)

Napilnik ★★★★★
()
Последнее исправление: Napilnik (всего исправлений: 1)
Ответ на: комментарий от wota

Хз, здесь нужен грамотный юрист с знанием англоскасонской системы права.

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

Сейчас посмотрел код методов в Visual Studio, что-то не вижу я здесь посимвольного совпадения:

[System.Security.SecuritySafeCritical]  // auto-generated 
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
public static void WriteAllLines(String path, String[] contents)
{ 
    if (path == null)
        throw new ArgumentNullException("path"); 
    if (contents == null) 
        throw new ArgumentNullException("contents");
    if (path.Length == 0) 
        throw new ArgumentException(Environment.GetResourceString("Argument_EmptyPath"));
    Contract.EndContractBlock();

InternalWriteAllLines(new StreamWriter(path, false, StreamWriter.UTF8NoBOM), contents); 
}

[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)] 
private static void InternalWriteAllLines(TextWriter writer, IEnumerable<String> contents) 
{
    Contract.Requires(writer != null); 
    Contract.Requires(contents != null);

    using (writer)
    { 
        foreach (String line in contents)
        { 
            writer.WriteLine(line); 
        }
    } 
}

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

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

Оба куска кода из Mono. Я зуб за достоверность инфы не дам, но вроде с тех пор как микрософт приоткрых исходники дотнета (правда под Microsoft Reference License (MS-RL), т.е. только на посмотреть), разрабы моно специально с ними сверяются, чтобы нигде небыло точных совпадений.

P.S. Кроме того, тут говорили о том, чтобы сломать совместимость с дотнетом. Вот тут облом. Мелкомягкие поступили достаточно хитро - их обещание не преследовать по патентам свободные реазизации дотнета (Microsoft Community Promise) работает только в том случае, если эта реализация полностью соответствует стандарту (ECMA/ISO).

Gris
()

Рановато они, тарболла libgdiplus 3 еще нет.

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

может, но не всегда, причем может именно в большинстве случаев, когда и используют using

Нет, не может. И в случае using не может. Нет никакого способа определить жив ли созданный в using объект после выхода из using или мертв. Потому что мы могли например взять и положить этот объект в список, который создан до using. При чем кладем или нет - может зависеть от какого-то предиката, значение которого зависит от ввода пользовательских данных.

Хотя вообще способ определить на самом деле есть - уникальные типы из Clean, благодаря которым можно гарантировать, что объект не улетел куда-то там по ссылке. Но если уникальный типов в ЯП нету - и способа нету.

anonymous
()

Тащемта уже спрашивал, но хочется все-таки узнать мнение многоуважаемых коллег по поводу nginx+mono+xsp или apache+mono+xsp. Кто-нибудь юзал? Если юзал, то как оно работает, нормально? Коммерческий проект потянет?

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

Его реально кто-то использует? Такое ощущение, что после банкротства Новелла и будучи брошено Мигелем,оно постепенно дохнет.

Зачем бросать хорошую вещь, если с относительно малыми телодвижениями можно переносить коммерческие приложения из мира DOT NET в мир Mono?

proof: http://www.fast-report.com/ru/products/fast-report-mono.html

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

в качестве скриптов в Unity3D (бета которого уже с линуксом дружит). Неплохое применение так как C# изначально был стандартизован да и МС в отличии от оракла с явой судится не пытается. Достаточно не использовать сборки от МС. Также mono используется в PlayStation Vita аналогично. Удобный язык + сборки от Sony

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

чем оно лучше java?

Пришло время напомнить разницу тупым жабокодерам. Зоопарк вопросов:

- где в Java замыкания?

- где лямбды?

- где свойства?

- где шаблоны? Разработчики Java вынуждены только облизываться. Даже генерики, введённые в 5-й версии Java — не более, чем syntactic sugar. Дотнетовские генерики это реально поддерживаемые платформой типы, которые расширяются на лету при загрузке, которые оптимизируются JIT-компилятором. Для Java генерики существуют только в коде, и ни JIT, ни загрузчик классов их никогда не видит. Поэтому проблемы боксинга, преобразования типов в runtime просто скрыты от программиста.

- где делегаты/события?

- где partial классы?

- где детерминированное освобождение ресурсов (ключевое слово using + интерфейс IDisposable)?

- где оптимизация JVM для расширений процессоров?

- где аналог LINQ и в частности удобные мапперы?

- где расширения методов класса?

- где скрытая имплементация интерфейсов?

- где перегрузка параметров функций?

- где нормальное потребление памяти приложением?

- где быстрая работа приложения?

- где нормальные IDE, с полноценными дизайнерами?

- где пользовательские value types?

- где методы у инстансов value types?

- где var и вывод типов?

- где перегрузка операторов?

- где полноценное ООП, без цирка с примитивными типами?

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

Реально нужно только пункта 3-4 из всего того, что вы привели. А кое-что в жабе есть.

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

Типичный ответ человека, который не знает о чём говорит.

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

Вы бы разобрались, как работают указатели в C#. Прирост в производительности просто колоссальный при обработке больших объёмов данных с использованием указателей, действительно приближённо к производительности решения на C/C++. То, что компилятор якобы может лучше компилировать управляемый код — к сожалению, в большей мере сказка.

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

Если бы Sun когда-то не открыла, не было бы такого. А так — Mono тоже GPL. Неужели не слышали о том, как Oracle троллит Google из-за пары строк кода из Java.

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

А с учётом того, сколько сайтов работает на PHP, все должны использовать PHP и только PHP. И ни в коем случае ничего другого LOL

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

Программ на C# валом, на Mono меньше, но тоже хватает. Сочувствую, если вас забанили в Google.

Ну и если мерять качество технологии по тому, сколько всего на ней написано — пожалуйста, пишите всё на PHP. Он заткнёт по количеству бесплатного программного хлама любой другой язык.

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

Читать как: «Программ на C# под .NET валом, под Mono меньше, но тоже хватает.»

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

Если что-то не устроит - кидайте в меня камни.

Кину тебе привет из Новошахтинска ;)

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

Программ на C# валом

Почему у меня нет ни одной? Ах, есть, Loditech SetPoint.exe и Intel IAStorUI.exe

Более толкового ничего не попадалось

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

Если бы Sun когда-то не открыла, не было бы такого

ах если бы, да кабы... ну ты понел

Oracle троллит Google из-за пары строк кода из Java

ну так оракыль начал тянуть за яйца как раз из-за того, что дальвик не гпл и вообще содрали api не спросив

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