2009-01-23 25 views
17

Así que voy a una entrevista de trabajo la próxima semana en un lugar de Java, y me gustaría no darme cuenta de que no tienen ni idea. Soy un desarrollador C#/.NET muy seguro de mí mismo y estoy (¡claramente!) Dispuesto a plantear lanzarme a Java: me gustaría tener enlaces a los recursos que la gente recomendaría para hacer esto. Estoy interesado en respuestas a preguntas como:¿Sugerencias para pasar de C# a Java?

  • ¿Alguna guía que sea equivalente a Justin Etheridge's Ruby for C# developers? Eso fue realmente útil cuando decidí que quería aprender el rastrillo de Ruby (y por lo tanto al menos un poco de Ruby). Sin embargo, parece que hay más páginas para las personas que van por el otro lado ...
  • ¿Qué IDE usar? De hecho, ya compré mi propio IntelliJ porque me encanta su HTML/CSS/JS, pero no he tocado su verdadera razón de ser, bueno, "ese material de Java". Sin embargo, sospecho que el lugar en el que voy a usar Eclipse. Entonces, ¿los recursos recomendados para iniciar y ejecutar en una Mac o Windows (no soy quisquilloso)?
  • Probablemente va a ser una entrevista de codificación TDD; Supongo que JUnit es la elección de facto de la que aprender un poco aquí.

Gracias de antemano.

Respuesta

8

Eche un vistazo a this link que detalla muchas de las diferencias entre los dos idiomas.

En cuanto a IDE muchas personas como Eclipse o Netbeans (Mi favorito) - Ambos son gratuitos. Como ya posee IntelliJ, podría intentarlo.

FYO algunas de las principales diferencias son:

  • La falta de propiedades/propiedades de auto
  • n 'evento' tipo (forma diferente de tratar con eventos)
  • sintaxis bucle foreach
  • '
  • excepciones genéricos implementación cuadros

y probablemente muchos más :)

+0

¡Netbeans es mi favorito también! – Kredns

+0

¡No hay boxeo automático de tipos de valores! – Gusdor

+2

No olvide la falta de un equivalente 'var'. – Jonn

1

Como mencionas, para un IDE deberías considerar Eclipse, que es gratis y un IDE decente para el desarrollo básico. Sin embargo, si vas a trabajar con Java EE, puede que no sea suficiente, pero te ayudará a aprender los conceptos básicos rápidamente.

Hay muchos libros que cubren la sintaxis básica y el estilo de programación, y cualquiera, suponiendo que seas un buen desarrollador de C#, probablemente sea suficiente para ponerte en marcha. No sé de ningún tipo ofensivo del tipo que mencionaste.

Hace poco hice la transición en el reverso, pasando de Java a C#. Descubrí que al reescribir una aplicación existente en el nuevo idioma era mucho más fácil de lo que había pensado.

2

Netbeans es el mejor (y el más parecido estudio visual) IDE para los desarrolladores de Java. Te encantará si tienes suficiente memoria RAM para ello.

4

IDE

Usted tiene IntelliJ. Créeme, es lo mejor. Lo usé durante dos años, luego tuve que cambiar a algo gratis. Probé Eclipse, fue un dolor, sin ánimo de ofender simplemente contándote mi experiencia. Ahora, trabajando con Netbeans, y estoy bastante contento, pero aun extraño a IntelliJ una vez al día.

TDD

Sí, estás muy correcto sobre JUnit. Después de suficiente comprensión, es bueno mirar otras bibliotecas especializadas como HtmlUnit, DBUnit. Además, una herramienta de cobertura de código como Cobertura o Emma. Como debe ir con IntelliJ, probablemente le interese echarle un vistazo a Emma, ​​ya que tiene una buena integración con IDEA.

Transición

no creo que tendrá un tiempo difícil en la transición. IMO, leyendo los documentos y las especificaciones te pondrán en marcha. Puede ser que pueda ir por algunos libros en el camino, pero en lo que concierne al núcleo de Java, leer los documentos y especificaciones API será un buen comienzo. Puede hacer uso de un SO para hacer una pregunta. He visto muchas preguntas como "C# equivalente en Java ...".

2

Si tiene una semana, intente y escriba todo el código Java que pueda.

Me pareció muy fácil pasar de Java a C# y debería ser lo mismo a la inversa.

Elija una copia de Effective Java y léala, es muy bueno.

1

Creo que la mayor diferencia es la comunidad y el entorno que rodea a las dos plataformas. En .NET world, Microsoft toma grandes decisiones y despliega conjuntos de características. Por otro lado, hay muchas bibliotecas de terceros en el mundo de Java que casi complementan la plataforma, y ​​se supone que debes conocerlas si te interesa cierto tipo de desarrollo. Ver Most useful free Java libraries.

3

Como solo tiene una semana, me gustaría repetir la recomendación de centrarme en el tipo de cosas señaladas por Java efectiva.

Conoce la API de colecciones. Cuando entrevisto a gente, es una forma de eliminar a la gente. Especialmente sepa la diferencia entre equals(), hashCode() y compareTo(), y lo que se necesita para implementarlos correctamente.

Sepa cómo manejar las excepciones en Java y cómo interactúa con las transacciones estándar de EJB.

Si tiene suerte de conseguir el trabajo, me gustaría dedicar un tiempo a conocer el paisaje J2EE, que es bastante vasto. En estos días, consideraría los fundamentos de J2EE como EJB, MDB, servlets y JPA.

No me preocuparía tanto sobre el IDE o la API xUnit. Esas cosas son triviales para cualquier desarrollador decente con experiencia.

Cuestiones relacionadas