tiempo tarda ser que puede programar programador programacion para necesita lenguaje hacer dominar cuanto con como aprender aprende java c++

java - tarda - en cuanto tiempo se aprende a programar



Conociendo C++, ¿cuánto tiempo se tarda en aprender Java? (17)

Soy un desarrollador competente en C ++. Entiendo y uso el polimorfismo, las plantillas, el STL, y tengo un sólido conocimiento de cómo funcionan las corrientes. Para todos los propósitos prácticos, no he hecho ningún desarrollo de Java. Estoy seguro de que algunos de ustedes estuvieron en una situación similar en un momento en que tuvieron que aprender Java. ¿Cuánto tiempo te llevó convertirte en un programador Java competente?


¿Cómo definirías competente? Para mi dinero, la mayoría de los programadores Java profesionales (como lo hacen por dinero) nunca logran llegar a ser competentes.


Aprendí c ++ a los 15 años y me convertí en programador profesional de software. Pero cuando busqué trabajo, solo había trabajo disponible para desarrolladores de Java. Pensé que era difícil cambiar mi idioma. Así que solo para la versión de prueba i Descargué el compilador de Java y solo por diversión escribí un código y encontré que no es muy diferente a c ++ . y solo después de 6 horas de investigación y aprendizaje, me convertí en un desarrollador de Java. Así que es muy fácil cambiar de c ++ a java.


C ++ a Java: 1 semana. Java a C ++: 1 mes.


Comencé desde C ++ y aprendí C # / .NET. Eso no tomó mucho tiempo. Como C # / .NET se desarrolla muy cerca de Java (utilizaron muchas de las técnicas básicas de Java, como GC, clases de referencia, JIT, ...) Creo que no es tan difícil aprender Java.


Como escribió Tom Hawtin, el tema clave es cómo se define competente.

Tendrás que aprender el idioma con bastante facilidad, pero tendrás que aprender los idiomas y las bibliotecas. Y hay bastantes diferencias entre los nichos en los que trabaja (por ejemplo, incrustado o empresarial) y entre bibliotecas que supuestamente resuelven los mismos problemas. Aquí están algunos ejemplos:

  1. En aplicaciones empresariales / empresariales, generalmente se trabaja con bases de datos. Ahí puedes tener:

    • JDBC simple
    • Asignador de SQL (iBatis), envoltorio alrededor de JDBC verbosa y repetitiva
    • Solución ORM (Hibernate), con una filosofía propia.
  2. Con las interfaces de usuario de escritorio, tiene dos plataformas que compiten:

    • Swing, una parte de JRE
    • SWT / JFace, de Eclispe Foundation, originado por IBM, con soporte UI nativo
  3. Los marcos web son demasiados para mencionar, con diferentes ideas de representar la interfaz de usuario, la configuración, la estructura de carpetas / paquetes, etc.

  4. La DI (inyección de dependencia) es común en las aplicaciones empresariales, ya sea por marcos de terceros como Spring, o como parte del estándar EJB3. Pero, no creo que se utilice nunca en la configuración incrustada.

Sería justo decir que esto es solo una punta del iceberg.


Creo que aprender el idioma no es difícil. De hecho, solía ser un desarrollador de C ++ a tiempo completo, y en algún momento comencé a escribir código Java. Pero la cosa es que no recuerdo haber aprendido nunca en Java, así que supongo que simplemente lo pensé a medida que avanzaba. He estado haciendo Java a tiempo completo desde hace mucho tiempo.

Si está familiarizado con C ++, puede leer una lista de las principales diferencias (p. Ej., Todo está vinculado dinámicamente) y luego comenzar a practicar en un entorno (solo descargue Eclipse). Las pequeñas diferencias son lo principal a lo que tendrías que adaptarte.

Ahora que Java admite los genéricos, uno de los principales problemas de conmutación se ha ido. La herencia múltiple, aunque no es compatible, no es un gran problema si se acostumbra a las interfaces, y de hecho, tener interfaces en lugar de clases abstractas con funciones virtuales puras (PVF) mejora la legibilidad.

Para mí, Java es una versión agradable, amigable y relajante de C ++. No tengo que preocuparme por las fallas de protección general (GPF), no tengo que preocuparme por las pérdidas de memoria, no tengo que preocuparme por alterar los punteros. Sin embargo, no dejes que eso te confunda, todavía hay muchas oportunidades para joderlo, y a veces son incluso más desagradables de detectar.

Solo da el salto. Si tienes el instinto, no debería ser un problema.


Creo que hay dos enfoques para el significado del término "programador Java competente". Si se trata de lexems, sintaxis y términos de OOP, comencé a comprender Java completamente antes de 2 (dos) días de aprendizaje. Pero, en primer lugar, quedará encantado con la imposibilidad de disparar su propia pierna;) Pero si se trata de un sistema de clases incrustado (es decir, paquetes), referencias de API, consejos y trucos, etc., se tarda aproximadamente medio año en sentirse. Amistoso con Java. Yo creo que.


