En Granada se enseña de primeras C++. Primero de manera estructurada (como C pero con la comodidad de cin y cout
![partiéndose XD](/images/smilies/biggrin.gif)
) y luego con orientación a objetos. Luego en el segundo cuatrimestre te enseñan punteros, punteros a punteros
![partiéndose XD](/images/smilies/biggrin.gif)
, referencias, sobrecarga de operadores, destrucción de objetos... Y en segundo curso (en Estructuras de Datos) a parte de todo lo relacionado con el tema te enseñan a usar templates, iteradores...
Y ya en otras asignaturas como Programación y Diseño Orientado a Objetos te "exigen" Java y otro lenguaje a tu elección (en el mío fue Python) para hacer un seminario en clase.
La verdad es que esta metodología me parece correctísima porque empiezas con un lenguaje de bajo nivel (entre los de alto nivel, como yo lo llamo
![más risas [+risas]](/images/smilies/nuevos/risa_ani3.gif)
) y vas entendiendo bien todos los conceptos, y cuando ya tienes todo claro (incluida la POO) ya te piden Java y demás. Lo que me parece horroroso es algunos amigos que me han comentado (o incluso en este hilo) que empiezan con Java y su POO y de primeras ya te encuentras el problema de algoritmia y el problema de interfaces, objetos, instancias y demás, todo junto.
Ah! Y dando una opinión para lo que es el hilo en sí: Yo creo que se puede empezar perfectamente por C/C++ (sin usar punteros, usa arrays o vector para empezar y ya más adelante te metes con ellos) o bien por uno de más alto nivel como Python. Con este último (o cualquiera similar, pero por ejemplo Ruby no es de mi agrado) creo que se puede empezar a hacer cositas más rápido, pero después el salto a C/C++ es más difícil. En mi caso me fue bien empezando en C/C++ pero eso ya depende de las ganas, el tiempo y las aptitudes de cada uno
![sonriendo :)](/images/smilies/smile.gif)
.
Salu2!!!