2009-01-31 17 views
6

Me encantaría comenzar a escribir aplicaciones de Android. Eso es aparentemente todo en Java. Los trabajos de programación en Craigslist son de al menos 100 Java a 1 C++. Quiero aprender Java¿Debo aprender C++ y Java simultáneamente?

Desafortunadamente, el programa de CS que estoy considerando enseña C++ en lugar de Java, así que C++ es lo que estoy aprendiendo. (Estoy seguro de que aprender C++ me enseñará a codificar bien, pero también lo haría Java, y luego podría conseguir un trabajo. Es frustrante que los programas CS se queden con los idiomas que han usado durante 20 años en lugar de enseñar idiomas que ayudarán a su los estudiantes tienen éxito.)

Mi pregunta es si es una buena idea romper los libros de Java en mi estante después de terminar mi tarea de C++. ¿Acabo de terminar confundido o terminaré mejor en ambos? ¿Alguien ha aprendido tanto C++ como Java simultáneamente?

Editar: Gracias por todas las respuestas rápidas! He hecho algo de programación y creo que aprendí idiomas fácilmente. Comparar de lado a lado me atrae. Pero también tiendo a morder más de lo que puedo masticar, y aprender C++ y Java me parece el tipo de gran comida que podría meterme en problemas.

+6

Crees que será difícil para ti conseguir un trabajo sabiendo C++. Creo que debes volver a evaluar qué es la informática. En cuanto a poder conseguir un trabajo ... ¿lo dices en serio? De todos modos, los programadores de Java son una docena y si realmente lo quieres, hay una granja de cubos esperándote. – BobbyShaftoe

+0

No creo que sea tan exagerado. Hemos estado codificando en C/C++ en la escuela para la mayoría de las clases, pero cuando llego a casa y no estoy haciendo la tarea, he estado haciendo proyectos personales en C#. No hubo conflicto y si se esfuerza por aprender los idiomas durante sus 4 años, no está mal – mmcdole

+1

Oye, si le enseñaran Java, le diría que aprendiera C/C++ de todos modos. – geowa4

Respuesta

24

No veo un problema real con esto. Como una ventaja adicional, podrá leer los libros de secciones relevantes una al lado de la otra y ver cómo se comparan y contrastan las diferencias en cómo los idiomas manejan las cosas.

Por ejemplo, al leer acerca de los punteros en C++ podría ayudarle a visualizar cómo funcionan los tipos de referencia de Java hasta cierto punto.

No se frustre su escuela enseña C++, sea agradecido. Lee, The Perils of Java Schools. No estás en una escuela de tecnología buscando aprender el lenguaje más popular del momento. Estás allí para aprender informática. Mi escuela enseña Java como un lenguaje introductorio y creo que es un gran error. En su lugar, deberíamos aprender C, así que cuando nos presenten a Java (por ejemplo, clase orientada a objetos) sabremos qué está sucediendo realmente y no ocurrirá nada "mágico" para nosotros.

El conocimiento que obtenga de su título, e incluso del uso de C o C++, trascenderá el último lenguaje "popular".

4

Si no ha programado antes solo aprenda C++. Tiene las cosas más básicas que JAVA tiene más un poco más. Cuando haya comprendido C++ JAVA será fácil.

4

No hay necesariamente más trabajos Java que trabajos C++, varía mucho de una región a otra; ¿donde estas buscando?

Creo que C++ es una gran base, y que aprender Java sería más fácil una vez que conoces C++, y que generalmente es un lenguaje más fácil de aprender. Si tiene la aptitud para la programación, puede aprender ambos idiomas al mismo tiempo.

Sin embargo (y eso es algo grande), si la mayor parte de la programación real que hace en la escuela es en C++ (tareas, proyectos, etc.), y Java es algo que hará como hobby y con menos frecuencia, terminarás siendo mejor en C++.

Cuando vas a entrevistas de trabajo, es mejor ser bueno en un idioma que ser mediocre en ambos.

1

Aprender cualquier cantidad de idiomas es siempre una buena práctica. Puede ayudarlo a absorber mejor los conceptos y la teoría detrás de lo que está aprendiendo, en lugar de centrarse en la sintaxis y las palabras clave. Dicho esto, las ideas son lo suficientemente similares, pero puede ser frustrante aprender ambas cosas a la vez porque es posible que transponga la sintaxis sobre la marcha.

La principal diferencia es la recolección de basura, y creo que una vez que aprendes C++, aprendes tanto a comprender como a apreciar los beneficios de un sistema recolectado de basura. Intentar aprender Java al mismo tiempo puede confundirte o frustrarte. Aprenda los conceptos clave, consiga un buen equilibrio con C++, luego avance a Java cuando esté listo.

1

Te recomiendo que analices ambos. Si su curso de C++ finaliza, será un mejor programador de Java y podrá trabajar con él. Si todavía te confundes, aún puedes dejar de leer los libros de Java hasta que el curso haya terminado.

