LINUX.ORG.RU

XobotOS — порт Android на C#

 , , , , xobotos


0

3

XobotOS — проект компании Xamarin, целью которого является портирование Android с Java/Dalvik на C# для исследования преимуществ C# в отношении производительности, ресурсоёмкости и энергопотребления, а также для обеспечения перспективной платформой для создания мобильных приложений как для Android, так и для Apple iOS и Windows Phone.

Работа была начата в 2011 году с Android 2.x, на данный момент большая часть (более миллиона строк кода) XobotOS переписана на C# с Android 4.0. В настоящее время прямой доступ к графическому движку Skia, используемым Android, осуществляется через библиотеки Java, которые впоследствии тоже должны быть замещены Mono.

По заявлению разработчиков, в результате портирования XobotOS показывает гораздо более высокую производительность и более низкое энергопотребление по сравнению с Android.

Xamarin не собирается поддерживать эту ОС в будущем для промышленного использования — «Наша цель создать платформу для разработки мобильных приложений и в будущем сама XobotOS не будет являться нашей основной целью».

XobotOS на GitHub

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

★★★★★

Проверено: DoctorSinus ()
Последнее исправление: Silent (всего исправлений: 2)
Ответ на: комментарий от encyrtid

Э не... Это читерство. Мне не нужно ПОРТИРОВАННЫЙ на МОНО Paint .NET

Mono пзиционируется как замена .NET Вот пусть заменяет. У меня на работе 1000 и 1 софт написанный на .NET начиная от Банк Клиентов и заканчивая всякими бухгалтериями. Нафиг нужен МОНО если он ничего не может?

Grim написал:

dll, exe можно запускать и моно и .net если программсит специально не написал непереносимый код.

Я считаю за базар надо отвечать! А то получается. что ВЕСЬ .NET Софт писали тупые уроды СПЕЦИАЛЬНО чтоб он не работал под MONO

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

А ничего что значительная часть Paint.NET написана на С++ с вендозависимыми компонентами?

А почему? Ведь .NET такой клевый. Тут все прям аж тащатся от него. А тут выясняется. что даже .NET на 90% нифига не .NET

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

А почему? Ведь .NET такой клевый. Тут все прям аж тащатся от него. А тут выясняется. что даже .NET на 90% нифига не .NET

С веществами завязывай. Почему его не написали полностью на C# - вопрос к разработчикам.

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

Э не... Это читерство. Мне не нужно ПОРТИРОВАННЫЙ на МОНО Paint .NET

Смешно.
На любом ЯП можно написать непереносимую программу, которая не заработает не то что под другой платформой но даже на соседнем компе.
Разработчики paint.net официально заявили, что пишут непереносимый код.
Что-то ещё непонятно?

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

С веществами завязывай. Почему его не написали полностью на C# - вопрос к разработчикам.

Итак ваши тезисы:

1) .NET кросплатформенный.

2) .NET высокоэффетивен!

Так?

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

Отвечаю на свой, же вопрос> Итак ваши тезисы:

1) .NET кросплатформенный.

2) .NET высокоэффетивен!

Так?

1) Мы видим .NET на ЕДИНСТВЕННОЙ платформе - Windows. MONO в общем случае запускает не более 10% .NET софта. Ин факт - если софт СПЕЦИАЛЬНО не писать с оглядкой на МОНО он не пашет под ним. Даже если grim скинул скриншот не порта Paint.NET, то в левом нижнем углу фэйл!

Если вы называете это Кроссплатформенностью, то тот же перл вообще лидер в этом.

2) Тут некто говорил, что Paint.NET на C++. Office 2010 оказывается не на .NET

Это чего - создатель такого эффективного фреймворка сам им не пользуется? Что там с VS? На чем написан IE 10?

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

Это чего - создатель такого эффективного фреймворка сам им не пользуется? Что там с VS? На чем написан IE 10?

Большая часть офиса и Visual Studio написаны на С++, на дотнете у них морды. Оба этих продукта старше .NET, с какого перепуга нужно бросаться переписывать ядра таких больших систем на .NET мне непонятно.

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

