He enfrentado el mismo problema yendo para otro lado: Java EE a .NET.
No tengo demasiados problemas con las construcciones de lenguaje cartográfico entre los dos idiomas. No es difícil descubrir el acceso a la base de datos relacional en un idioma u otro. Los bucles son bucles, si son ifs, niños. No hay preocupaciones allí.
He leído Jon Skeets "C# en profundidad", por lo que he recibido un reconocimiento por parte de las cosas buenas que se han añadido a C# que van más allá de Java: LINQ, cierres, delegados, etc.
Mis problemas tenían más que ver con los demás detalles.
Visual Studio es un misterio para mí. Estoy acostumbrado a IntelliJ. ReSharper ayuda. Pero como cualquier otro IDE, hasta que te familiarices con él vas a tropezar, tratando de mapear algo que sabes cómo hacerlo bien en otro sistema al nuevo. Visual Studio Express no parece ser lo mismo.
También ignoro la organización, el empaquetado y la implementación de aplicaciones. Estoy en la oscuridad en los módulos .NET, despliegue en IIS en lugar de un servidor de aplicaciones Java EE como WebLogic, etc.
El uso de JUnit y TestNG en mis proyectos Java es una segunda naturaleza. No tengo el mismo nivel de comodidad con NUnit.
Simplemente no lo tengo en la punta de mis dedos. Es como una persona en un país extranjero con una guía del idioma: "¿Cómo puedo decir eso?" Simplemente no soy fluido en .NET.
Realmente podría usar un buen proyecto y un emparejamiento de un mes con una guía experimentada para ayudarme a superar la barrera. Pero ese no es mi papel en los proyectos, así que estoy estancado.
Estoy más cómodo tomando ese mismo camino con Python. Tengo PyCharm de JetBrains, por lo que el IDE no es un problema. Los módulos de Python son tan abundantes y fáciles de usar como elementos de código abierto de terceros a los que estoy acostumbrado. Tengo un gran libro "Core Python" que me está guiando. Y cuanto más uso el idioma, más me gusta. Tengo los mismos problemas de empaquetado y despliegue, pero estoy más seguro de que los resolveré solo con Python que con .NET.
¿Qué términos de búsqueda ha utilizado hasta ahora? –
Relacionado: http://stackoverflow.com/questions/295224/what-are-major-differences-between-c-and-java –
Bueno, esencialmente estoy buscando diferencias fundamentales entre todo, en lugar de diferencias de sintaxis entre C# y Java. Por ejemplo, ¿con qué se correlaciona EJB en .NET? – Jamie