LINUX.ORG.RU

Microsoft: Мы не остановим работу .Net на Android

 , , , ,


0

0

Как известно, недавно Oracle продолжила начатый ещё Sun спор с Google Inc., касающийся патентов на используемую в Android Java-машину Apache Harmony.

В связи с этим компания Microsoft заявила, что не будет препятствовать использованию .Net на устройствах под управлением Android. Было заявлено, что реализация .Net средствами Mono (в частности, MonoDroid) является не нарушающим никакие соглашения согласно Community Promise (обещанию сообществу).

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

★★★★★

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

Извиняйте, там же было написано «любая»! Ну ладно, тогда вот:

void main(){}

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

А что, нормально мужик баит. Правильно баит.

Java:

public class Main {
    public static void main(String[] args) {
        long ms1 = System.currentTimeMillis();
        for(int j=0; j<1000000; j++) {
            System.out.println(j);
        }
        long ms2 = System.currentTimeMillis();
        System.out.println(ms2 - ms1);
    }

}
Output:
impfp:~/Projects/ТестоваяПрограмма/build/classes$ java -server Main
...
16389

Mono:

using System;

namespace ТестоваяМоноПрога
{
	class MainClass
	{
		public static void Main(string[] args)
		{
			DateTime t1 = DateTime.Now;
			for(int j=0; j<1000000; j++) {
				Console.WriteLine(j);
			}
			DateTime t2 = DateTime.Now;
			Console.WriteLine(t2.Ticks - t1.Ticks);
		}
	}
}
Output:
impfp:~/Projects/ТестоваяМоноПрога/ТестоваяМоноПрога/bin/Debug$ mono ./Тест
оваяМоноПрога.exe
...
154382470

16,38 сек супротив 15.43 сек - и это еще без оптимизации.

«Пока жаба изо всех сил колбасит, моно уже все сделало» :)

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

Так покупают же! В/на Украине :-) Тоже бренд .

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

вы не из фороникса, случайно?

зы. напоминаю, что речь не о java против mono на десктопе. ваш тест здесь вообще не пришей кобыле хвост.

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

>Нифига, девелопмент для андроида всё же достаточно специфичен и этот опыт мало полезен для разработки в области J2EE, поэтому ораклу совсем пофиг на существование девелоперов андроида, но не пофиг на бабло.

плюсую, мне тоже разница показалось слишком мощной.

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

> Повеселило: “Google could settle current damages with Oracle, and switch to the better designed, more pleasant to use, and more open .Net platform,” de Icaza wrote."

А еще more fast, хех.

Повторяю: мигель все правильно баит, ничо там смешного не видно.

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

> А получается пока неплохо...

Нет, плохо, Аллен не вовремя выступил...

sv75 ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

> Да я бы не месте оракла немедленно бы завернул этот иск и приложил все возможные усилия чтобы убедить нас что «нам просто показалось», да как можно быстрее!..

Напиши об этом Ларри, будь ласков...

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

оно не может быть на андройде more fast. я не специалист, но весь код на андройде запускается в виртуальной машине, не? да и с more open проблемы. monodroid как и monotouch - платный.

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

>подгружают ваши куки по ip\mac адресу\идентификатору устройства, вот и все.

т.е. они хранят идентификатор устройства и куки? вроде они ничего такого не говорили.

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

Не весь, можно и нативный код гонять.

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

>Нет, не весь. Есть NDK для создания машинных кодов

хм. тогда требую сравнения скорости

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

Жаба и шарп не настолько сильно различаются, чтобы их противопоставлять друг другу


Зато судя по habrahabr.ru/blogs/net/95919/ .NET на порядок более тормозное УГ чем JVM

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

Ну, я бы не сказал, что использование «одинаковой» реализации дерева - хорошая идея. Все таки если пишешь на шарпе - то будешь пользовать его сильные стороны, если на жабе - сильные стороны жабы. Я не настолько хорошо знаю жабу и шарп, чтобы сказать, будто можно сильно изменить код. Однако, сомнение есть

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

Все таки если пишешь на шарпе - то будешь пользовать его сильные стороны, если на жабе - сильные стороны жабы


http://www.linux.org.ru/jump-message.jsp?msgid=5276331&cid=5276741

Жаба и шарп не настолько сильно различаются, чтобы их противопоставлять друг другу


Так все-таки они одинаковы или цэшарп отличается от жабы?

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

Моно может компилировать в двоичный код процессора


проги на ведроиде уже исполняются прямо на процессоре? можно поставить питон и писать на пейтоне? разве гугл разрешил?

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

Что-то не внушает доверия Ваш бэнчмарк. Лучше прогоните какой-нибудь показательный алгоритм под time? И аналитикам дайте исходники - мы тоже прогоним. Но речь всё-таки не о десктопе.

Насчёт фразы:

Google и .NET - сомневаюсь.

«more open» - а java не открыта?

«better designed, more pleasant to use» - пусть останется на совести Мигеля.

