Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Нужен ли компилятор C# в Java байт код?


Автор: neutrino 11.10.2010, 23:39
Приветствую!

Мне нужны ваши ИМХИ. Насколько это полезно? Если можно с комментами.

Автор: gcc 12.10.2010, 05:03
можно сделать транслятор байт кода с одной VM в другую...

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

http://www.nntp.perl.org/group/perl.perl6.internals/2006/06/msg33766.html

http://www.google.com/cse?cx=000451457997241263125%3Ajx8g3wcd_uk&ie=UTF-8&q=.net&sa=Search&siteurl=www-open-opensocial.googleusercontent.com%2Fgadgets%2Fifr%3Fv%3D8e8ca0b08d2a39c5adcb3fa49561c46d%26container%3Dopen%26nocache%3D0%26debug%3D0%26view%3Dhome%26lang%3Dall%26url%3Dhttp%253A%252F%252Fwww.google.com%252Fcoop%252Fapi%252F000451457997241263125%252Fcse%252Fjx8g3wcd_uk%252Fgadget%26country%3DALL%26source%3Dhttp%253A%252F%252Fwww.parrot.org%252F%26parent%3Dhttp%253A%252F%252Fwww.parrot.org%252F%26libs%3Dcore%253Acore.io%253Arpc%23st%3D%2525st%2525%26rpctoken%3D1488058515&loading=1

Автор: Evgin 12.10.2010, 05:29
Применение непонятно. Зачем оно надо - хз. Ваши мысли?

Автор: jonie 12.10.2010, 07:32
Цитата(Evgin @  12.10.2010,  06:29 Найти цитируемый пост)
Применение непонятно. Зачем оно надо - хз. Ваши мысли? 

кросплатформенность. Mono "не тянет" всего фунционала современного .netfx

Автор: Evgin 12.10.2010, 07:53
Цитата(jonie @  12.10.2010,  07:32 Найти цитируемый пост)

кросплатформенность. Mono "не тянет" всего фунционала современного .netfx 


Кросплатформенность получим только на уровне кода. и получим что в win выполнятся будет под .net-окружением, а в других операционках - под jvm. Тут вижу проблему - разрабатывать сразу под 2 платформы - .net и jvm. коли исполняемый код будет разным - значит и "разные" программы будет из одного кода на C#. Тогда уж и под win запускать код в jvm(прям мечта =))))).
Странная кроссплатформенность, по-моему.
Единственный плюс, который вижу - не надо учить этот ява язык, и менять vs на что-то другое =)

Автор: Amp 12.10.2010, 11:40
Цитата(jonie @  12.10.2010,  07:32 Найти цитируемый пост)
кросплатформенность. Mono "не тянет" всего фунционала современного .netfx 

Многие популярные части фреймворка завязаны под конкретную систему, например WinForms и WPF. Первый использует WinAPI, второй DirectX. Проблема. Плюс все эти рюшки с unmanaged кодом, тот же DllImport - тоже проблема. COM Interop туда же. Еще вопрос в том, разрешает ли лицензия на исходный код фреймворка подобные вещи.

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

Автор: neutrino 12.10.2010, 14:00
Нативные библиотеки будут доступны через JNA. В винде можно будет спокойно юзать таким образом все АПИ. На других платформах можно использовать Wine. С директом есть проблема. Есть ли что-то на никсах для директа?

Это раз.

Два: может быть многие пишут софт без использования WPF? Может можно скомпилить WPF в Java байт код с использованием JNA для директа? Сорс WPF я так понимаю доступен для чтения (компиляция - считай чтение smile )

Три: Это может стимулировать рост открытого кода на дотнете по аналогии с Java. Может появиться открытый WPF, для перехода на который не нужно будет ничего учить/переделывать.  И.т.д. Попробуйте немного заглянуть вперед.

Автор: Amp 12.10.2010, 15:44
Да проще просто взять и запустить приложение под wine, чем городить такую шаткую вереницу костылей. А все потенциальные силы потратить на улучшение поддержки D3D в wine. И сам wine, как понимаете, не всякий код может выполнить - что-то там реализовано, а что-то нет. В результате запуск приложения превращается в игру "запустится"/"не запустится" и "а что у нас отвалилось или работает некорректно" smile

Если продолжить фантазировать на эту тему, то я бы направил ресурсы на реализацию WPF под Mono с OpenGL-бэкэндом (там параллельно как раз развивается проект Clutter, возможно пригодился бы). Не заглядывая вперед скажу, что те же линукс-пользователи очень болезненно переносят десктопные java-приложения и бинарные блобы, которые тащат с собой wine (например picasa). Для Java кстати была библиотека, которая в каком-то объеме поддерживала XAML, называлась eFace, стоила денег.

Я несколько скептически отношусь к идее портирования/запуска "малой кровью" уже существующих приложений под другие ОС. Это даже не касаясь вопросов, что там (на другой системе) другой HIG, другое окружение, в которое надо интегрироваться, чтобы приложение не выглядело инородным. Помните, одно время была популярная тема, когда на форумы набегали делфятники и спрашивали смогут ли они собрать свой delphi-проект в Kylix? Обычно разочаровались, а от предложений взять и переписать на C++/Qt/wxWidgets или Java/Swing/SWT у них случался пресловутый "баттхерт".

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

Автор: neutrino 12.10.2010, 22:29
Все отговорили. Просто собираюсь писать компилятор. А какой компилятор написать, чтобы было не зря?

Автор: Amp 13.10.2010, 11:56
Цитата(neutrino @  12.10.2010,  22:29 Найти цитируемый пост)
А какой компилятор написать, чтобы было не зря? 

Не знаю, просто сейчас и под JVM и под .NET существует множество разнообразных языков. Я как-то сам писал компилятор для своего язычка в jvm-байткод. Было интересно, т.к. это все было для меня в новинку. Да и не зря все было - удалось протолкнуть в качестве дипломной работы smile

Возможно имеет смысл помочь в разработке уже существующих компиляторов, например http://code.google.com/p/visage (форк открытого JavaFX Compiler-а)

Автор: neutrino 15.10.2010, 12:01
Кто это сказал, что невозможно написать такой компилятор? Почему?

Автор: QryStaL 16.10.2010, 19:07
Цитата(neutrino @  11.10.2010,  23:39 Найти цитируемый пост)
Насколько это полезно?


Практически бесполезно ) Под JVM есть много языков на любой вкус - есть из чего выбрать =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)