Видно вы совсем не знаете про софт на винде.Все игры,а также стандартные программы(WordPad,Paint,Проигрыватель) написаны на Шарпе.Visual Studio написана на шарпе.MS Office написан на шарпе,точнее его интрефейс.Вам продолжить?

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

Зачем?Их так зоопарк,и каждый ,как он говорит «индивидуален».

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

с какого перепуга нужно бросаться переписывать ядра таких больших систем на .NET мне непонятно.

А нафиг тогда вообще .NET? Яб понял, что МС пытается делать windows для любых CPU. В свое время Альфу и МИПС они слили. А так мы получаем медлительность VM+Зависимость от CPU нативных языков. Это что атракцион нмерянного идиотизма? Не верю.

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

Visual Studio написана на шарпе.MS Office написан на шарпе,точнее его интрефейс.Вам продолжить?

Тут в треде люди и без меня спорят сами с собой. То написан, то интерфейс написан.. вы уж решите сами. Что там насчет flatout? Он на .NET? Или Скайрим?

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

Где я утверждал подобное?

Ок - тогда согласись переписывание Android на .NET это анонизм вприсядку.

Неа. У C# много преимуществ перед жабой, он грамотнее спроектирован и активно развивается, тогда как жаба отстала от индустрии лет на 30. В C# есть нормальные generics, а не это жабское убожество с type erasure, отсутствие boxing для примитивных типов, нормальные value-types, лямбды, linq и др. В жабе до сих пор не осилили сделать примитивные лямбды (даже в таком перегруженном убожестве как кресты их ввели), а про что-нибудь в стиле linq я вообще молчу.

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

В C# есть нормальные generics, а не это жабское убожество с type erasure, отсутствие boxing для примитивных типов, нормальные value-types, лямбды, linq и др.

Это всё прекрасно.... Но C# не работает под Linux. MONO это попытка связать руки. Кроме ЯП Java есть всякие скалы и прочие Окамлы. Зачем усиленно фапать на мармеладки в чужом лагере? делай свои мармеладки. LINQ? Есть OpenJDK и откртытые реализации Java - реализуй. Ракель мешает? Давайте строить вокруг Go или CL или ХЗ что... C# нам никто не даст. Это было 100 лет. Ламборджини появился от факапа с Феррари!

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

Он похоже окончательно выпал из нашей реальности в парралельную

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

WordPad на шарпе? Как же он тогда без секса в чистейшем вайне запускается? Я что-то упустил?

ХЗ кстати. Вопервых смотря какой вордпад. Во вторых Wine уже и .NET умеет стартовать...

Но на самом деле невозможность работать на 3-х 4-х архитектурах для нынешних ОС (с софтом, без софта это к Inferno) это смерть

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

тогда согласись переписывание Android на .NET это анонизм вприсядку.

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

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

с какого перепуга нужно бросаться переписывать ядра таких больших систем на .NET мне непонятно.

А нафиг тогда вообще .NET? Яб понял, что МС пытается делать windows для любых CPU. В свое время Альфу и МИПС они слили. А так мы получаем медлительность VM+Зависимость от CPU нативных языков. Это что атракцион нмерянного идиотизма? Не верю.

По твоему единственное преимущество управляемых платформ типа .net или jvm - кроссплатформенность? Изначальной целью .net была не кроссплатформенность, а мультиязычность. Вот список языков поддерживаемых .net. Преимущества такого подхода объяснять? При этом программы, написанные на чистом .net легко переносимы.

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

WordPad на шарпе? Как же он тогда без секса в чистейшем вайне запускается? Я что-то упустил?

Нет, не на шарпе, скорее всего на крестах.

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

Но C# не работает под Linux.

Просто смешно.
Вы спорите с очевидными истинами.
вам привести ссылку на бистрибутив моно для линукс?

Кстати, моно в отличие от Java работает на iOS

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

Мне не нужен MONO. Мне нужен УЖЕ НАПИСАНЫЙ СОФТ и чтоб я его запустил без переписывания. С java это возможно. С Python я так делаю постоянно. А Моно или стерео мне пофиг.

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

В C# есть нормальные generics, а не это жабское убожество с type erasure, отсутствие boxing для примитивных типов, нормальные value-types, лямбды, linq и др.

