El primer lenguaje de programación
Igor Támara
Senior Software EngineerEste es un llamado a todos los profesores de universidad o de carreras técnicas que tienen que ver con lenguajes de programación, y bueno, una invitación a los docentes que están relacionados con estudiantes de colegios acerca de la pertinencia en el trabajo con las fábricas de software que tanto se han popularizado hoy en día. Al alcance de la mano están los insumos, solamente se necesitan los operarios. Desde un smartphone hasta una consola de video juegos pueden servir para que los pequeños puedan hacer que sus sueños estén más allá de lo evidente.
Un estudiante de universidad me contaba que como primer lenguaje de programación están usando
php, tan pronto como me lo dijo supe que estaban trabajando con una herramienta que se interponía entre ellos y el entrenamiento necesario para resolver problemas, porque un desarrollador de software lo que hace es:
- Entender qué se necesita resolver.
- Traducir esto de la forma más sencilla posible para explicarlo a alguien que solamente sabe hacer cosas básicas. Crear un algoritmo.
- Usar un lenguaje de programación para que el algoritmo sea ejecutado (por el computador).
- Verificar que efectivamente la solución aplicada se comporta bien. Si no se comporta bien, vuelva al paso 2.
- Eventualmente optimizar para hallar una mejor solución.
Me estoy limitando a lo que hace un desarrollador, aunque en gran medida la resolución de problemas más grandes a los cuales está enfrentado un arquitecto de software o un gerente de proyectos puede parecerse a este algoritmo que si se desea puede ser iterativo para encontrar la mejor solución posible con el conocimiento y la tecnología posible en su momento (mientras lo permita el tiempo y el presupuesto). La optimización es bastante más compleja y por lo tanto, solamente me limitaré a mencionarla en este momento.
Pruebas de escritorio
Lo primero que debe aprender alguien que está en su paso hacia la programación son las pruebas de escritorio, de esta forma es posible no depender de un computador para verificar un algoritmo. Por supuesto, hay depuradores de código que permiten ver cómo va andando un programa, de esta forma, no es necesario aprender un lenguaje de programación. Se puede comenzar a trabajar con nociones de programación con
FreeDFD.
Un mejor lenguaje de programación
Hay universidades que incursionan a sus estudiantes con lenguajes de programación funcional, como por ejemplo lisp, creo muy personalmente que el nivel de abstracción para tratar con recursión o con funciones que van como parámetros de otras funciones es muy alto y lo mejor es ofrecer algo muy sencillo, algo que no se interponga entre la solución y otros detalles técnicos, dicho esto, no compliquemos a los estudiantes con la noción de apuntadores o clases, aquí de entrada estoy diciendo, por favor, no comiencen con C, con Java o con C#, y por supuesto, no introduzcamos a nuestros estudiantes con Assembler, puesto que hacer cosas divertidas puede tardar demasiado.
Es ideal un lenguaje de alto nivel, después de conocer
python y haberlo podido comparar con varios lenguajes continúo convencido que es excepcional como primer lenguaje de programación. Por lo tanto nuestro Hola Mundo
print ('Hola Mundo!!!')
Algunas de las características que más me llaman la atención:
- Lenguaje interpretado, no necesita compilarse para ver el resultado.
- Docstrings.
- Listas de Comprensión.
- Pep.
- Pruebas unitarias.
- Baterías incluídas.
- Comunidad amistosa.
- Documentación maravillosa.
Le invito a que vaya a http://python.org/, usted no tiene que instalarlo en su computador, aunque si usa Linux u OS/X ya lo tiene disponible para trabajar en su máquina.
Un lenguaje para niños desde el bolsillo
Ahora lo usual es que los niños tengan celulares de más alta gama que los adultos, así que si tiene Android, descargue Pocket Code, por otra parte puede intentar con Scratch. Si usted no ha tenido la oportunidad de programar pero quiere que sus hijos tengan las puertas abiertas a una de los oficios que son mejores pagos en este momento y que ofrecen a quienes se apasionan por la misma grandes satisfacciones le invito a que visite el Flisol, puede ser que en algún sitio de su ciudad o de su país encuentre hackers que quieran ayudarle en el aprendizaje y el dominio de un computador :)
Written by Igor Támara
A seasoned developer, Igor brings expertise in designing and building complex software systems. With a focus on quality and performance, they lead projects that drive innovation and deliver reliable solutions to meet user needs.