mira man lo que sucede por lo que a veces no te recomiendan aprender primero java , o aprender primero c# o cualquiera de los que sean de este tipo es que todo se maneja orientado a objetos, entonces cuando vos no has visto absolutamente ningun lenguaje en tu vida habran algunas cosas que simplemente no las entederas y lo haras porque asi sale en algun libro o porque asi lo has visto , pero realmente no tendras un enfoque mas alcanzativo de poruqe escribis en clases , o porque escribis en namespaces , etc.
Si recordas cuando te llevan por los disque cursos de programacion , la programacion orientada a objetos en la mayoria de lugares es el 2ndo curso y no arrancas de un solo con programacion orientada a objetos , ahora bien que no es ninguna astralidad y leyendo un poco acerca de este tema logras captarle rapido de que trata , y a la herencia y todas las demas cosas involucradas.
Pero fijate algo rdogg y te lo digo por experiencia personal.
He notado que la gente que aprende programación estructurada primero, de los que la llevan en "orden" como tu dices, les cuesta muchas veces comprender los conceptos de, clases objetos, herencia, etc.
En cambio si aprendes a "modelar" el problema desde una perspectiva orientada a objetos, es obvio que la programacion "tradicional" siempre se ocupa, pero luego ya no es dificil adaptarte a otros lenguajes menos OO.
A mi siento que no me costo mucho pasar de Java a C, y pk cuando llegue a la U lo unico que sabia era java, si fue hasta que entre que aprendi C y C++.
Lo que si me di cuenta, es que la mara le costaba un monton aprender los conceptos que te mencione antes, cuando pasamos de C a C++, cosa que para mi que ya habia trabajado con Java me parecia bastante natural.
Y no se hable de cuando lleve Java en la U, muchos conceptos que a mi me parecian de paquete, a la mara les costaba captarlos, por ejemplo lo de las clases abstractas, interfaces.. etc.
La verdad me gusta mas pa POO, porque te permite "modelar" el problema, más que hacer un algoritmo repetitivo.