Чтобы сделать разработку переносимой на Java, имеет ли смысл делать всю разработку на J # vs C #? - PullRequest
1 голос
/ 28 июня 2011

Чтобы сделать разработку переносимой на Java, имеет ли смысл делать всю разработку на J # vs C #? Что происходит с отсутствующими битами в Java, которые существуют в C #, такими как лямбда-выражения и т. Д.?

Как лучше всего добиться мобильности?

Ответы [ 3 ]

3 голосов
/ 28 июня 2011

Я определенно не буду использовать J # - он больше не поддерживается и в любом случае поддерживает только Java 1.1.4, IIRC.

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

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

2 голосов
/ 28 июня 2011

Я предлагаю вам больше не использовать J #, так как оно было прекращено.Последняя версия была поставлена ​​с Visual Studio 2005.

0 голосов
/ 14 июля 2017

В дополнение к специфичным для J # расширениям языка и поддержке .NET CLR его библиотека времени выполнения реализует среду коллекций Java 2 (хотя без расширений java.util.concurrent) и даже некоторые JFC / Swing, через дополнительную пользовательскую библиотеку .

Таким образом, вы будете ограничены API Java 1.4.

Учитывая, что J # уже давно снят с производства, я бы не советовал вам тратить на это свое время.

Если вам действительно нужна переносимость между JVM и CLR, я бы взглянул на IKVM (реализует API Java 1.7 поверх CLR), Scala для .NET (прекращено около Scala 2.10) или такие языки, как Ruby ( JRuby / IronRuby ) или Python ( Jython / IronPython ).

Кроме того, вы можете создать ваш C # для .NET - есть конвертеры Java в C # доступны .

...