¿Qué lenguaje de programación deberían enseñar las universidades?

Python sería el lenguaje de programación introductorio que debe enseñarse en las universidades.

La programación ya no es un oficio exclusivo de los ingenieros de sistemas y computación en las universidades. Cientos de personas acceden a cursos de programación debido a las exigencias del mundo laboral actual, en el cual este conocimiento es muy valorado. Sin embargo, sí son las universidades las llamadas a ‘mandar la parada’ respecto a qué lenguaje enseñar.

Durante años, uno de los lenguajes de programación obligatorios que todo profesional o técnico debía manejar era Java, y aunque este sigue ocupando un lugar en el mundo real, expertos creen que se está muriendo como un lenguaje de programación introductorio. Así lo indica un análisis reciente publicado en The Next Web.

En 2005 Bernard Chalk, académico de la London South Bank University, y Karen Fraser, docente de la Universidad de Ulster, encuestaron a varias instituciones de educación superior sobre su elección del lenguaje de programación introductorio. Así mismo, en 2014, Philip Guo publicó una investigación referente a este tema en la página web de ACM (Association for Computing Machinery) y los resultados confirmaron las sospechas que venían acumulándose desde 2005.

Resultados de la encuesta de 2014

Según la investigación publicada por Philip Guo, Python es ahora el lenguaje más popular para la enseñanza de la informática introductoria en los Estados Unidos. Ocho de los 10 principales departamentos de informática de Estados Unidos y 27 de los 39 mejores (el 69%) usan el lenguaje para enseñar los fundamentos de la Ciencia de la Computación. Otros idiomas que hicieron parte de la lista incluyen MATLAB, C y C + +, Scheme, Scratch, y sí, Java.

Este lenguaje de programación fue creado a finales de los años 80 por Guido van Rossum en el Centro para las Matemáticas y la Informática (Centrum Wiskunde & Informatica) de los Países Bajos, como un sucesor del lenguaje de programación ABC y con el fin de servirle a la plataforma Amoeba (un sistema operativo de investigación) desarrollada en la Universidad Libre de Ámsterdam.

El nombre de Python proviene de la afición de su creador por los humoristas británicos Monty Python, y en la actualidad es administrado por la Python Software Foundation. Python posee una licencia de código abierto, denominada Python Software Foundation License.

Diferencias de cada lenguaje de programación

De acuerdo con el blog de Udemy, un sitio web de cursos en línea reconocido a nivel mundial, Python y Java son dos lenguajes de programación muy diferentes, pero ambos pueden ser herramientas útiles para los desarrolladores modernos.

«Si está pensando aprender a programar por primera vez, entonces puede encontrar a Python fácil de dominar. La sintaxis de Python está diseñada para ser intuitiva y su relativa simplicidad permite a los principiantes comenzar rápidamente a escribir código para diversas aplicaciones. Por su parte, Java tiene una curva de aprendizaje más marcada, siendo extremadamente factible para desarrollar aplicaciones que se ejecutarán en cualquier plataforma», asegura el sitio.

Si quieres conocer más diferencias, puedes visitar la nota completa de Udemy aquí.

Imagen: Pexels.

Ana María Luzardo

Ana María Luzardo

Nunca me imaginé escribiendo sobre tecnología, ya que mi vida transcurría entre textos de sociología y política, caminatas a las montañas del Quindío y danzas afro. Sin embargo, amo la multiculturalidad y -debido a que no hay nada más entretenido, colorido y diverso que la relación del ser humano con la tecnología- qué mejor lugar para percibir y vivir esa diversidad que ENTER.CO. Soy comunicadora social-periodista de la Universidad del Quindío.

View all posts

