[Madrid-pm] STDOUT en ventana y en Windows...

DervishD bugs en dervishd.net
Lun Mar 26 04:12:39 PDT 2007


    Hola Enrique :)

 * Enrique Nell <blas.gordon en gmail.com> dixit:
> >>>¿Alguien conoce algo más simple que Tk de forma que mi alumno no
> >>>flipe con el montón de código que va a tener que meter y que no
> >>>entenderá? Además, agradecería que la solución no implicase un
> >>>diseño conducido por eventos, porque para empezar tengo que
> >>>explicarle algoritmos y diagramas de flujo (es una larguísima
> >>>historia) y creo que lo mejor para eso no es decirle "mira, tú mete
> >>>tu código por aquí en un callback y luego llama a "MainLoop", que
> >>>ya se hará sólo...").
>
> El shell es lo más simple. No creo que tener que usar la consola sea
> razón para emascular a nadie.

    Este tío no usa Linux porque cree que no tiene entorno gráfico. No
ha usado NUNCA la consola en Windows (descubrió que había un terminal
porque se lo enseñé yo) y se niega a hacer nada sin el ratón en la mano.
Creemé que si busco una solución alternativa es porque de lo contrario
o no aprende algoritmia o bien cae en las garras del Visual Basic.

    Para que te hagas una idea, cuando le puse el Vim para que usara un
editor decente, me preguntó "Ah, pero ¿el Perl este no se puede usar con
el notepad?". Ante mi mirada asesina rectificó: "bueno, notepad no, el
Word o lo que sea, algo para escribir".

> De hecho, es la mejor manera de empezar a programar, centrándose en el
> algoritmo y no en la interfaz.

    No, si mi idea no es que él programe la interfaz, en absoluto, sino
que él escriba su código en cierto lugar del fichero y que,
"magicamente", la salida salga en una ventanita y no en la consola al
hacer doble click en el programa. La idea es precisamente que no esté
pensando en que esto es "raro", sino que está haciendo un programa
sencillo "de Windows". Por ejemplo, el primer programa que intentó, uno
que imprimía los números pares menores que 50, le dejó alucinado. Se
quedó mirando la consola como un zombi, pensando que el programa no
funcionaba, y te juro que allí había una lista de números (pares, por
más señas) y el tío ¡no los veía!, estaba esperando a que el programa se
ejecutase, porque para él, ejecutarse es que salga una ventana diciendo
algo. Es un caso de contaminación extrema, qué le vamos a hacer.

> Si ya de partida intentas enseñarle a programar en Perl con
> interfaz gráfica, lo más probable es que piense que usar "ese
> engendro" es una pérdida de tiempo, pudiendo usar Visual Basic.

    No pretendo eso, para nada. Si es incapaz de pensar en un bucle para
solucionar un problema, imagina si tiene que aprender Tk... La cosa es
que yo escriba un esqueleto de forma que si él hace "print" la salida
sea en una ventana aparte y no en la consola en la que ejecutó el
script.

> Lo importante es que descubra el maravilloso mundo de los hashes, las
> expresiones regulares, las referencias, etc., tan fáciles de usar en
> Perl, y para eso el shell es el medio ideal. Luego que aprenda a hacer
> interfaces...

    Ya veremos si aprende a usar hashes, le parecen un concepto arcano.
Según él, si quieres un diccionario, pues miras en google. Ya ves,
cometí el error de explicarle las hashes con el símil del diccionario y
la cagué...

    De momento me doy por contento si es capaz de hacer un algoritmo
sencillo usando pseudocódigo o un diagrama de flujo, que es lo que le
piden, pero la cuestión es que sé que este tío aprende antes las cosas
si las ve. Si ve un programa de verdad que calcula la suma de dos
matrices, entiende el algoritmo y es capaz de extrapolarlo a, pongamos,
multiplicación de matrices. Si no, no es capaz :(

    Creo que, a fuerza de obligarle, acabaré acostumbrándole a usar la
consola y algún editor decente, pero si lo hago ahora, no conseguiré que
aprenda ni algoritmos ni eficiencia al usar un ordenador, sino que se
pondrá en modo "que asco, esto es en blanco y negro". Para él,
informática "de verdad" son los programas que usan los de CSI, esos que
tienen animaciones en 3D para cualquier chorrada, que te leen la mente y
que hacen un ruidito cada vez que imprimen una línea en la pantalla.

    Pero vamos, que agradezco tu consejo y que sepas que opino igual,
pero cuando no se puede, pues no se puede ;)

    Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736 | http://www.dervishd.net
It's my PC and I'll cry if I want to... RAmen!


Más información sobre la lista de distribución Madrid-pm