En 1995, cuando lo hice, me tomó cerca de medio día para sentirme cómodo con las herramientas y las ideas básicas, un día o dos para obtener el idioma, una semana para obtener las partes más oscuras del idioma (había menos de ellos en ese momento) y un mes para obtener las bibliotecas (había MUCHO menos en ese momento).

Ahora me imagino que las herramientas y el lenguaje básico tomarán tanto tiempo, de un par de semanas a un mes para las partes oscuras del idioma (depende de las partes que toque y cuándo). Las bibliotecas básicas serán de un mes a dos meses ( java.lang , java.util y algunas otras). Las bibliotecas de clases restantes duran de 6 meses a la eternidad, dependiendo de lo que necesite aprender y con qué frecuencia las mantendrá actualizadas :-)


En estos días, un lenguaje de programación deriva gran parte de su poder de sus bibliotecas y modismos aceptados.

Si bien toma relativamente poco tiempo aprender el lenguaje Java, aprender a usar las bibliotecas disponibles (colecciones, io, etc.) efectivamente tomará mucho más tiempo.


Fui por el camino opuesto. Comenzó con Java, luego se trasladó a C y C ++. Para mi propia experiencia personal, fue mucho más fácil aprender Java que C / C ++ (especialmente C ++).

Java de muchas maneras está destinado a ser C ++ con muchas de las partes indefinidas e innecesariamente complicadas eliminadas o simplificadas. En mi humilde opinión, tuvo gran éxito con ese objetivo. Como resultado, es un lenguaje muy fácil de aprender y usar. Especialmente para alguien que está familiarizado con C ++.

El tiempo real que tomará dependerá mucho de la persona que aprenda el idioma. Sin embargo, creo que es seguro decir que tomará menos tiempo para ser competente en Java que en C ++.


No debería llevarle más de uno o dos días para aprender el idioma, pero es posible que tenga que pasar algunas semanas en la biblioteca de clases: cómo usar las colecciones, el paquete de concurrencia, la reflexión, el registro, swing / awt, proxies dinámicos, MBeans etc.


No debería ser tan malo. La sintaxis y las clases deben ser muy fáciles de comprender. Hay algunas diferencias, pero ninguna de ellas es demasiado difícil.

La parte más difícil es más sobre aprender los paquetes, ya que serán diferentes. Las clases y funciones Java integradas, y luego para usar Java de una manera práctica, necesitarás aprender J2EE o lo que sea para lo que realmente lo estés utilizando. La última parte probablemente tomará más tiempo que el propio idioma.


Sé C ++, y tuve que trabajar con Java una vez y lo recogí en 2 semanas. Por supuesto hubo algunas sorpresas pero es fácil.


Si ya eres un programador competente (especialmente en C ++), entonces Java no tarda mucho en aprender. Los libros que recomendaría (en orden) a cualquier persona que quiera aprender Java son:

Es posible que descubra que puede pasar rápidamente por Head First Java, dada su experiencia. Por esa razón, te sugiero que lo saques de la biblioteca y lo hojees antes de pasar a Pensar en Java.

También puedes ver los tutoriales de Java de Sun.


Tengo antecedentes en C ++. Recoger Java me llevó unos días, el lenguaje parece muy simple, al menos su base. Sigo consultando a mi gurú de Java - google bastante, pero generalmente es cuestión de explorar API y bibliotecas estándar. Java tiene algunas molestias, pero deberías detectarlas de forma fácil y rápida.

Se me recomendó Pensar en Java (hay un libro electrónico gratuito), pero nunca fue lo suficientemente persistente como para leerlo. No escribo código de ciencia espacial en Java y para hacerlo, mis habilidades son suficientes.

Dicho esto, sería bueno tener un mejor conocimiento formal del idioma. En este momento estoy pensando en estudiar para SCJP , lo que parece una forma sensata de aprender, además de que obtendrás un certificado de programación bien reconocido una vez que lo hayas aprobado (he oído que no vale mucho, pero aún así puede ser una motivación). ...).

También puedes probar Java Black Belt , las respuestas me sorprenden a menudo. Después de tomar algunas pruebas, me pregunto cómo se compilan mis programas, lo que sugiere que probablemente no soy el programador de Java más competente en todo :)


Yo iría con seis a ocho semanas.


Yo también aprendí C ++ primero y luego Java. Tomó mucho menos tiempo porque ya estaba familiarizado con los conceptos de OOPS. En la fase inicial de aprendizaje, estaba realmente feliz con los nuevos conceptos en Jave como recolector de basura. Me referí a The Complete Reference de Herbert Schildt y me ayudó a obtener la sintaxis rápidamente.