sábado, 21 de abril de 2012

Un poquito de programación (previo a LOGO y Scratch)

Bien, hemos visto la historia de LOGO, de Scratch, de dónde parten, además también vimos la historia de un lenguaje de programación bastante difundido: BASIC. Majenamos conceptos como programación estructurada y objetual pero déjenme explicar un poquito algunos de estos términos antes de entrar en materia del post. Actualmente TODOS hacemos programación, programamos nuestras actividades, programamos nuestras grabadoras, programamos nuestros reproductores y otros programamos cosas más complejas. La programación consiste en organizar un conjunto de actividades (en su mayoría son órdenes) de una manera lógica, tienen un punto de inicio y un punto de fin, además tienen el objetivo de realizar un trabajo o proceso, si no me creen, hagan su itinerario de actividades del día anotando lugar al que fueron, hora y qué hicieron, verán dónde empiezan, dónde terminan e incluso encontrarán que pudo existir una manera más eficiente.

Para lo que refiere a lenguaje de programación, pues todos hablamos un idioma, utilizamos por lo menos un lenguaje para comunicarnos con otras personas, los médicos tienen su lenguaje lleno de "itis", "aleas", etcétera, por citar un ejemplo. La finalidad es darse a entender dentro de una comunidad. Se siguen reglas que dan sentido y significado a lo que queremos decir. Igual con la programación, existen diversos lenguajes como BASIC, LOGO, PASCAL, C, C++, PHP, JAVA, COBOL, LISP, PROLOG (algunos nos suenan de la sesión con el Dr. Gándara) Algunos se parecen entre sí (C, C++, PHP,JAVA) otros cambian mucho (LISP, PROLOG).

Existe toda una genealogía de los lenguajes, misma que no trataré aquí sino en otro foro, pero también existe una evolución. ¿Recuerdan eso de "spagetti code"? (También hay otro término curioso "scrambled code" que refiere a un código donde se revuelven partes de un lenguaje con partes de otro, las páginas de internet son un buen ejemplo) eso deriva de una primera forma de programar, la programación lineal, tal como lo hacía BASIC, ahí seguíamos una secuencia, misma que podíamos alterar con el famoso (y "letal") GOTO (o "ir a"), para solucionar eso se desarrolló una programación donde se podía agrupar un conjunto de instrucciones con un nombre (a esto se le llamó procedimiento o función) y donde necesitara esas instrucciones simplemente las mandaba a llamar por su nombre, a esto se le llamó programación estructurada, de aquí surgió la idea de agrupar variables y procedimientos para hacer cosas más complejas, por ejemplo: las variables "nombre", "edad", "sexo", "nacimiento" junto con los procedimientos "nacer", "crecer", "morir", "trabajar", "bautizar", "cumpleaños" pueden definir a una "persona", esta "persona" en la computadora se denomina "objeto" y la programación que se utiliza se dice "orientada a objetos".

Por otro lado, nos mencionaron "compilado" e "interpretado". Imaginen que vamos a otro país y tenemos una guía turística, obviamente escrita en el idioma del país, si no sabemos el idioma tenemos que recurrir a personas que hablen nuestro idioma y el del país para que nos traduzcan y nos ayuden, eso hace que nuestra visita sea lenta, necesitamos INTÉRPRETES, lo bueno es que no importa si cambia la información, estas personas nos pueden seguir ayudando sin más lio. Imaginemos el mismo caso solo que esta vez nos prevenimos y... traducimos la guía a nuestro idioma, ahora la visita es más ágil, sabemos a dónde ir y casi sin ayuda, recopilamos y COMPILAMOS los datos en una guía entendible para nosotros, ¿y si entre que terminamos de traducir o compilar nuestra guía y nuestra visita las cosas cambian? pues tenemos que volver a recopilar la información y traducirla (RECOMPILAR). Lo mismo pasa con los programas, un programa en un lenguaje interpretado es rápido para cambiar pero lento de procesar, mientras que un programa con un lenguaje compilado es lento de cambiar pero rápido de procesar.

3 comentarios:

  1. Hola


    Instalé el programa Scracth que está construido sobre el lenguaje deprogramación Squeak,se inspiró en trabajos previos realizados en Logo y en los Etoys deSqueak, tiene una interfaz simple e intuitiva.
    Fue una experiencia divertida aunque al pricipio no sabia que hacer, asi que comencé con una exploración del programa y después decidí consultar un manual de scracth en la red y ver los videos (material encontrado en la plataforma de la maestría ). Una vez conocido un poco más del funcionamiento del programa comencé a realizar mi animación de personaje a una mujer que estaba mediatando con un fondo de jardín, a la cual le cambié su disfraz, le dí animación y sonido a través de la funciones mover, grados y sonido. Amanera de conclusión he de sustentar que la utilización de este software puede ser exitosa siempre y cuando se persiga un objetivo en la utilización con los niños de educación básica.

    ResponderEliminar
  2. LOGO... yo recuerdo que en la primaria nos enseñaron a utilizarlo, claro que lo aprendí como un juego y no como un lenguaje, en esa época no había interés de aprender a programar... de haberlo hecho hubiera sacado más potencial a eso. A fin de cuentas fue mi primer encuentro con un lenguaje de programación :p

    ResponderEliminar
  3. Hola compañeras:

    En ambos simuladores, me gusta aplicarlos en la secundaria con los alumnos, del cual el que más les gusta es Scratch, porque en el ven un juego, a la vez, un espacio donde se expresan libremente, desarrollando el pensamiento matemático y lógico de bloques de acciones programadas. Comprenden que este programa es un inicio al lenguaje de programación. Sin duda alguna todo docente que quiere aplicar un simulador en su práctica pedagógica, lo hace con la plena seguridad de que se utilice para un fin común, generando un ambiente de aprendizaje significativo.

    ResponderEliminar