NICOLÁS BOTTARINI
Volver a la ruta

Fundamentos de computación

Lenguajes de programación

615 páginas de lectura · 3 h 58 min de video

Cómo funcionan los lenguajes: compiladores e intérpretes, tipos, paradigmas. Entender las ideas detrás de los lenguajes te permite aprender uno nuevo rápido y elegir el adecuado para cada problema.

Temas

  • Historia

    Historia de los lenguajes y los paradigmas, Diferencias entre paradigmas

  • Fundamentos de compiladores

    Análisis léxico, Parsing, Análisis semántico, Optimización, Generación de código, Scope léxico, Intérpretes, Stack, Heap, Linker, Loader, Árbol sintáctico, Lenguaje intermedio, Chequeo de tipos, Tabla de símbolos, Tipado estático vs dinámico, Parse Trees, Tokens, Lexemas

  • Teoría de lenguajes

    Máquinas de estados finitos, Determinismo/No determinismo, Autómatas de pila, Máquina de Turing, Alfabetos, Gramáticas libres de contexto, Valores, Literales, Expresiones vs sentencias, Variables, Tipos, Scoping

  • Expresiones regulares

    Literales, Escaping, OR, Grupos, Clases de caracteres, Rangos, Negaciones, Punto, Boundary Matchers, Cuantificadores, Greedy, Grupos no capturantes, Back references, Lookahead, Lookbehind

  • Programación estructurada

    Goto Considered Harmful, Secuencia, Selección e iteración

  • Programación orientada a objetos

    Metáforas, Objetos, Responsabilidades, Mensajes, Interfaces / Protocolos, Colaboración / Colaboradores, Clases, Herencia, Abstracto/Concreto, Delegación, Polimorfismo, Encapsulamiento, Componentes, Métodos, Late/Dynamic Binding, Marshalling/Serialización, Closures, Lambdas, Bloques

  • Programación funcional

    Inmutabilidad, Efectos secundarios, Funciones puras, Currying, Functors, Monads, Funciones de orden superior, Funciones parciales, Recursión, Reduce, Fold

  • Gestión de memoria

    Reserva/liberación manual, Garbage Collection, Tracing, Conteo de referencias

Recursos