• Lenguajes de programacion: uno, ninguno o todos?

    From Enric Lleal Serra@1:2320/100 to All on Mon Sep 26 12:17:20 2016
    �Hola All!


    Interesante reflexi�n[1] sobre la cantidad de lenguajes de programaci�n a los que tiene que hacer frente un estudiante tipo, junto con una propuesta de racionalizaci�n...


    *Lenguajes de programaci�n: �uno, ninguno o todos?*

    Si hay un tema transversal en la inform�tica son los lenguajes de programaci�n.

    Desde los niveles m�s bajos de la arquitectura a los m�s altos, la forma universal en la que el ser humano se comunica con un ordenador son los programas, escritos en alguno de los lenguajes de programaci�n disponibles. Los

    lenguajes suelen tener una serie de caracter�sticas comunes: una sintaxis r�gida, implementaciones con licencia libre y una evoluci�n continua.

    En esta �ltima caracter�stica est� uno de los problemas. El lenguaje que ense�aste en primero puede no parecerse en nada al que usar�s en el trabajo de fin de grado. Pero si consideramos que la evoluci�n individual est� acompa�ada de una evoluci�n colectiva de los tipos de lenguajes que se usan y que, por tanto, se necesitan no ya para conseguir un puesto de trabajo, sino siquiera para poder trabajar en un entorno de computaci�n determinado, la elecci�n de un

    lenguaje de programaci�n para una asignatura o para una carrera entera se convierte en una tarea ardua o imposible.

    Porque, seamos pr�cticos, elegir un s�lo lenguaje para regirlos a todos es imposible en nuestro pa�s. Ni en ninguno, para el caso. Nuestra idiosincrasia impedir�a que m�s de dos personas se pusieran de acuerdo en qu� lenguaje usar desde primero a cuarto, y en el caso improbable de que un ukase de la superioridad impusiera uno, esa misma idiosincrasia har�a que el profesor de pr�cticas de tercero usara eventualmente el que le viniera en gana. Seguramente

    esto es hasta sano y saludable porque, �qui�n nos asegurar�a que en el "mundo real" la sociedad y la industria habr�a elegido este supuesto lenguaje ganador y tan perfecto para habernos puesto de acuerdo a nosotros? Habr� que agradecerle al profesor de pr�cticas de tercero el que el alumno haya tenido exposici�n a diversos lenguajes y entornos de trabajo. Por esa misma raz�n descartamos esa opci�n del lenguaje �nico y puro para dominarlos a todos.

    Tambi�n podr�amos pensar, siguiendo las metodolog�as modernas, la idea de adaptaci�n al estudiante: cada cu�l que elija su lenguaje favorito y que lo utilice para desarrollar sus proyectos. Seguramente nos encontrar�amos con algunas dificultades: lenguajes poco adecuados para las tareas que est�n relacionadas con la tem�tica de la asignatura, excesivo "monocultivo", dado que

    es f�cil ponerse de acuerdo con uno mismo y terminar haciendo todo con una sola

    tecnolog�a (perdiendo en el camino la oportunidad de explorar otras), y la no despreciable complejidad de prestar asistencia en caso de que alguna cosa no vaya bien.

    Desde nuestra experiencia esta puede ser una buena aproximaci�n cuando vamos avanzando en la carrera: sugerir, por ejemplo, un lenguaje que nosotros creamos

    adecuado pero facilitar que se elijan alternativas. Eventualmente, el profesor no tiene que evaluar al alumno por la letra de lo que haya hecho, es decir, la literalidad de haber escrito alg�n algoritmo o usado una estructura de datos en

    un lenguaje que el profesor conoce, sino por el hecho de que haya sido capaz de

    entender esos conceptos y usarlos en la pr�ctica. No resultar�a dif�cil, para cualquier profesor, evaluar la consecuci�n de los objetivos por parte del alumno en casi cualquier lenguaje de programaci�n. Salvo, quiz�, Haskell.

    Vamos avanzando.

    �Y en primero?

    Lo que siempre se dice en estos casos es que se trata de aprender a programar: las bases, conceptos, la organizaci�n de un programa, las estructuras de datos,

    entre otros, y que el lenguaje no es lo importante. Pero luego todo el mundo tiene argumentos para defender unos y desde�ar otros.

    El problema es que, frente a la posibilidad de que el alumno use su propio lenguaje o usar un s�lo lenguaje, nos barruntamos que obligar al alumno de primero a usar varios diferentes, cada uno con sus bases, su historia, sus herramientas, no es la mejor opci�n. Realmente no hay lenguaje de programaci�n moderno que no implemente todos los conceptos que debe aprender un alumno de primero. El que todas las asignaturas de un primero de Inform�tica u otra carrera TIC adoptaran un s�lo lenguaje permitir�a a los profesores concentrarse

    en los conceptos en s� y no tener que dedicar una o varias sesiones de pr�cticas a las complejidades intr�nsecas de compilar en Java o en Pascal o c�mo instalar paquetes en R. Una encuesta informal en cualquier escuela de inform�tica te permitir� descubrir que en primero, y muchas veces en el primer cuatrimestre, diferentes asignaturas usan lenguajes o entornos tan disimilares como R, Maxima, Java, C++, Python e incluso C, adem�s de alg�n que otro lenguaje m�quina. Todo ello en primero de carrera, en los primeros meses, y en aras de facilitar al alumno la tarea.

    Nada m�s lejos de la realidad. El principal obst�culo para la implantaci�n de Un S�lo Lenguaje en primero es la dificultad en decidir cu�l es ese lenguaje. Incluso decidir el tipo, si funcional, dirigido a objetos, procedural... Sin embargo, no es una dificultad insalvable y lo �nico que habr�a que hacer es decir qu� requisitos deben tener los lenguajes que usan en las diferentes asignaturas y buscar el que m�s acomode todos esos requisitos. Un problema inform�tico, con una soluci�n inform�tica relativamente simple. Y si es imposible encontrar ese lenguaje �nico, dos o tres lenguajes, quiz�s a diferente nivel de la arquitectura de un ordenador, son mejor soluci�n que una multiplicidad de lenguajes, algunos con escaso recorrido a lo largo de la carrera.

    Imaginad que los alumnos llegaran a segundo controlando bien, con cierta eficacia, un lenguaje, uno s�lo. Eso permitir�a, a partir de ah�, dejarle libertad para que elija nuevos lenguajes en asignaturas, como las que se dan en

    segundo, que no est�n, en general, enfocadas a un lenguaje espec�fico. Usar lenguajes que tengan recorrido en varias asignaturas va a redundar en un mejor conocimiento por parte del alumno y dejar libertad, en cursos superiores, para elegir el lenguaje en el que se implementen los conceptos llevar� tambi�n a que

    el alumno entienda que se conf�a que sea capaz de elegir el lenguaje m�s adecuado para cada tarea y evaluar su desempe�o. Una situaci�n que permitir� que nuestros estudiantes se involucren m�s en su aprendizaje de manera proactiva, frente a una situaci�n, a nuestro entender no deseable, de multiplicidad de lenguajes que no dejan al alumno posibilidad de elecci�n.

    Pensemos, pues, en las bondades de la Gran Unificaci�n de Lenguajes en la carrera de inform�tica, al menos en el primer y quiz�s el segundo semestre. Aunque sobre los m�ritos de algunos lenguajes espec�ficos hablaremos pr�ximamente en otra columna.

    Todas las columnas de la serie Docencia 2.0 pueden descargarse en formato >LaTeX.

    2016 JJ. Merelo, F. Tricas Licencia de Creative Commons
    Este obra est� bajo una licencia de Creative Commons >Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional


    [1]www.aenui.net/ojs/index.php?journal=rhttps:evision&page=article&op=view&path

    %5B%5D=306&path%5B%5D=467


    -
    A reveure!!
    Enric
    __________________________________________________________________
    FidoNet: 2:343/107.1 | beholderbbs.org | fidonet.cat | .es | .ws
    InterNet: kishpa(at)kishpa(dot)com | kishpa.com | GPG#0xDCCB8CFC

    ... No importa la edad que tengas: un tubo de cart�n siempre ser� un sable l�ser.
    --- crashmail + golded + binkd
    # Origin: Black flag & crossed bones : Eye Of The Beholder BBS! (2:343/107.1)
    * Origin: LiveWire BBS - Synchronet - LiveWireBBS.com (1:2320/100)