Cierre del curso¶
¿Que vimos en el curso?
- Representación abstracta (datos y programas)
- AST
- Lexer y parser
- Interpretador simple: El resto del curso agregarle funciones
¿Que temas vimos?
Esto fue un viaje: Paradigma funcional: Variables inmutables (let), condicionales y funciones. Programación imperativa: Secuencialidad (begin), set (variables), paso por valor y referencia. Incluimos Tipos: Chequeo (estatico) inferencia (dinámico) y finalmente O.O (simples y planos)
¿Cuales son los minimos del curso?
No es racket, no es hacer un lenguaje desde cero.
¿Que tienen en común los lenguajes de programación?
1) variables/ligaduras 2) Estructuras de control 3) Proc/Funciones 4) Tipos 5) Compilado/Interpretado 6) Estructuras complejas: objetos
¿Que pretenedemos con este curso?
Lenguaje es una herramienta
Paradigma es como usar la herramienta: Imperativo: Secuencialidad y asignación, Funcional: Inmutabilidad y funciones, O.O: Objetos y sus relaciones, cosas los tipos: Lenguajes fuertemente tipado (don’t worry todo esta bien) debilmente tipados (>cuidado, puedes introducir errores)
Motivación¶
Queridos estudiantes, sé que este curso puede parecer abrumador a veces. Estamos descubriendo los fundamentos de los lenguajes de programación, y aunque no estamos aprendiendo un lenguaje en particular, estamos adquiriendo algo mucho más valioso: la capacidad de entender y utilizar cualquier lenguaje de programación que se cruce en nuestro camino.
Como un carpintero que debe conocer y entender sus herramientas antes de poder crear una obra maestra, nosotros también debemos dominar nuestras herramientas: los lenguajes de programación. Estos son los cinceles y martillos con los que tallamos nuestras creaciones en el bloque de madera del mundo digital.
Sé que la carga de trabajo puede ser pesada, y que la tentación de distraerse con el móvil es fuerte. Pero os animo a resistir esa tentación. El conocimiento y las habilidades que estáis adquiriendo aquí son fundamentales para vuestra futura carrera. Cada lección que aprendéis, cada proyecto en el que trabajáis, está construyendo las bases de vuestro futuro como programadores.
Y recuerden, este curso no se trata de convertirse en expertos en compiladores o intérpretes, sino de aprender a utilizar las herramientas adecuadas para el trabajo adecuado, de entender la relación entre lenguaje y paradigma.
A medida que se acerca el examen final, sé que puede haber preocupación y estrés. Pero os animo a que veáis este examen no como un obstáculo, sino como una oportunidad para demostrar todo lo que habéis aprendido. Cada uno de vosotros tiene la capacidad de hacerlo excepcionalmente bien en este examen y en todos los proyectos que os esperan.
No olvidéis que el camino para convertirse en un gran programador es un viaje, no un destino. Cada paso que tomáis, cada concepto que domináis, os acerca un paso más a esa meta. Así que mantened la cabeza alta, seguid estudiando y, sobre todo, seguid programando. ¡Estoy deseando ver lo que todos y cada uno de vosotros logrará!
¡Adelante y a por todas!