Это всё прекрасно.... Но C# не работает под Linux. MONO это попытка связать руки. Кроме ЯП Java есть всякие скалы и прочие Окамлы. Зачем усиленно фапать на мармеладки в чужом лагере? делай свои мармеладки. LINQ? Есть OpenJDK и откртытые реализации Java - реализуй. Ракель мешает? Давайте строить вокруг Go или CL или ХЗ что... C# нам никто не даст. Это было 100 лет. Ламборджини появился от факапа с Феррари!

Нет, не Оракел. Мешает сама жаба и ее экосистема, из-за их тяги к обратной совместимости и изначальных ошибок в задумках, в жабе такие хреновые generics, нет нормальных примитивных типов, невозможна tail call optimization (кроме простых случаев на этапе компиляции) и прочее. И нет никаких перспектив.

По поводу «C# нам никто не даст»: спецификация самого C# открыта и свободно доступна, потенциальные проблемы возможны с компонентами WinForms, ADO.NET, ASP.NET и некоторыми другими. Причем MS понемногу открывает исходники, ASP.NET MVC, IronPython, IronRuby, F# открыты. Буквально на прошлой неделе была открыта очередная часть сетевого стека ASP.NET, так что вопрос что опаснее в плане копирастии, жаба или дотнет весьма спорный.

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

так что вопрос что опаснее в плане копирастии, жаба или дотнет весьма спорный.

Но в любом случае .NET опасен. Они умудрились судится за FAT. FAT это даже не балансирующие деревья!

Про: потенциальные проблемы возможны с компонентами WinForms, ADO.NET, ASP.NET и некоторыми другими.

Загибай пальцы. Это уже кошмар. 3 проблемы с лёту.

По поводу что опаснее. java мы уже используем. .NET пока нет. Надо делать свое. с Java уже накололись - идиотами надо быть чтоб теперь с одного говна перескочить на другое! C# разработан за два года. Никто не мешает сделать BOO или XOO или FOOBAR. Но не надо героическими усилиями 10 лет внедрять во все дыры MONO чтоб потом иметь проблемы с «с компонентами WinForms, ADO.NET, ASP.NET и некоторыми другими.»

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

Оракл обещал что в 8й яве появятся лямбды

На дворе 2012-й год, когда они лямбды введут, в других языках уже ИИ будет введен.

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

По поводу что опаснее. java мы уже используем. .NET пока нет. Надо делать свое. с Java уже накололись - идиотами надо быть чтоб теперь с одного говна перескочить на другое! C# разработан за два года. Никто не мешает сделать BOO или XOO или FOOBAR. Но не надо героическими усилиями 10 лет внедрять во все дыры MONO чтоб потом иметь проблемы с «с компонентами WinForms, ADO.NET, ASP.NET и некоторыми другими.»

Ололо, а тонны библиотек на новый язык ты за 2 года перепишешь? Та же жаба используется из-за гигантского количества библиотек, если их не будет - жаба сразу же вымрет. Вспомни свой любимый пистон, сколько лет не могут перевести все библиотеки на новую версию питона, что в разы легче портирования на новый язык. И конца этой катавасии с 2-м и 3-м питонами не видно. По поводу потенциально опасных компонентов: под mono используют Gtk# вместо WinForms, вместо ado.net есть куча свободных альтернатив (например nhibernate), asp.net mvc - свободен, на старом asp.net нового почти не пишут. Это удобно при портировании - все и так заработает, а если есть патентная паранойя - можно неспеша все переписать на свободные компоненты.

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

Мне нужен УЖЕ НАПИСАНЫЙ СОФТ и чтоб я его запустил без переписывания. С java это возможно.

Расскажите, как запускать Java приложения под iOS
А то я уже 15 лет на Java программирую и так и не смог этого сделать.

Мне не нужен MONO.

И зря.
Так оно работает под iOS

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

Ололо, а тонны библиотек на новый язык ты за 2 года перепишешь?

ололо а есть выход? лет 10 прийдется через RPC вызывать код на Java.

По поводу ado.net - это не жизнеспособное дерьмо. Даже МС его уже хоронит.

а если есть патентная паранойя - можно неспеша все переписать на свободные компоненты.

