| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .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 |
кросплатформенность. Mono "не тянет" всего фунционала современного .netfx |
| Автор: Amp 12.10.2010, 11:40 | ||
Многие популярные части фреймворка завязаны под конкретную систему, например WinForms и WPF. Первый использует WinAPI, второй DirectX. Проблема. Плюс все эти рюшки с unmanaged кодом, тот же DllImport - тоже проблема. COM Interop туда же. Еще вопрос в том, разрешает ли лицензия на исходный код фреймворка подобные вещи. Да и по-моему в действительности многим не нужны кроссплатформенные решения. Понятно, что хочется с минимальными трудозатратами портировать/запустить уже написанный продукт под другие системы, но вряд ли это носит критический характер. Если бы последний имел место, то стэк технологий был бы выбран другим уже изначально. |
| Автор: neutrino 12.10.2010, 14:00 |
| Нативные библиотеки будут доступны через JNA. В винде можно будет спокойно юзать таким образом все АПИ. На других платформах можно использовать Wine. С директом есть проблема. Есть ли что-то на никсах для директа? Это раз. Два: может быть многие пишут софт без использования WPF? Может можно скомпилить WPF в Java байт код с использованием JNA для директа? Сорс WPF я так понимаю доступен для чтения (компиляция - считай чтение Три: Это может стимулировать рост открытого кода на дотнете по аналогии с Java. Может появиться открытый WPF, для перехода на который не нужно будет ничего учить/переделывать. И.т.д. Попробуйте немного заглянуть вперед. |
| Автор: Amp 12.10.2010, 15:44 |
| Да проще просто взять и запустить приложение под wine, чем городить такую шаткую вереницу костылей. А все потенциальные силы потратить на улучшение поддержки D3D в wine. И сам wine, как понимаете, не всякий код может выполнить - что-то там реализовано, а что-то нет. В результате запуск приложения превращается в игру "запустится"/"не запустится" и "а что у нас отвалилось или работает некорректно" Если продолжить фантазировать на эту тему, то я бы направил ресурсы на реализацию 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 |
Не знаю, просто сейчас и под JVM и под .NET существует множество разнообразных языков. Я как-то сам писал компилятор для своего язычка в jvm-байткод. Было интересно, т.к. это все было для меня в новинку. Да и не зря все было - удалось протолкнуть в качестве дипломной работы Возможно имеет смысл помочь в разработке уже существующих компиляторов, например http://code.google.com/p/visage (форк открытого JavaFX Compiler-а) |
| Автор: neutrino 15.10.2010, 12:01 |
| Кто это сказал, что невозможно написать такой компилятор? Почему? |
| Автор: QryStaL 16.10.2010, 19:07 |
Практически бесполезно ) Под JVM есть много языков на любой вкус - есть из чего выбрать =) |