¿Existe una herramienta efectiva para convertir código C# a código Java?¿Existe una herramienta efectiva para convertir código C# a código Java?
Respuesta
No se convierten directamente, pero permite la interoperabilidad entre .NET y J2EE.
El enlace es antiguo y solo apunta a los productos de SharePoint ahora. – Trisped
No es una herramienta de Microsoft para convertir Java a C#. Para la dirección opuesta, eche un vistazo a here y here. Si esto no funciona, no debería tomar demasiado tiempo convertir la fuente manualmente porque C# y Java son muy similares,
que utiliza JLCA de Microsoft y realmente funcionó: http://weblogs.asp.net/jgalloway/archive/2007/01/24/identicons-ported-from-java-servlet-to-httphandler.aspx –
"C# y java son muy similares "jajaja, buena broma, prueba los genéricos en Java después de trabajar con ellos en C# –
Las primeras versiones de C# eran casi idénticas a Java, pero ahora parece que se han movido más lejos. –
Nunca he encontrado una herramienta de conversión C# -> Java. La sintaxis sería bastante fácil, pero los marcos son dramáticamente diferentes. Incluso si hubiera una herramienta, recomendaría encarecidamente no hacerlo. He trabajado en varios proyectos de "migración" y no puedo decir enfáticamente que, si bien la conversión parece ser una buena opción, los proyectos de conversión siempre siempre siempre entregan dinero en pozos. No es un atajo, con lo que terminamos es un código que no es legible y no aprovecha el idioma de destino. hablando desde la experiencia personal, suponga que una reescritura es la opción más barata.
En otras palabras, la "herramienta" más efectiva es un programador. :-) – marcospereira
"La sintaxis sería lo suficientemente fácil" siempre y cuando no utilice lambdas, linq, eventos (factibles pero difíciles de obtener exóticamente la semántica de la multidifusión), métodos de extensión, cualquier introspección, cualquier genérico que se base en nuevos() o por defecto (T) (tipo de borrado es una perra), cualquier bloque de iterador, variables sin firmar, sobrecarga de operador ... Podría seguir, pero realmente. una aplicación java, traducida a C#, y luego de vuelta sería bastante fácil, supongo.Pero ese es un subconjunto muy restringido de C# – ShuggyCoUk
Dicho esto, todavía obtienes uno más porque la reescritura será casi con toda seguridad más barata, producir un mejor producto y una mejor comprensión para los programadores que lo hicieron. – ShuggyCoUk
C# tiene algunas características más que Java. Tomemos como ejemplo a los delegados: muchas aplicaciones C# muy simples usan delegados, mientras que las personas de Java calculan que el patrón del observador fue suficiente. Entonces, para que una herramienta convierta una aplicación de C# que usa delegados, debería traducir la estructura de usar delegados a una implementación del patrón de observador. Otro problema es el hecho de que los métodos de C# no son virtuales por defecto mientras que los métodos de Java son. Además, Java no tiene una forma de hacer que los métodos no sean virtuales. Esto crea otro problema: una aplicación en C# podría aprovechar el comportamiento de métodos no virtuales a través del polimorfismo de una manera que no se traduzca directamente a Java. Si miras a tu alrededor, probablemente encontrarás que hay muchas herramientas para convertir Java en C#, ya que es un lenguaje más simple (por favor no me llames, no lo dije peor lo dije más simple); Sin embargo, encontrará muy pocas herramientas decente que conviertan C# a Java.
Recomendaría cambiar su enfoque para convertir de Java a C#, ya que creará menos dolores de cabeza en el largo plazo. Db4Objects lanzó recientemente su herramienta interna que utilizan para convertir Db4o en C# para el público. Se llama Sharpen. Si se registra con su sitio se puede ver el enlace con instrucciones sobre cómo utilizar Afilar: http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen
(He sido registrado con ellos por un tiempo y son buenos por no spam)
linq viene a mi mente. ¿Cómo traducir el código que usa linq a java? – marcospereira
"Java no tiene una forma de hacer que los métodos no sean virtuales". - Java tiene la palabra clave 'final', equivalente a 'sello' en c sharp, cuando se coloca antes de un método. –
I No estoy seguro de lo que está tratando de hacer si desea convertir C# a java, pero si es la interoperabilidad .net lo que necesita, es posible que desee verificar Mono
Esto está fuera de lugar, pero no es ¿Para qué era Grasshopper?
esto convierte CIL (MSIL) en código de byte java. útil para seguro, pero no directamente lo que pidió el OP. Diría que es más probable que sea realmente * útil * para cualquier otra cosa que no sea una conversión de un solo disparo, pero ahí está. – ShuggyCoUk
No parece que Grasshopper aún esté disponible. Si lees los comentarios sobre [este artículo] (http://www.theserverside.com/news/thread.tss?thread_id=50450) parece que Grasshopper no se usaba mucho ni tenía muchas funciones. También parece que [Mainsoft ha cambiado el foco] (http://en.wikipedia.org/wiki/Mainsoft) (que podría ser el motivo por el que ya no puedo encontrarlo). – Trisped
tratar de ver Net2Java Me parece la mejor opción para automático (o semiautomático al menos) la conversión de C# a Java
Tenemos una aplicación que necesitamos mantener en C# y Java. Como mantenemos activamente este producto, un puerto de una sola vez no era una opción. Investigamos Net2Java y las herramientas de Mainsoft, pero ninguno cumplió con nuestros requisitos (Net2Java por falta de solidez y Mainsoft por el costo y la falta de conversión del código fuente). Creamos nuestra propia herramienta llamada CS2J que se ejecuta como parte de nuestro script de compilación nocturno y es un puerto muy efectivo de nuestro código C# para Java.En este momento es precisamente lo suficientemente bueno para traducir nuestra aplicación, pero tendría un largo camino por recorrer antes de ser considerada una herramienta integral. Hemos licenciado la tecnología para algunas partes con necesidades similares y estamos jugando con la idea de publicarla públicamente, pero nuestra actividad principal simplemente nos mantiene demasiado ocupados en estos días.
ah, pero si lo publicara como código abierto, encontraría personas que lo usarían (bueno, algunos de ellos) lo ampliarían para satisfacer sus necesidades, lo que podría convertirse en sus necesidades en el futuro. Si gana poco dinero con las licencias, también podría hacer esto. – gbjbaanb
@gbjbaanb, los proyectos de código abierto exitosos requieren nutrir y construir una comunidad. Descargar el código fuente sin preocuparse por él, significa que la mayoría de los desarrolladores de código abierto considerarían primero otras opciones. –
Solo para actualizar: ahora se ha lanzado CS2J como fuente abierta. (No sé nada más que eso personalmente, al menos no todavía). – RenniePet
Bueno, la sintaxis es casi la misma, pero dependen de diferentes marcos, por lo que la única forma de convertirlo es obtener a alguien que conozca ambos idiomas y convertir el código :) la respuesta a su pregunta es no, no hay "efectivo" herramienta para convertir C# a java
These chicos parecen tener una solución para esto, pero no he probado todavía. También tienen una versión demo del convertidor.
Posiblemente se podría utilizar jni4net - opensource bridge en su lugar? O la lista de other options Lo sé.
Para aquellos que se preguntan, jni4net es un puente entre JVM y CLR. Permite que su código .Net (como VB o C#) se ejecute en el CLR para ejecutar también código en el código JVM y Java que se ejecuta en la JVM para ejecutar cod en el CLR. Para obtener más información, lea las [publicaciones de 2009/10/10, 2009/10/31 y 2009/11/03 en el blog] (http://zamboch.blogspot.com/search/label/jni4net) ya que no existe parece ser una página que dice lo que hace. – Trisped
http://jni4net.sourceforge.net/ es un poco mejor –
Aunque esta es una pregunta antigua, eche un vistazo a xmlVM http://www.xmlvm.org/clr2jvm, no estoy seguro de si ya es lo suficientemente maduro, aunque ya hace varios años que existe. XMLvm fue creado, creo, principalmente para traducir aplicaciones Android de Java al iPhone, sin embargo, su marco basado en la traducción de código XML es lo suficientemente flexible como para hacer otras combinaciones (ver los diagramas en el sitio).
En cuanto a una razón para hacer esta conversión, tal vez haya una necesidad de 'secuestrar' algunas de las highly abundant oss code y usarlas en su propio proyecto [Java].
Saludos
Rich
Por qué no escribir en Haxe (http://haxe.org/) y convertirlo en lo que quiera que sea?
Solo porque él ya tiene el código en C#, supongo. –
- 1. Herramienta para convertir Java al código de C#
- 2. herramienta para convertir C++ código fuente de diagrama de flujo
- 3. Una herramienta para convertir el código de MATLAB a Python
- 4. ¿Existe alguna herramienta para convertir el código ANSI C en C#?
- 5. ¿Convertir Java a C# con una herramienta, o manualmente?
- 6. Convertir automáticamente código de Scala a código de Java
- 7. Convertir código PHP a C++
- 8. Cómo convertir código C++ a C
- 9. ¿Hay alguna herramienta para convertir código fuente c/C++ a html?
- 10. herramienta para explicar el código C
- 11. Convertir código Java en código Clojure rápido
- 12. ¿Una herramienta para convertir JSON a C struct?
- 13. ¿Existe alguna herramienta para encontrar funciones sin referencias (código obsoleto muerto) en una aplicación C#?
- 14. Convertir el código C99 a C89
- 15. ¿Cuál es una buena herramienta para ayudar a explorar/seguir el código C?
- 16. ¿Herramienta para visualizar el flujo de código en Java?
- 17. Herramienta para convertir (traducir) C para ir?
- 18. ¿Existe un convertidor/herramienta Java to C++?
- 19. ¿Qué herramienta existe para compilar el código de C++ 2011 para el destino de Windows?
- 20. ¿Hay alguna herramienta para convertir Managed C++ a C++/CLI?
- 21. Herramienta para visualizar el flujo de código (C/C++)
- 22. herramienta de análisis de código Java
- 23. ¿Existe una herramienta de preprocesamiento C#?
- 24. ¿Alguna herramienta para detectar errores tontos en el código C?
- 25. Herramienta para convertir ASP a PHP
- 26. ¿Cómo puedo convertir el código VB6 a C#?
- 27. Herramienta de código abierto para encontrar el código de C# inalcanzable/no utilizado
- 28. ¿Cómo empezar a escribir una herramienta de cobertura de código?
- 29. Herramienta de generación de código C#
- 30. Herramienta para formatear código con convenciones de codificación Java Sun
@Rachel: Soy nuevo en Java, pero sé C# bastante bien, y tropezó con un proyecto de código abierto de Java en SourceForce que parece estar muerta, cuya funcionalidad Me gustaría transformarse en un nuevo proyecto de C#. Me gustaría tener una herramienta para hacer que haga algo pesado y convertir al menos los métodos y estructuras básicos, después de lo cual puedo ver el resultado y usar mi cerebro para traducir lo que quede en algo que pueda usar dentro de mi Zona de confort .NET. –
@Rachel: Alquimia. La gente siempre ha intentado convertir las cosas sin valor en oro. ; P – Bobby
Sí, la mayoría de las veces, los proyectos abandonados pueden ser extremadamente valiosos ... el último proyecto abandonado que descubrí simplemente acechando Código PSC me hizo 7200 $ usd completamente automático, me gusta cómo me gusta. Hasta que se volvió obsoleto de nuevo: S – SSpoke