Так надо делать это, а не писать на .NET А тут мигель опять развел старые песни. .NET зло и не надо играть с ним.

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

Расскажите, как запускать Java приложения под iOS

Это 10% которые не работают. Как и PDP11

Так оно работает под iOS

И что? Мне не нужен МОНО мне нужны Банк клиенты или Паинт нет или МС оффис! МОНО? Не - не слышал!

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

Мне нужен УЖЕ НАПИСАНЫЙ СОФТ и чтоб я его запустил без переписывания. С java это возможно.

Расскажите, как запускать Java приложения под iOS
А то я уже 15 лет на Java программирую и так и не смог этого сделать.

С Python я так делаю постоянно.

Ну и расскажите как пы писали программы для iOS на питоне, пожалуйста.

Мне не нужен MONO.

И зря.
Так оно работает под iOS

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

Это 10% которые не работают. Как и PDP11

Т.е. не работает
и iOS это совсем не 10%


И что? Мне не нужен МОНО мне нужны Банк клиенты или Паинт нет или МС оффис! МОНО? Не - не слышал!

А мне не нужно.
Вам нужно вы и ищите что ко мне пристаёте?

Кстати, нахрена банку клиент на моно, если он у меня в любом браухере работает?

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

Так надо делать это, а не писать на .NET А тут мигель опять развел старые песни. .NET зло и не надо играть с ним.

Аргументы помимо фанатичных выкриков будут, или как?

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

На дворе 2012-й год, когда они лямбды введут, в других языках уже ИИ будет введен.

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

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

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

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

Не помню
Я до конца не часто тред выдерживаю.
Только если скучно и делать нечего :)

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

Лучшая обратная совместимость — второе имя java.

А так C#, конечно, прогрессивнее, и виртуальная машина у них намного больше всего умеет, оптимизации прозрачнее и все такое.

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

Кстати, нахрена банку клиент на моно, если он у меня в любом браухере работает?

Это вы спросите у вашего любимого Сбер Банка. Нафига в наше время делать не Web БК

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

Но C# не работает под Linux

Читал тред. Повторюсь.

Mono является реализацией .NET под UNIX-системы. Код написанный на C# работает одинаково хорошо под MS .NET в оффтопике и под Mono в Linux.

Не портированы под Mono библиотеки GUI WinForms и WPF, не портированы - и не будут.

At this point, no group in the Mono project has plans to implement Windows Presentation Foundation APIs as part of the project.

Зато есть Gtk#.

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

Не портированы под Mono библиотеки GUI WinForms и WPF, не портированы - и не будут.

Тоесть софт написанный с WFP не работает под Linux?

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

Не портированы под Mono библиотеки GUI WinForms и WPF, не портированы - и не будут.

Сколько раз уже говорили: Support for Windows Forms 2.0 is complete. В WinForms на .net используется родной WinAPI, в Mono - Gtk. А вот поддержки WPF нет и не будет, т.к. он тащит за собой DirectX.

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

До сих пор не доходит? Мда, линукс разъел твой мозг.

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

Пардонте, про WinForms буду знать.

Ну а WPF не будет. Рекомендуют ограничиться silverlight (подмножество WPF в некотором смысле), который может запускать вне браузера.

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

Сервелат - отстой. Сама MS о нем негативно отзывалась, в Win8 интерфейсы планируется переводить на html5 + js.

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

Да.

Тоесть софт написанный на кроссплатформенном .NET работает только под Windows?

И еще вопрос. Каков процент реального софта написан с WPF?

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

Тоесть софт написанный на кроссплатформенном .NET работает только под Windows?

Никто никогда не заявлял по полной кроссплатформенности .net, .net легко переносим но абсолютной переносимости нет и не будет. Ты постоянно напираешь на переносимость как единственно значимый критерий, но далеко не все так считают, есть много других критериев, как я писал выше, например скорость разработки. В самом mono есть некоторые фичи, которых нет в .net. Если изначальной целью будет написание кроссплатформенной программы - все будет работать отлично. Но большинство .net программистов кроме винды не знают ничего и пишут по привычке, дергая напрямую WinAPI, например. Это больше вопрос культуры программирования, а не конкретной технологии (пример из с++ - неграмотные виндовые программисты для паузы используют getch() из conio.h).

