Esta pregunta es a la que se trata de responder en el documento "Python como Primer Lenguaje" de Ariel Ortiz. El contexto en el que está escrito todo su trabajo era para sustentar la idea y la implementación del cambio en el programa de estudios para que a los alumnos les enseñaran otro lenguaje de programación diferente a los comerciales como Java, C, C++ y C# ya que estos resultan muy complicados para una clase introductoria por lo que no se podía alcanzar a ver todos los temas que venían previamente estipulados.
La idea de implementar Python para aprovechar este problema fue magnifica ya que, como usuario de Python resulta mucho más sencillo programar en este lenguaje ya que, la sintaxis a la hora de programación es muy fácil y sencilla a comparación de Java o C++ por lo que aprender el lenguaje de programación de Python te da la gran ventaja de que los alumnos en lugar de enfocarse en los errores de sintaxis o de escritura del lenguaje se enfocan en lo que realmente es el objetivo de la clase: "Al finalizar este curso el alumno será capaz de aplicar la lógica para generar algoritmos que permitan resolver problemas". Y como la complejidad de Python no es tan grande como otros lenguajes nos podemos enfocar mucho en la resolución de problemas que es lo que nos importa en esta clase introductoria.
Pero a que me estoy refiriendo con complejidad; bueno, a lo que me refiero es a lo siguiente:
Según Brooks todo proyecto de software se enfrenta a dos tipos de complejidades las cuales son: complejidad accidental y complejidad esencial (Ortiz. A. (2010). Python como Primer Lenguaje).
Ambas complejidades siempre se encuentran a la hora de programar y en cualquier lenguaje pero en Python a pesar de que estas complejidades existen de alguna manera son menores a las complejidades que puede presentar un lenguaje como Java, C, C++ y C# que son los que se utilizan en muchas universidades para enseñarles a los jóvenes a programar lo cual no está mal pero es poco eficiente debido a todas las ventajas que Python ofrece para enseñar a programar. De igual modo creo pertinente recalcar que Python a pesar de que es un lenguaje relativamente nuevo y que muchos dirían que no es comercial, si lo es. Según el trabajo del profesor Ariel Ortiz, empresas como Google, Autodesk, NASA, reddit, Yahoo!, YouTube e Industrial Light & Magic utilizan Python para programar.
Llegando a este punto considero necesario enlistar las ventajas que tiene Python:
a) Corre en múltiples plataformas, incluyendo Windows, Mac OS y Linux.
b) Su sintaxis y semántica es sencilla y consistente.
c) Incluye una extensa y poderosa biblioteca de clases.
d) La comunidad que utiliza Python es muy grande.
Esta ventaja es súper importante ya que gracias a que mucha gente utiliza este lenguaje de programación hay una mayor cantidad de códigos en este lenguaje, de libros y de gente que te podría ayudar a resolver algún problema de porque no corre un programa o que te enseñen a utilizarlo.
e) Por ser un lenguaje de programación interactivo, es idóneo para llevar a cabo programación experimental y desarrollo rápido.
f) Su disponibilidad es fascinante ya que en primera es gratuito y no se necesita una licencia para su uso.
De igual manera hay que mencionar las posibles desventajas que tiene Python contra los otros lenguajes de programación anteriormente mencionados:
a == Python por ser un lenguaje interpretado su velocidad a la hora de correr el código es mucho menor a los lenguajes como Java o C++ que lo hacen más rápido por el proceso de compilación.
b == La idea de que Python no es un lenguaje comercial.
c == Falta de familiaridad al lenguaje ya que es considerado un lenguaje que no es comercial.
d == Ausencia de detección de errores al tiempo de compilación.
Ahora, tengamos en mente que si uno quiere liderar el mercado de la educación tiene que arriesgarse a implementar cosas nuevas, en este caso un lenguaje nuevo porque si uno se queda con temarios o cosas que llevan años haciéndose de la misma manera no habrá un progreso en el método de la educación lo cual hay que tener muy presentes en los ámbitos de la tecnología ya que, como todos sabemos la tecnología avanza muy rápido y si uno se rezaga se vuelve obsoleto por lo que aprender distintos lenguajes y cambiar la forma de educar es muy necesaria.
En este caso fue la implementación de Python para bajar el índice de reprobados y de desertores porque no entendían el lenguaje de Java, C o C++. Además como Python es mucho más sencillo que esos lenguajes puedes ver más contenido y enfocarte en lo que realmente importa que es en generar métodos para la resolución de problemas al igual que la creación de algoritmos para resolver esos problemas.
Pero para que este lenguaje fuera aceptado hubo una comparación de 11 lenguajes diferentes basados en los siguientes 4 criterios:
1) Aprendizaje.
2) Diseño y Ambiente.
3) Soporte y Disponibilidad.
4) Más allá de la programación introductoria.
Al pasar los 11 lenguajes diferentes por estos criterios ese estudio arrojó que Python e Eiffel son los dos lenguajes más indicados para un curso introductorio de programación. (Ortiz. A. (2010). Python como Primer Lenguaje.).
Como conclusión puedo afirmar que fue una excelente decisión el implementar Python como el primer lenguaje porque Python te ofrece unos excelentes cimientos para poder programar después en otros lenguajes de programación que resultan más complicados de aprender por lo que Python resuelve totalmente con ese problema. Puedo decir que actualmente después de haber tomado el curso de introducción a la programación me siento inspirado y con la seguridad de que lo que viene va a ser difícil pero ya tendré una gran ventaja por haber aprendido Python primero ya que me aportó los conocimientos necesarios para saber cómo funciona en general la lógica de la programación solo será cuestión de familiarizarme con los nuevos comandos y de la nueva sintaxis de los próximos lenguajes de programación como Java, C o C++.
DATO CURIOSO:
El nombre del lenguaje de Programación Python viene de la afición de su creador Guido van Rossum por los humoristas británicos Monty Python.
"Frente a la ambigüedad, rechaza la tentación de adivinar"
Filosofía de Python.
BIBLIOGRAFÍA:
