Estoy de acuerdo. Lo primero que nota uno cuando empieza a programar es que no es consciente de los procesos mentales y asociaciones lógicas que utiliza para resolver problemas.
Yo creo que este es el paso más difícil e importante. Cuando se es capaz de describir de una forma lógica (más o menos limpia en cuestión metodológica) y precisa el proceso seguido para la solución de un problema, ya nos podemos considerar programadores, aunque no sepamos programar en ningún lenguaje.
Creo además que este tipo de educación es muy útil en campos que no tienen nada que ver con la informática, ya que nos hacen desarrollar la capacidad de abstracción y el razonamiento lógico.
Yo particularmente, cuando empecé a programar mejoré mi rendimiento en muchas otras materias de clase sin hacer prácticamente ningún esfuerzo adicional (parece que vendo detergente ...:)).
La programación estructurada/procedimental pertenece al paradigma imperativo. La programación orientada a objetos puede ser o imperativa (C++, Java, C#...) o declarativa (Haskell p.e.). Eso no tiene nada que ver con lo que he dicho. Independientemente de si piensas de forma declarativa o imperativa, se puede hacer diseño orientado a objetos (que es una forma de diseño, no un paradigma "fuerte" como imperativo o declarativo).
Más aun, no solo no tengo nada en contra de ese paradigma sino que me fascina. El cálculo lambda para el procesado de lenguajes resulta totalmente natural (al contrario que para lenguajes imperativos que resulta forzado). Los sistemas basados en el conocimiento se presentan de forma natural en la programación lógica, increiblemente natural. Estas son solo dos cosas que me llamaron mucho la atención cuando estudié el paradigma declarativo, hay muchas más cosas que se hacen mucho mejor de forma declarativa que imperativa.
Antes de ponerte a decir que si me he dejado tal o cual, deberías comprender bien a fondo que significa programación orientada a objetos, en haskell también hay clases y se puede hacer un diseño orientado a objetos (frente a uno "a tu puta bola"). No confundir lo que es una forma de diseñar con un paradigma, aunque muchos consideren que la OOP es un paradigma en si misma, en realidad es un método de diseño más que otra cosa.
Re:Educar la mente.
(Puntos:3, Inspirado)( http://web.iesrodeira.com | Última bitácora: Sábado, 25 Abril de 2009, 19:50h )
Yo creo que este es el paso más difícil e importante. Cuando se es capaz de describir de una forma lógica (más o menos limpia en cuestión metodológica) y precisa el proceso seguido para la solución de un problema, ya nos podemos considerar programadores, aunque no sepamos programar en ningún lenguaje.
Creo además que este tipo de educación es muy útil en campos que no tienen nada que ver con la informática, ya que nos hacen desarrollar la capacidad de abstracción y el razonamiento lógico.
Yo particularmente, cuando empecé a programar mejoré mi rendimiento en muchas otras materias de clase sin hacer prácticamente ningún esfuerzo adicional (parece que vendo detergente ...:)).
Xavi.
Re:Lenguaje adecuado
(Puntos:1)Más aun, no solo no tengo nada en contra de ese paradigma sino que me fascina. El cálculo lambda para el procesado de lenguajes resulta totalmente natural (al contrario que para lenguajes imperativos que resulta forzado). Los sistemas basados en el conocimiento se presentan de forma natural en la programación lógica, increiblemente natural. Estas son solo dos cosas que me llamaron mucho la atención cuando estudié el paradigma declarativo, hay muchas más cosas que se hacen mucho mejor de forma declarativa que imperativa.
Antes de ponerte a decir que si me he dejado tal o cual, deberías comprender bien a fondo que significa programación orientada a objetos, en haskell también hay clases y se puede hacer un diseño orientado a objetos (frente a uno "a tu puta bola"). No confundir lo que es una forma de diseñar con un paradigma, aunque muchos consideren que la OOP es un paradigma en si misma, en realidad es un método de diseño más que otra cosa.