И еще вопрос. Каков процент реального софта написан с WPF?

Точно сказать не могу - но не слишком много. WPF - это в основном свистоперделки, полезного там мало. Тем более, как я уже упоминал - MS в плане гуя делает ставку на html5 + js для новых продуктов.

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

планомерное упрямство

Можно сто раз перефразировать вопрос с глубокой целью подвести ответ под свой тезис.

Но для таких специально: перед тем как писать любое кроссплатформенное приложение необходимо удостовериться в наличии не только пускалики приложения но и всех используемых компонентов под целевой платформой. И будет вам счастье.

Каков процент реального софта написан с WPF?

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

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

Но большинство .net программистов кроме винды не знают ничего и пишут по привычке, дергая напрямую WinAPI, например.

Почему это не происходит с Java программистами?

Я сейчас объясню вообще к чему я клоню.

demmsnt
()
Ответ на: планомерное упрямство от DiX

Но для таких специально: перед тем как писать любое кроссплатформенное приложение необходимо удостовериться в наличии не только пускалики приложения но и всех используемых компонентов под целевой платформой. И будет вам счастье.

Или просто писать на Java не думая....

demmsnt
()
Ответ на: планомерное упрямство от DiX

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

Ок пусть это 5% Какие еще технологии не поддерживаются? 5+5+5+5.....

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

Думать все же надо иногда.

.NET дает возможность использовать родные/привычные морды (WinForms|WPF на винде, Gtk). Mono доступен для разработки под iOS благодаря компиляции в нативный код, опять же с родной мордой.

И сам топик указывал первоначально на прирост производительности по сравнению с Android/Dalvik, который не JavaVM и библиотеки тоже другие.

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

Или просто писать на Java не думая

... и тогда получаются клиенты SAP/R3, HP ServiceDesk и Oracle Installer, которые ВНЕЗАПНО нифига не кроссплатформенные. Думать надо всегда - даже на Java.

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

Думать надо всегда - даже на Java.

Ну согласен. Но с софтом на Java 90% софта пашет без перекомпиляции (в разумных пределах. Ясно, что на мобильнике эклипс не пашет)

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

Или просто писать на Java не думая....

Вот ты сейчас очень точно охарактеризовал жабомакак.

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

Ты слишком фанатик. Пацаны учат Java + (Scala or Clojure) + Oracle и валят за рубеж. А ты рассказываешь как индусы кодят под сисярпом и радуются жизни. Это ваш доднет имеет две с половиной библиотеки для гуйев и огрызок для сервер сайда. А у Java есть хадуп, большой выбор серверов приложений, и т.д, когда у сисярпа только Хайлсберг.

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

HTML5 самый стандартный.

Собственно особых проблем с разметкой HTML4 для IE8/9 уже и сейчас нет. Времена IE 6/7 прошли

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

Ты слишком фанатик

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

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

Ничего что тема про мобильные устройства?

Ынтерпрайз покорен JavaEE и немного JavaSE. Это да. Но тут про другое, не правда ли?

Оффтоп: ASP.NET MVC не такой уж и огрызок, теперь бана... открытый.

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

Ничего что тема про мобильные устройства?

Ынтерпрайз покорен JavaEE и немного JavaSE. Это да. Но тут про другое, не правда ли?

А почему покорен? Можно просто поменять архитектуру не переписывая софт. А что мобильные устройства уже особенные? Неужели всем стало выгодно перекомпилировать ангри бёрдз?

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

Взрыв. мозга.

HTML5 - язык разметки. Так? Пишем страничку на нем, используя ECMA-262 edition 5 для написания скриптов (проще говоря JavaScript). Запускаем страничку в браузере из под WP7 либо в Chrome.

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

Это вы спросите у вашего любимого Сбер Банка. Нафига в наше время делать не Web БК

Проблемы негров шерифа не волнуют.
У меня счета в нескольких банках и идиотов делающих клиенты на Java или .Net нету.

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

Mono пзиционируется как замена .NET Вот пусть заменяет. У меня на работе 1000 и 1 софт написанный на .NET начиная от Банк Клиентов и заканчивая всякими бухгалтериями. Нафиг нужен МОНО если он ничего не может?

