[gugs] Re: [asamblea-sd] Cursos de los de gugs por emilio?
Javier
outermind en eresmas.net
Lun Oct 21 14:38:10 CEST 2002
Esteve dijo:
>
> Yo estoy estudiando en la UB, donde se enseña Java en primero como
> lenguaje de programación. Por lo que veo, es un auténtico desastre
> (que no dudo que sea también por culpa del profesor). La gente que no
> tiene no ha visto un código fuente en su vida, tienen una empanada
> increíble(no ven claramente el concepto de objeto, cuando el día
> anterior les acaban de enseñar lo que es un bucle). Seguro que si
> aprendes primero procedural y luego aprendes objetos, coges vicios (yo
> también los tenía... y sigo teniendo), pero aprender directamente POO
> es inservible. La POO requiere saber abstraer las cosas mucho más,
> pero para ello es bueno tener la base anterior de la procedural,
> aunque se tarde más tiempo.
>
Esto y el simil que haces justo debajo es con lo que no estoy de acuerdo
respecto a la OOP. Igual le cuesta a una persona (creo yo) aprender a
subdividir un problema en pequeños problemas (programación
procedimental), que aprender a identificar objetos. Incluso hay quien
dice que es más natural la programación orientada a objetos. La
programación procedimental no es un subconjunto de la OOP, es la misma
programación pero con otro concepto de diseño diferente que, además,
aseguran los expertos que es conceptualmente más próximo a la forma de
pensar de los humanos (ni me lo creo ni me lo dejo de creer). Un símil
como el del camión no me parece válido, sería como decir que es más
fácil empezar a programar en ASM antes de meterse con procedimental (que
aunque no te lo creas yo mismo conozco gente convencida de esto, poca
eso sí).
> Haciendo un símil, probablemente no cojas muchos vicios si aprendes a
> conducir trailers (en lugar de primero conducir coches, luego camiones
> y finalmente trailers), pero te arriesgas a tener que aprender tantos
> conceptos nuevos si no has cogido nunca un coche, que probablemente
> aburras (o nunca comprendas) la conducción.
>
No hace falta en un curso de introducción enseñar TODO lo que te permite
la OOP, que si polimorfismo y demás movidas (al igual que en
programación procedimental no se enseñan cosas como punteros), eso son
mecanismos de apoyo a la OOP no la OOP en sí misma. Se puede explicar el
concepto de clase e incluso herencia sin que haya un incremento de
conceptos a estudiar y creo que realmente merece la pena, cuanto antes
te quites la idea de la programación procedimental mejor.
> Creo que es mejor aprender un lenguaje que te permita programar de
> manera procedural, sin imponerte la OO (aunque realmente, esté
Pues aquí es de donde viene nuestro desacuerdo, a mi me parece bien
imponer la OO, al fin y al cabo o impones la procedimental o impones la
OO (o dejas usar gotos y eso si que es coger vicios tontos). La única
diferencia entre la OO y la programación procedimental es la forma de
pensar, y dado que son diferentes y disjuntas no veo razones por las que
sea necesario saber programación procedimental para programar OO.
>
> PD: vaya parrafada ;) pero en temas de guerras de lenguajes de
> programación, es obligatorio :D
>
Más bien guerra de "paradigmas" docentes, pero todo se andará (C++
power!) ;D
Un saludillo!
Más información sobre la lista de distribución Gugs