Siempre estoy aprendiendo C++ y otros idiomas al mismo tiempo y divirtiéndome con él. Ciertamente diría que estoy aprendiendo algo en lugar de confundirme con eso.

1

Simplemente pregúntese qué fácil es aprender los conceptos para usted actualmente. ¿Qué tan profundo es el entendimiento que obtienes?

Si comprende bien, será fácil distinguirlos y separarlos. Sin embargo, si es algo difícil para ti, probablemente te confundas.

5

Primero aprende C++. Aprende C, también. Aprende Lisp o Scheme. Java va a ser un pedazo de pastel después de eso.

2

Si eres inteligente no te confundirás.

De hecho, yo diría que aprende otro idioma también, Perl o Python.

1

Simplemente aprenda C++ en este momento si cree que puede confundirse el aprendizaje de los dos idiomas al mismo tiempo. No quiere poner en peligro sus calificaciones.

Más tarde, hacia el final del semestre o después, tómese unos días para aprender Java también. No es la gran cosa. Una vez que conozca C++ será fácil y rápido aprender Java. Y tiene algo que esperar: Java tiene una sintaxis más limpia y es más fácil de entender (sin punteros, etc.).

3

100 Java a 1 C++? Acabo de buscar en dice.com y me devolvió 9322 para Java y 4777 para C++. Por supuesto, Java tiene más demanda, pero la proporción es cercana a 2: 1. Además, también está el lado de "oferta" de la ecuación: hay más programadores de Java compitiendo por las posiciones.

5

Here un documento que encontré inspirador.

Incluso si es un poco largo y no realmente acerta a su pregunta, espero que vea una respuesta. Asegúrate de leerlo hasta el final. Vale la pena leer.

+0

Siempre he entendido que TCP transporta paquetes IP. Buen artículo sin embargo. – BBetances

1

¿Cómo es que no veo ninguna recomendación para aprender C#? En todo caso, aprendería C++ y C# al mismo tiempo. Aunque creo que no deberías apostar solo por uno o dos idiomas. Aprende uno nuevo cada año más o menos. Una vez que tenga un control de los OOP y los patrones de diseño, los idiomas se volverán triviales (principalmente). Entonces puedes tener más de un currículum. También debería pensar en lo que quiere hacer exactamente ... ¿desarrollo web? cosas de bajo nivel? ¿Haciendo controladores de dispositivos? Amplíe un poco sus horizontes y profundice en lo que lo hace a USTED, como programador.

3

Como estudiante y programador, debo decir que es muy fácil distraerse con diferentes tecnologías.

Si está haciendo C++ debe estudiar mucho para eso, de lo contrario, está demorando mucho aprendiendo Java.

C++ tiene un montón de cosas que Java no tiene, y si está estudiando, ¡no obtendrá las notas si comienza a escribir Java en sus pruebas de C++!

Mi consejo es encontrar un proyecto que se puede utilizar C++ para (tal vez algunos opengl?) - tal vez hay algunas sugerencias mejores (no codigo en C++). De esta manera usted se divertirá mientras aprende lo que debería aprender :)

1

He pasado años trabajando cada uno en C -> C++ -> Java y ahora C#.

IMO, C++ es un excelente primer idioma porque se aprende mucho más sobre lo que sucede bajo el capó (cosas como punteros y montones que están ocultos en Java y C#) mientras se usa un lenguaje orientado a objetos. Recomiendo sumergirse en C++ siempre que esté en clases de C++.

También soy un defensor de aprender un poco de lenguaje ensamblador. Incluso en Java o C# hay ocasiones en las que es útil sumergirse hasta el nivel de ensamblaje en el depurador.

Una vez que conoces bien C++, Java y C# y otros lenguajes estáticos te serán fáciles. La parte más difícil será aprender cómo aprovechar efectivamente las bibliotecas que vienen con estos idiomas.

Dejaré el tema de los lenguajes dinámicos a los demás ya que no tengo experiencia para hablar.

8

C++ es un lenguaje que toma semanas aprender y años dominar. Entonces, cuanto antes te metas antes, lo dominarás.

No se confunda con las métricas de número de trabajos. La proporción de trabajos aburridos e interesantes probablemente también sea de 100 a 1, como dijiste. También en estos días de cosas de alto nivel que saben bajo nivel paga.

En mi humilde opinión, los trabajos más interesantes (de programación) son trabajos en C++. Aunque puede haber algunos proyectos interesantes en Java o C#, la mayoría de ellos se ocupan de mover datos (de DB a html o gui, de vuelta a DB ...). Depende de qué quieres programar para vivir ;-).

Si está interesado en robótica, visión artificial, gráficos por computadora ... definitivamente debería ir a C++.

+0

icono impresionante, amo el musgo. – mmcdole

Cuestiones relacionadas