Нет, дебил. Mono позиционируется как легковесная, мощная и удобная VM. Ничего он заменять не должен. Исполнять говнокод, написанный под другую платформу, он не должен. Гуляй мимо, недоумок, постепенно разгоняясь в сторону стены.

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

Почему это не происходит с Java программистами?

Потому что JVM - говно, и FFI там убогое. Кот лижет себе яйца, потому что может.

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

Да, вы даже не знаете что такое Mono. Это реализация .NET для UNIX-подобных ОС. И Mono как раз создавался для того, что-бы запускать приложения нужные бизнесу.

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

mono - это реализация ecma-335 и не только для unix-подобных ОС. Есть mono под винду.

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

Ты безграмотен на всю голову.

Mono - реализация стандарта ECMA-335. И все. Это не «реализация .NET», это параллельная .NET-у реализация стандарта, со своими фичами и своими целями.

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

Вы играете словами. Мне не интересно в софистике упражняться. Стандарт ECMA-335 покрывает большую часть платформы .NET. Вот только не до конца. Самую важную часть, WPF - она не покрывает. Из-за этого и создали убогий велосипед Gtk#, приложения на котором в Windows 7 смотрятся как отстой.

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

WPF? Самая важная? Ну ты дебил. Это же всего лишь гуйня. А гуйня никакого интереса не представляет. VM не для того нужны, чтобы гуйню лабать, с этим и Tcl/Tk прекрасно справится.

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

Опять глупости. С каких пор WPF является самой важной частью .net - непонятно... Gtk# используется в реализации WinForms, которые являются просто оберткой для вызовов WinAPI. В случае mono WinAPI заменили на Gtk.

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

Заметь, дурень, что Apple для гуйни VM не использует. Не фиг стрелять из пушки по воробьям.

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

Ну да... А тонны классных приложений и море корпоративного ПО, включая банковские клиенты - это всё не нужно. Я web-приложениями на .NET не пользуюсь. Все мои любимые ресурсы используют PHP или Java. Мне от Mono нет практически никакого профиту. Была бы реализация WPF - это было бы замечательно.

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

WinForms давно никто не использует. А WPF - это то, что просто необходимо для нормальной работы всех GUI-приложений на .NET под Mono. И тогда очень много приложений сразу станут доступны в Linux. А про ASP.NET MVC Framework можете не говорить. Мне наплевать на то, что я не использую даже косвенно. Мне не нужны эти фичи .NET платформы. А WPF - нужно, уже вчера.

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

Заметь, дурень, что Apple для гуйни VM не использует. Не фиг стрелять из пушки по воробьям.

Заметь дурень у Apple LLVM и слово VM в конце не просто так придумали. Ну и кроме того рисование окошек это вызов системный. И если есть iOS то как он дальше работает не моя проблема.

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

WinForms давно никто не использует

Компания, в которой я работаю использует. На вкус и цвет все фломастеры разные, конечно, но лично я считаю свистоперделки подобные WPF наименее необходимой частью .NET.

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

Заметь дурень у Apple LLVM и слово VM в конце не просто так придумали.

Про LLVM молчало бы, чмо. Ты тут уже вовсю позорилось, не понимая в принципе, что это такое.

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

Ну да... А тонны классных приложений и море корпоративного ПО, включая банковские клиенты - это всё не нужно.

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

Я web-приложениями на .NET не пользуюсь.

Вот ведь дебил. Если не гуйня, то веб. Фантазию тебе отшибло, когда тебя мамаша головой об пол уронила в детстве?

Мне от Mono нет практически никакого профиту.

Потому что ты не программист.

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

Вот видите, вы замечаете и цените то, что используете сами. Вам и убогий WinForms подходит, мне же WPF нужен. Безх него даже Paint.NET не работает под Linux. Про более серьёзное ПО лучше промолчу...

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

У серьезного ПО гуйня и логика вообще разделены. Использовать мощную VM для какой-то там всего лишь гуйни - это как стрелять из пушки по воробьям.

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

