Un curso introductorio de programación que adopta Python como primer lenguaje y se propone una meta más amplia que enseñar sintaxis: cultivar la forma de razonar de quien resuelve problemas.
Descargar
Plan gratis: 1 libro al día. Hazte VIP para libros ilimitados.
Un curso introductorio de programación que adopta Python como primer lenguaje y se propone una meta más amplia que enseñar sintaxis: cultivar la forma de razonar de quien resuelve problemas. Escrito a seis manos por un profesor de secundaria, un docente universitario y un programador profesional que nunca llegaron a conocerse en persona, el libro nació de una decisión concreta de aula —abandonar C++ como lenguaje de iniciación— y se publicó bajo licencia libre, lo que permitió que cientos de lectores lo corrigieran y lo ampliaran. Combina explicación paciente, ejemplos mínimos y una reflexión constante sobre por qué la claridad del lenguaje importa para quien está empezando.
Este volumen es a la vez un manual de iniciación a la programación y el testimonio de un experimento pedagógico. Su punto de partida es un problema práctico: cuando un instituto de Arlington, Virginia, cambió su curso introductorio a C++ para alinearse con los exámenes oficiales, el profesor a cargo comprobó que la potencia del lenguaje se pagaba con una factura desproporcionada en frustración y abandono. La búsqueda de una alternativa —multiplataforma, de código abierto, usada por profesionales, capaz de soportar programación procedimental y orientada a objetos, y sobre todo enseñable— condujo a Python. Faltaba el libro de texto, y la solución llegó por la vía del contenido libre: la traducción y reescritura de un manual previo, cedido bajo licencia GNU, al que después se sumó un programador profesional para desarrollar la segunda mitad dedicada a objetos.
El resultado conserva esa doble naturaleza. Por un lado avanza como un curso ordenado: qué distingue a un lenguaje de alto nivel de uno de bajo nivel, cómo trabaja un intérprete frente a un compilador, la diferencia entre el modo interactivo y la ejecución de un guion, qué es realmente un programa reducido a sus operaciones elementales —entrada, salida, aritmética, condicionales y repetición— y por qué programar consiste en descomponer tareas hasta que quepan en esas piezas. Por otro, dedica un espacio inusual a lo que suele quedar fuera de los manuales: la depuración entendida como método. Los errores se clasifican en sintácticos, de ejecución y semánticos, y se presentan no como accidentes sino como el terreno donde se aprende, con la investigación detectivesca y la ciencia experimental como modelos explícitos.
Un capítulo temprano compara lenguajes formales y naturales —ambigüedad, redundancia, literalidad— para explicar por qué leer un programa exige una atención distinta a la de leer prosa, y por qué la puntuación deja de ser un detalle. Las decisiones didácticas se argumentan a la vista del lector: por qué una variable entendida como un nombre que señala una cosa resulta más accesible que una dirección de memoria con tamaño, o por qué la sintaxis de las funciones permite separar definición y llamada, parámetro y argumento, sin rodeos.
El tono es sereno, sin condescendencia y con humor contenido. Los ejemplos son deliberadamente pequeños, en la convicción de que un primer programa debe caber en una línea. Conviene señalar que el texto pertenece a una etapa temprana de Python y refleja sus convenciones de entonces, lo que hoy añade un interés adicional: se lee como manual y también como documento de cómo una comunidad de docentes construyó en abierto el material que necesitaba.