10 comments

  • ¿»El lenguaje de programación que deberían enseñar las universidades» es CSS?
    Y ojo, ya me leí el texto, pero la imagen que lo acompaña es lo segundo que se ve acá luego del titular, y no da tan buena impresión. Hasta puede ser desechada la idea central del texto por ese (ademán de comillas) insignificante detalle visual

  • hmm.. creo que hace menos de 6 meses o alrededor de seis meses pusieron un artículo que prácticamente se titulaba igual. en mi opinión, qué lenguaje depende de quién lo enseña. si es un instituto técnico, y los estudiantes buscan salir con un cartón que les permita ser contratados y ponerse aprogramar en el menor tiempo posible, pues que sea lo que alguna encuesta les diga que es el tipo de programadores que estén contratando en ese momento, o para el tipo de desarrollos que se estén haciendo en ese momento según el mercado actual. si es algo para aprender aprogramar y entender cómo funciona la máquina, lo ideal sería algo que permita programar con conceptos de escalabilidad, para proyectos grandes, que permita que un proyecto pueda ser manetnido (todo lo anterior significa que debe soportar programación por objetos y documentación). por otro lado, tal vez hace 20 años llegaba un fulanito y se creía un p.tas porque escribía un programa en una línea y sólo él lo podía entender. eso ya está mandado a recoger, y eso no lo hace un buen programador, eso lo hace un pésimo programador. por eso cosas como perl, donde los programas son espagueti y otra persona no puede luego hacerle mantenimiento, simplemente no sirven, y ninguna empresa debe tenerlos en cuenta
    por otro lado, aunque cosas como phyton están de moda, realmente phyton viene a ser la versión moderna del basic, donde la gente aprendía aprogramar (con gotos), y se sentía feliz porque le daba enter y de una veía el resultado, y supuestamente está demoda que porque hay varias librerías escritas para phyton. el cuento es que supuestamente está demoda porque permite realizar prototipos rápidamente, pero cuando se hace un proyecto en una empresa no es alguien que se sienta y va sacando el programa a medida que lo escribe. si es el program del cual depende el funcionamiento de la empresa no es porque se puedan hacer prototipos rápidos, es porque hay qué sentarse, planearlo con todas las partes de la empresa que lo van a usar, y se hace a aprtir de un plano o un diseño que todos revisan y con el que se llega aun acuerdo, no porque me siento inspirado y me pongo aprogramar y ahí va saliendo. entonces lo de prototipar rápido no justifica cosas como que la sintaxis dependa de cuñantos espacios le pongo a una línea, lo que significa que por ejemplo, lo puedo ver diferente end iferentes editores.s implemente está mal construído, y promueve malas prácticas, igual que cuando el basic se puso de moda porque permitía aprender rápido, así fuera con errores
    quedan cosas como java y c++ entonces (o cosas como pascal, que me gusta bastante, pero que nadi usa en este momento). si es la versión light, java le permite hacer de todo y le permite hacer proyectos para manejar la empresa. si es para entender cómo funciona la máquina y manejar todo desd el nivel más bajo, es c++. alguno de esos dos son los que deberían enseñar en las universidades, si es para algo serio y si no es para despachar en serie que salgan rá`pido con un cartón. ya con esos, si están buscando contratar con algun otro lenguaje que esté de moda en esemomento, esos se pueden aprender cont utoriales en internet

    • Es bonito encontrar a gente que aún usa argumentos tan trillados como «si parece fácil, sólo sirve para prototipar y nada serio, etc.»

      Instagram y Reddit están hechos en python, así como gran parte de Dropbox. Python es el lenguaje más popular en machine learning, que no está precisamente entre los campos fáciles. La herramienta de manejo de configuración más popular está hecha en python. Etcetera, etcetera, etcetera.

      Usar espacios no es mala práctica, por cierto. Y si sólo se usara en python, el código en otros lenguajes sería horrible.

      Y c/++ son pésimos lenguajes para aprender. Usarlos es como aprender a manejar en un carro de F1. Java es sólo ligeramente más fácil, y ésa es su tragedia: no es tan eficiente con la máquina como C/++ ni tan eficiente con el programador como los lenguajes de script.

      • también es bonito encontrar gente que se inventa frases donde no las hay. si quiere argumentar al respecto lo invito a que encuentre la frase que ud dice, en lo que yo publiqué. por un lado, comparándolo con basic, todos hacen lo mismo. quiere condiciones, en basic la condicións e escribe si talc osa haga tal cosa. igual que en c o en python o en todos los demás.pero por otro lado, también se usaba goto, también se usaban números de línea, y eso significaba que cuando se insertaba un bloque tocaba renombrar el código qe ya se había escrito, o que con los goto no se podían hacer bloques de ejecución, o que si quería manejar colecciones de datos, en vez de usar arrays y que se pudiera manejar todo con un índice, que correspondía a una dirección de memoria se usaban bloques ‘data’, y que si se iban a depurar luegop tocaba llevar la cuenta amano. simplemente cosas innecesarias que algunos porque creyeron que eso se veía simpático, o que era algo para ufanarse porque otros lenguajes no lo usaban (en el caso de la versión demicrosoft, por ejemplo, bloques switc donde cada condición podía ser un rango en vez de un valor), que luego hacían que el mantenimiento se complicara, porque otra persona iba a leer el código y nolo entendía
        pero pese a eso, sabe por qué era popùlar el basic? porque venía instalad en cada máquina que se vend-ía en los 80s, sin importar la marca. los pcs traían una versiçón de basic, el atari st, el amiga venían con su basic, el commodore, etc. entonces era prender el computador, y al igual que python, era uinterpretado. es decir, la gran novedad de `python, es que hace lo que hacía el basic, donde simplemente voy escribiendo y le puedo decir corra, porque es muy estresante o muy tenaz darle click a un botón que revise lo que va escrito para compilar. a eso se refiere lo del prototipaje rápido. y en cambio, ud queda con un perograma donde en vez de tener una sintaxis independiente de un estilo deprogramación o algo así, le toca con indentaciones, y le toca meter la nstrucciónc ompleta en una línea.

        machine learning? que y sepa la mayoría de machine learning son arrays y tensores. seguramente mejor eso que algo que simplemente se maneja con llamados a la dirección de memoria donde está el dato, y correrlo interpretado, igual que el basic viejo. también le puedo dar ejemplos de cosas que se escribieron en basic; eso no significa que se aun mejor lenguaje. ahora, tiene una rgumento real, en vez de inventar cosas que nadie ha dicho, sobre por qué es mejor un lenguaje interpretado y cons intaxios viciada, y de hecho en el que el int´ñerprete mismo está escrito en c, junto con las preciadas librerías adicionales?

        editado: seme ocurre una cosa: antesno existía el python. cómo cree que aprendieron las personas entonces. obviamente no puedieron porque era muy tenaz el c. seguramente aprendieron en basic entonces, porque lo demás que había era muy difícil. ahh verdad, basic ya casi nadie lo usa. yla verdad espero que eso suceda con el python luego, aunque a punta de modas creo que va a durar un rato..

  • Python un buen lenguaje para comenzar al igual que Ruby.
    El lenguaje que se debe enseñar en este momento, que pide el mercado y por el gran aporte que se le esta haciendo es: javascript.

    Otros lenguajes que recomendaría por el crecimiento que están teniendo y la necesidad actual son: Scala y Swift.

    • Hola Luis. Tienes razón. Ya hice el ajuste porque en algunas partes quedó bien escrito y en otras fue un error de digitación. Gracias por hacernos caer en cuenta.

  • Todo lenguaje de programación tiene sus ventajas y desventajas, ya depende del programador sacar provecho de las primeras y tratar de mitigar las segundas.

    Lo que veo es que en las universidades y demás centros de enseñanzas virtuales o presenciales, se enfocan mucho en lo que tiene que ver con el lenguaje a usar, entrando en una discusión sin sentido sin prestarle atención a lo más básico, preguntarse ¿qué le hace falta a los programadores?; la respuesta es muy sencilla: Algoritmia.

    He conocido personas que se aprenden un lenguaje de programación, manejan un IDE o framework sin problemas y resuelven los problemas de manera eficaz pero no eficiente, porque les falta aprender o comprender mucho más la algoritmia de los problemas.

    Y si tiene razón el artículo, Phyton es muy «fácil», pero ¿de qué sirve que un lenguaje de programación sea «fácil» si no tienes la lógica de programación (algoritmia) desarrollada?.

  • Que lenguaje?? pues depende, y depende realmente de los paradigmas, mas que un lenguaje en si la gente en las Universidades debe aprender paradigmas (funcional, imperativo, POO, etc), un lenguaje se aprende con el manual. Lo anterior no quiere decir que no se enseñe algun lenguaje, de hecho hay lenguajes apropiados para cada paradigma o unos que pueden ser usados con varios, seguramente la enseñanza del paradigma ira asociada a algún lenguaje para su ejemplificacion, pero no debería ser lo principal.

Archivos