Итак, Web и GUI вам в Mono не важны. Что же остаётся? Пишете консольные приложения? Для чего? И какой профит писать их на C#? Да, писать подделки на Mono - не моё. Зачем оно мне? Если я что-то и буде писать, так на Python и PHP, с которыми я знаком. А не на Mono. RESTful приложения меня тоже не интересуют. Да и вообще, Mono не нужен. Есть Java для всех платформ и полноценная .NET для Windows. А не этот жалкий огрызок. А мобильные приложения сам Бог велел на Java писать, это уже традиция. Вы Opera на .NET видели? То-то же:)

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

Итак, Web и GUI вам в Mono не важны. Что же остаётся?

Ты, дебил, вообще слушаешь, что тебе говорят?

Гуйня и логика должны быть разделены. Всегда. Говно вроде игр или медиаплееров не считается. Так что остается ВСЕ.

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

Да, писать подделки на Mono - не моё. Зачем оно мне? Если я что-то и буде писать, так на Python и PHP, с которыми я знаком.

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

Есть Java для всех платформ

Как VM, Java - говно.

и полноценная .NET для Windows

Mono намного более продвинутая и гибкая VM, чем мелкосовтовский .NET.

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

Так вы предлагаете писать логику на C# и GUI на плюсах? Оригинально. Но глупо. Писать GUI на C# под WPF и на C++ с использованием Qt - разные вещи. WPF на порядок приятней, да и C# намного более годный ЯП для таких приложений. На нём писать приложения приятно, а на C++ это сродни мазохизму. Но лучше на Python GUI сразу писать, очень годный ЯП. Простой и ёмкий.

VM от Mono и VM от MS работают по одному принципу. Но подозреваю, что реализация от MS на порядок выше быстродействие имеет. Доказательств и бенчмарков, подтверждающих преимущества VM от Mono нет. Это ваши домыслы. Пруф в студию, пожалуйста. Или вас будут считать фантазёром и болтуном.

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

Но подозреваю, что реализация от MS на порядок выше быстродействие имеет.

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

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

Так вы предлагаете писать логику на C# и GUI на плюсах?

Плюсы это тем более из пушки по воробьям. Tcl/Tk в 99% случаев более чем достаточно.

Но лучше на Python GUI сразу писать, очень годный ЯП. Простой и ёмкий.

Ну да, Питон тоже отлично подходит.

VM от Mono и VM от MS работают по одному принципу.

Не совсем. Mono проще встраивается. В Mono есть llvm-backend (а это сразу дает огромное количество интересных возможностей, которых никогда не будет в .NET). В Mono есть SIMD (а в .NET никогда не будет). Ну и главное - в Mono всегда можно все лишнее отрубить, получив очень легковесную VM (даже без mscorlib). В .NET такое не пройдет. Так что область применения Mono намного шире чем у оригинального .NET. А сейчас, когда sgen дописали, и производительность догнала. Раньше все проблемы с производительностью Mono были с GC связаны исключительно, а кодогенерация у MS всегда была хуже и кривее, даже если с mini сравнивать.

на порядок выше

В десять раз, то есть? Ну ну. Смешной какой.

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

Вот пруф. Тесты не всеобъемлющие, но всё же хоть какие-то. И Mono сливает. Чем вы это объясните? Убогими познаниями команды Мигеля в сфере VM? Или слабым финансированием? Я запускал одно и то-же приложение на WinForms в Linux под Mono и в Windows 7, разница в скорости запуска и работы заметна даже на глаз. .NET от MS рулит.

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

Я же сказал - вся разница из-за GC. Это не существенно, и перевешивается многочисленными преимуществами Mono. Тем более что теперь этой разницы уже нет.

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

Про llvm-backend и встраиваемость не знал. Интересные плюшки. Такого и в Java тоже нет. Мне не приходилось использовать Mono. Только ради keepass его и держу. А так, если что нужно(обычно с WPF) использую .NET из семёрки.

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

Это положительный момент. А WPF когда-нибудь будет? Если появится, я даже сражусь со своей природной ленью, и начну штудировать Mono.

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

Там много чего интересного есть, чего в .NET не предвидится. И mkbundle, и полностью managed компилятор шарпа, и очень гибкий AOT (на котором и построены всякие там MonoTouch), полностью отрываемый от рантайма.

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

