[gugs] Re: [asamblea-sd] Cursos de los de gugs por emilio?
Javier
outermind en eresmas.net
Lun Oct 21 15:17:03 CEST 2002
Esteve dijo:
> On Mon, 21 Oct 2002 16:09:25 +0200
> Marcos Serrano <makros en sindominio.net> wrote:
>
> > Yo creo que para aprender de verdad a programar (y no a usar las
> > palabras clave
> > de un compilador específico) son necesarias dos cosas:
> >
> > - pseudocódigo y estudio de técnicas de programación basado en
> > los principios
> > matemáticos (invariantes, postcondiciones, precondiciones, etc).
> > Hacer estudios de infalibilidad de bucles, asegurarte de que un
> > código no es inconsistente, etc.
>
> Eso es fundamental. Saber programar es saber estructurar las ideas,
> dividirlas los problemas más complejos en varios problemas más
> pequeños, etc. pero también es bueno acompañarlo con ejemplos de
> lenguajes.
>
> > - empezar con un lenguaje procedural y tipado (aunque esto
> > último estás más
> > influenciado por la opinión personal), un lenguaje que te obligue a
> > crear procedimientos, funciones, definición de variables, tener
> > cuidado con los tipos que se usan.
>
> Ningún lenguaje te obliga a crear procedimientos o funciones... o
> acaso no has visto programas enteros escritos dentro de un main
> inmenso? ;) Con respecto al tipado fuerte, creo que para un
> principiante eso hace que se distraiga, algo que es necesario es que
> el lenguaje de aprendizaje te obligue a declarar las variables (más
> que nada, para evitar errores), pero no así su tipo. Así se pueden
> centrar más en los conceptos importantes que caracterizan la
> programación ¿es necesario que un novato sepa que un int ocupa 4 bytes
> en plataformas ia32 en UNIX? En el momento que necesite acceder de una
> manera más directa al ordenador donde se está ejecutando el código o
> mejor rendimiento, puede adentrarse en otros lenguajes, pero lo
> importante es que tenga los conceptos bien claros y centrarse en el
> diseño y el análisis, no en la implementación.
>
Pero es que el tipo de un dato es muy importante, es en lo que se centra
la programación orientada a objetos. Por eso estoy de acuerdo con Marcos
en que el lenguaje tiene que tener un tipado fuerte y a ser posible
estricto, con estricto me refiero a que no sea como C, que tiene tipos
pero lo que realmente importa es lo que ocupa cada uno en memoria, les
puedes hacer de todo. Por ejemplo, en pascal no se le puede sumar un
entero a un puntero por ser de distintos tipos, se considera que la suma
no tiene sentido para el tipo puntero, independientemente de que sea un
operación válida por la forma en la que está representada tanto el
puntero como el entero.
Más información sobre la lista de distribución Gugs