Про патентную защищённость он почему-то промолчал. Хотя Мигель сразу среагировал статьёй на иск Oracle, может там и расписал преимущества в плане патентов. Но я не читал =)

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

это вообще не Java-машина.


Apache Harmony используется в SDK, для компиляции в .class-файлы, которые потом транслируются в .dx.


Меня толи глючит толи плющит, но я читаю на en.wikipedia.org/wiki/Dalvik_virtual_machine

As of Android 2.2, Dalvik has a just-in-time compiler

Значит раньше dex-файлы на андроиде интерпретировались, а значит Dalvik это VM

The VM was slimmed down to use less space

Dalvik is the virtual machine on Android mobile devices

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

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

К слову. Моно победил на том хабровом тесте. Весьма неожиданно победил - сожрал два гига памяти, но завершил работу корректно. Жаба, увы ебнулась гораздо раньше с java.lang.OutOfMemoryError.

«Ноут с C2D 2 Ггц и 2 ГБ оперативки» - и это при том, что у меня было несколько больше памяти.

Читай быдлохабр дальше.

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

Повторил тест, Даже пришлось выгрузить виртуалку, дабы жабка не плакалась, один фиг java.lang.OutOfMemoryError - это уже странно.

impfp:~/Projects/ТестоваяПрограмма/build/classes$ java -version
java version «1.6.0_0»
OpenJDK Runtime Environment (IcedTea6 1.6.1) (6b16-1.6.1-3ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

ЧЯНДТ?

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

Странно, что mono съел 2 гига. Мне сейчас проверить не на чём. Завтра вечером прогоню.

А сколько оперативки дали java? (e.g. -Xmx1024m)

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

Получилось с k-й попытки:
java -server -Xmx3072m Main, но падает через раз..

Итоги сравнения:
Java: Time: 255 сек, 2,1Г памяти - получилось 1 раз всего, остальные 3 попытки - снова OutOfMemory
Mono: Time: 145 - 155 сек, 1,9Г памяти

Mono в очередной раз меня порадовал. Хаброюзеры, жабофилы - не стоит стыдиться того чувства, которое посетило вас в области чуть ниже крестца - это butthurt vulgaris. Он излечим :)

Справедливости высокой ради - OpenJDK подсасывает у Mono. Неимоверно, судя по всему.

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

Я не постеснялся, и запустил код у себя на машине.

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

Что-то не верится мне в эти циферки. Да и в падения «через раз» программы на java. Но проверить пока не могу. Надеюсь кто-нибудь ещё заинтересуется и прогонит тест.

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

bolmer> Нет обратной совместимости С и С++. ЛЮБОЙ проект на С, смену компилятора на С++ не переносит. Это тупо практика.

Под обратной совместимостью я подразумевал полную совместимость библиотек.

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

anonymous> Жира нет - реально сейчас только две хороших смартфон-платформы - iOS и Android.

4.2

iPhone OS _только_ на яблочных аппаратах. Плюс там офигенно большие ограничения.

Ежели андроид запретят (чего в общем-то не будет) - есть MeeGo. В отличие от Maemo, эту платформу нокия уже на себе полностью завязывать не собирается, хотя будет пихать её только в свои Hi-End аппараты.

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

java -server -Xmx3G Program
Time: 23

java -version
java version «1.7.0-ea»
Java(TM) SE Runtime Environment (build 1.7.0-ea-b106)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b05, mixed mode)

Выложите на rghost.ru кто-нить бинарь для .NET x64, прогоню

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

Справедливости высокой ради - OpenJDK подсасывает у Mono. Неимоверно, судя по всему


Спонсорской поддержки как у Mono не хватает

Karapuz ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Андроид скорее на петон, чем на моно перейдёт. И будет тогда следующая версия Dalvik основана на Parrot.

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

Karapuz> Bada забыли

Bada вышла из состояния Samsung-only? Как там с разработкой приложений? SDK доступный? Платформа открытая?

iPhone OS X именно по причине тотальной закрытости и невозможности свободной разработки by design является неполноценной ОС. То бишь доступного SDK для iPhone OS X нет вообще, а имеющийся работает исключительно на маках, и разработка приложений возможна исключительно после уплаты разработчиком денег ябблу.

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

yaws> Нет, не весь. Есть NDK для создания машинных кодов

Типа сишные вставки в жабокод, ага. Вернее - использование библиотек.

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

>Что-то не верится мне в эти циферки.
Я тестил оригинальный код с хабра под ляпиксом. На винде наверняка все более красиво будет выглядеть, тем более там не моно. а ms .net (он слегка медленнее мигельской поделки).

Погонял код под моно со всякими там рантаймовыми оптимизациями - под линекс при тестах ориентируйся на пропорцию 25/14 - у меня пока что во столько раз моно шустрее openjdk.

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

Под .NET 3.5 .


Эта проказывает Time: 49499, та что я в VS 2010 «скомпилил» Time: 50201 Хз куда там в VS тыкать чтобы выбрать под каким .NET запустить бинарь, у меня и 3.5 и 4.0 стоят

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