Насколько мне известно, WPF никому не интересен и никто его в данный момент не пилит (дальше чем нужно было для Moonlight).

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

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

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

LLVM ни разу не VM, это только слой промежуточной компиляции требуемый для облегчения единообразной трансформации кода, многих языков. IR LLVM архитектурно зависим, в то время как Java и .Net/Mono выдают платформонезависимый код.

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

Это сильно большой проект, и если сообщество, которому это нужно скинется, то сделают. Мигель говорил про работу 15 - 20 человек в течении 2-3 лет.

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

LLVM ни разу не VM

если мне память не изменяет, помоему llvm умеет компилить байт код и исполнять на своей vm.

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

Я пытался это втолковать одному фану LLVM и яблочной продукции, так мне просто не поверили. Для многих все VM - сразу ассоциируются с клонами Qemu или потомками VM из мира Smalltalk. А про слой абстракций(подобный есть и в GCC) для компилятора люди даже не слышали.

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

Совершенно верно. Вот только это не платформонезависимый JIT, а нечто похожее на промежуточный код компилятора GCC. Вроде почти платформонезависимо, но для будущих оптимизаций этот код несёт в себе размеры примитивов(int,long и т.п.) конкретной целевой архитектуры. И данный код свободно работает на одной и той же VM от LLVM на одной процессорной архитектуре в разных ОС, но не работает на разных архитектурах. JIT Smalltalk, Java, Mono и Oberon в данном случае более универсален. Он работает независимо от архитектуры. Скомпилированная однажды, программа (теоритически) работает везде.

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

Это не ко мне, это вы скажите тому человеку на реплику, которого я отвечал.

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

Процитирую ваш тест

По сумме результатов .Net лидирует во всех группах микротестов, а также по потреблению памяти. В 4 из 5 группах Mono превосходит Java по скорости, но потребляя при этом почти в два раза (!) больше памяти.

Что в этом плохого?
По моему неплохо для платформы, развитием которой занимается небольшой стартап.

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

Не поверишь, это и GCC умеет (см. LTO).

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

Я писал на Python с использованием обыкновенного Cairo. Крайне муторный метод, но кросс-платформенный. Имел дело немного с iText под Java, есть версия библиотеки для C#. Замечательная либа, думаю на ней все переписать. И возможно, на C#. В рамках изучения нового ЯП, так сказать... Одна печаль, если приложение пишете проприетарное, нужна коммерческая лицензия, в противном случае можно использовать под лицензией AGPL(ненавижу эту хитрую лицензию).

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

Лучшего способа генерации красивых PDF нет, чем latex. Независимо от языка и платформы.

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

Согласен. Но не находите ли вы немного избыточным установку latex и кучи шрифтов и прочей чепухи лишь для того, что-бы маленькая программа напечатала пару форм? Размер и монструозность части отвечающей за создание PDF очень уж велики будут. Проще использовать cairo/iText. Хоть и слишком низкоуровневый метод, но зато программа останется маленькой.

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

100 mb на диске вообще-то не особо жалко. Кого вообще волнует размер дистрибутива? Тем более что tex и так как правило уже установлен.

Это unix way - использовать сторонние приложения, а не библиотеки. И он работает. Хорошо работает. А от типичного результата iText глаза взорваться могут, ну на фиг.

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

Вообще-то, прога работала и под Windows тоже. А в ней Tex - отнюдь не норма.

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

Мне не нужно ПОРТИРОВАННЫЙ на МОНО Paint .NET

Нафига?

Mono пзиционируется как замена .NET Вот пусть заменяет.

Что за бред и подмена понятий?

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

А тут выясняется. что даже .NET на 90% нифига не .NET

Где? :)

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

Спутать платформу и язык - и возмутиться. Очень логичный подход. Не приписывайте другим свои тезисы, ок?

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

Но C# не работает под Linux.

«УМВР!» (с) Или вы тупо не пробовали? :)

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

Тоесть софт написанный на кроссплатформенном .NET работает только под Windows?

Это лучший образец вашей логики? :) «Раздел математики» (ТМ)? Или все таки взаимоисключающие параграфы в одном утверждении?

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