Python para filósofos - Andrés Lomeña - E-Book

Python para filósofos E-Book

Andrés Lomeña

0,0

Beschreibung

La programación y la filosofía pueden llegar a ser igual de abstractas, aunque ambas son capaces de converger e iluminarse mutuamente: la filosofía ayuda a visualizar y clarificar las ideas, mientras que la programación enseña a razonar de una forma sistemática y creativa. Este libro sirve para aprender a pensar con Python, desde la democratización del amor por la sabiduría y del arte de la programación. Descubrirás cómo programar juegos de ordenador inspirados en conocidas alegorías filosóficas como el mito de la caverna o el mito del carro alado. Te adentrarás en el mundo de la programación, con independencia de si tu inquietud intelectual es humanística, y te sumergirás en la filosofía, aunque tu vocación sea de ciencias. No necesitas ser filósofo ni programador para leer este manual, su espíritu reside en empezar de cero y que cualquiera pueda acercarse a estas dos disciplinas interrelacionadas sin ser experto en ninguna de ellas. "La primera parte del libro es estrictamente gradual. En el primer capítulo, aprenderás a hacer programas de una sola línea de código; en el capítulo nueve, escribirás programas de ordenador de nueve líneas. "La segunda parte es integradora. Observarás el código completo de varios juegos de ordenador y aprenderás a entenderlos gracias a los aprendizajes de la primera parte y a las explicaciones que acompañan a cada juego. "La tercera parte es utópica. Plantea cómo debe progresar la programación mediante un manifiesto y propone un último juego a modo de bola extra. Asimismo, la sintaxis de los programas se ha simplificado hasta llegar a ser la más didáctica posible y las ideas filosóficas sirven como herramientas pedagógicas que allanarán el camino de tu futuro como programador. El autor, Andrés Lomeña, es profesor de Filosofía. Para escribir Python para filósofos ha contado con la supervisión de varios programadores y profesores de informática, que hacen de él una herramienta ideal para estudiantes de instituto y de universidad, así como para personas de ciencias y de letras. Sin duda, la introducción doble que se muestra en este manual tiene el objetivo de presentar y hermanar dos formas de conocimiento que nunca debieron divorciarse. Tras una rápida inmersión en la programación, el famoso Pienso, luego existo del pensador René Descartes sonará, más bien, como Python, luego existo. Sapere aude, atrévete a saber… con Python.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 104

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



 

 

 

Python para filósofos

Introducción a la programación de juegos inspirados en la filosofía

Primera edición, 2022

© 2022 Andrés Lomeña

© 2022 MARCOMBO, S. L.

www.marcombo.com

Diseño de cubierta: ENEDENÚ DISEÑO GRÁFICO

Maquetación: D. Márquez

Corrección: Nuria Barroso y Haizea Beitia

Directora de producción: M.a Rosa Castillo

«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra».

ISBN: 978-84-267-3503-4

Producción del ePub: booqlab

Para Cristian Perfumo, que me ayudó a empezar, y para Víctor Romero, que me animó a terminar.

Como programar es reescribir, rectifico:

Para Cristian Perfumo, sin el que no hubiera podido empezar, y para Víctor Romero, sin el que no hubiera podido terminar.

ÍNDICE

Prólogo

Primera parte. Sé cartesiano, empieza por lo más simple

Capítulo 0: La instalación

Capítulo 1: Tu primer programa

Capítulo 2: El bucle infinito

Capítulo 3: Pequeños grandes programas

Capítulo 4: Tus primeros bucles

Capítulo 5: La mayoría de edad

Capítulo 6: Edita tus textos

Capítulo 7: Una imagen vale más que siete líneas de código

Capítulo 8: Factoriales

Capítulo 9: Pantallitas

Segunda parte. Sé hegeliano, abárcalo todo

Capítulo 0: ¡Sal de la caverna de Platón!

Capítulo 1: La caverna inundada

Capítulo 2: El mito del carro alado

Capítulo 3: El dilema del tranvía

Capítulo 4: El nihilista

Capítulo 5: el mito de Sísifo

Capítulo 6: El juego del gallina

Capítulo 7: El ratón y el gato

Capítulo 8: La tabula rasa

Capítulo 9: Tormenta de ideas

Tercera parte. Sé beauvoiriana (no se nace programador, se llega a serlo)

Epílogo: Manifiesto por una programación inclusiva

Adenda: El peor de los mundos posibles

Agradecimientos

 

 

Fracasamos más veces de las que acertamos, y eso es algo importante que debemos aprender.

Eric Matthes, programador, autor de Curso intensivo de Python

Todo éxito es un fracaso rectificado.

Charles Pépin, filósofo, autor de Las virtudes del fracaso

PRÓLOGO

Desde Aristóteles, la lógica se apoya en reglas muy básicas como el principio de no contradicción. Por ejemplo, si el enunciado “Este libro es útil” es verdadero, no puede ser falso al mismo tiempo. La lógica clásica ha evolucionado y en la actualidad es mucho más sofisticada. Sin embargo, la lógica que se emplea con más frecuencia en la actualidad procede de la informática. Por este motivo, Python para filósofos enseña programación con la filosofía como hilo conductor: escribirás programas y extraeremos algunas ideas a partir de cómo se escribe el código.

Programar significa crear una secuencia de órdenes para un ordenador. La programación es a la vez un arte y una ciencia; puede ser una actividad divertida como pintar un cuadro, o fría y exacta como medir la temperatura en un termómetro. Todo dependerá de la inventiva del programador.

Un programa es como una receta de cocina. Las recetas no son los ingredientes, ni tampoco los instrumentos de cocina. Una receta es una serie de instrucciones para conseguir un plato exquisito; un programa es una serie de instrucciones para conseguir un resultado deseado.

No necesitas conocimientos previos de matemáticas, informática ni filosofía.

El lenguaje que aprenderás se llama Python (‘pitón’ en inglés). En la mitología griega, Pitón era una serpiente gigantesca que protegía el oráculo (el lugar sagrado donde se consultaba a los dioses) y que murió a manos del dios Apolo. Hemos escogido este lenguaje de programación por su sencillez. Recuerda esto: Python es un lenguaje como cualquier otro (el inglés, el francés o el alemán). Python no es el único lenguaje de programación, solo es una forma de comunicarse con el ordenador para que realice alguna tarea. Hay muchos otros lenguajes de programación que no aprenderemos aquí: C++, Java, etcétera.

Hemos simplificado las explicaciones cuanto hemos podido. Los manuales de programación suelen ser demasiado generales o te explican un programa complejo dando por sentado muchos conocimientos previos. En la primera parte de Python para filósofos, cada capítulo te enseñará programas que tienen un número de líneas de código idéntico al número del capítulo. Por ejemplo, el capítulo ocho te enseñará a hacer programas con ocho líneas de código (no contaremos las líneas en blanco, aunque sirven para estructurar el programa y darle claridad). Esto puede ser engañoso: un programa de cuatro líneas puede ser más complejo que uno de siete. Ya entenderás el porqué. Si llegas hasta el final del libro, aprenderás a crear modestos juegos de ordenador. Para eso tendrás que avanzar gradualmente.

¿Qué tiene que ver la filosofía con todo esto? Muy sencillo: escuelas filosóficas como el pragmatismo se preocupaban más por los resultados que por los principios, o dicho de otro modo, creían que el aprendizaje ha de ser práctico (learning by doing) y la teoría se deduce de la práctica, no al revés. Por lo tanto, esto es también un experimento: vamos a ver si los pragmatistas tenían razón.

Conviene que sepas lo que te puedes encontrar en un programa. Los biólogos clasifican a los seres vivos en reinos. Si algo no pertenece a uno de esos reinos, como una piedra, entonces no está vivo. De la misma forma, cada uno de los elementos que encuentres en una línea de código pertenecerá a alguno de estos seis reinos:

1. Valores. Los valores son las palabras y los números. Es la materia prima de una fábrica. Hay dos tipos de valores: cadenas (“Aristóteles” es una cadena con once caracteres) y números.

3. Funciones. Una función es un trozo de código que realiza algo y a menudo evita repetir lo que ya has escrito. Una función es una manera de economizar, un atajo. Hay dos tipos de funciones: predeterminadas y creadas por ti.

4. Palabras clave. Python tiene una serie de palabras reservadas. No puedes crear una variable llamada def porque def es una palabra clave de Python. Algunas palabras clave que usarás serán: while, if, for, True, False, not, and, or, in, else, import.

5. Caracteres especiales. Estos caracteres son distintos a las cadenas y los números: los paréntesis, los corchetes, las comillas, el signo de mayor que, el signo de menor que, el signo igual (que en Python es así: ==), etcétera.

6.Comentarios. Información que no se ejecuta en el programa. Sirve para organizarte bien, para ser limpio y para avisar a otros programadores de algo. Se usa una almohadilla # y se escribe el comentario.

Cualquier elemento de un programa debe pertenecer a uno de estos reinos. Si no puedes clasificarlo aquí, entonces no es código.

Empezar por el cero o por el uno

Algunos lenguajes de programación empiezan a contar desde el 0 y otros desde el 1. Hay toda una guerra de religiones en torno a qué es más eficiente y cuál de las dos opciones resulta más lógica. Lo mismo ocurre con los lenguajes que son sensibles a las mayúsculas (como Python) y aquellos que no. Python empieza a contar desde 0 y por eso nuestro primer capítulo será el 0: cómo instalar Python.

PRIMERA PARTESÉ CARTESIANO, EMPIEZA POR LO MÁS SIMPLE

 

 

Mi comprensión solo puede ser una fracción infinitesimal de todo lo que quiero entender.

Ada Lovelace

Cualquier tonto puede escribir un código que el ordenador pueda comprender; los buenos programadores escriben un código que los humanos puedan entender.

Martin Fowler

CAPÍTULO 0: LA INSTALACIÓN

Antes de empezar a programar, debes tener instalado Python 3 en tu ordenador.

En primer lugar, instala la última versión de Python desde https://www.python.org. Haz clic en downloads y luego en download Python 3.10.0 (quizá cuando lo hagas ya haya una versión posterior).

Abre el intérprete de Python. Verás algo así:

Desde el intérprete, abre el editor de Python. Seleccionas File, y luego New file. Verás esto:

Desde ahí escribirás tus programas. Tendrás que guardar el archivo y darle un nombre.

INSTALAR PYGAME

Además, necesitarás pygame para crear juegos (y esa es la idea, programar algún juego, o pensarás que la filosofía no es divertida). Desde el escritorio de Windows (si es que usas Windows, claro; si usas Linux, no creo que necesites ayuda, y si usas Mac, no te falta dinero para pagar a alguien que te ayude con la instalación), pulsa la tecla Windows + r para abrir la aplicación Ejecutar y escribe esto:

py -m pip install -U pygame –user

Pulsa la tecla intro. Se instalará solo. Ya estás casi listo para empezar.

Pydroid y Pycharm

También puedes probar a escribir código Python en tu móvil si descargas la app de pydroid. Es gratuita y es funcional, aunque te recomendamos usar Python en un ordenador.

Asimismo, Pycharm es un editor de Python dirigido a profesionales (hay muchos otros). A nosotros no nos hará falta, aunque quizá quieras dar el salto a ese editor en un futuro.

Por cierto, entra en www.marcombo.info con el código FILOSOFOS22 y accede al contenido adicional de este libro para practicar cómodamente.

CAPÍTULO 1: TU PRIMER PROGRAMA

¿Qué sabes de Python? Nada de nada. Bien: tu primer programa constará de una única línea. Escribe lo siguiente en el editor:

print("Solo sé que no sé nada")

Pulsa F5, guarda el archivo (si no lo has hecho aún) y verás el resultado. Python muestra la cadena de caracteres: “Solo sé que no sé nada”. La frase del filósofo Sócrates se verá en el intérprete. Prueba a poner un comentario, pues, como ya hemos dicho, no se ejecutará. El programa hará lo mismo:

print("Solo sé que no sé nada") #Este es mi primer programa

En Python, algunos espacios en blanco no se tienen en cuenta y, además, puedes emplear comillas simples si las inglesas no te gustan, así que este programa es idéntico:

print ( 'Solo sé que no sé nada' )

Ahora ya sabes reconocer tu propia ignorancia.

¿Qué tiene que ver la programación con la filosofía zen?

El zen es una escuela budista que intenta comprender la mente. En Python, hay veinte principios que simbólicamente recuerdan al zen y son solo recomendaciones para escribir buen código. Aquí destacamos los cinco que nos parecen más importantes:

1. Explícito es mejor que implícito.

2. Simple es mejor que complejo.

3. La legibilidad es importante.

4. Los errores nunca deberían pasar silenciosamente.

5. Debería haber una, y preferiblemente solo una, manera obvia de hacerlo.

Si quieres conocer los veinte, puedes escribir lo siguiente en el editor y ejecutar el archivo (F5):

import this

El término import es una palabra especial de Python que importa funciones predeterminadas. Te ahorra trabajo. Lo usarás, casi siempre, al principio de cada juego que desarrolles (escribirás import pygame).

CAPÍTULO 2: EL BUCLE INFINITO

Pensar te permitirá programar. Sin pensar, no somos nada. Eso es lo que dijo, a su manera, el filósofo francés René Descartes: Je pense, donc je suis, o, como se le suele citar: cogito ergo sum.

Tu segundo programa consta de dos líneas:

while True:

print("Pienso, luego existo")

while es una palabra especial que crea una condición: mientras un valor sea menor o mayor que un número, el programa hará lo que tú le ordenes. Has escrito, sin embargo, while True y dos puntos (que son esenciales para que el programa funcione, así que no los olvides); así se ejecuta siempre lo que tú ordenes. Este bucle no tiene fin. Hará lo que escribas dentro de él mientras no indiques lo contrario. Le has pedido al ordenador que escriba siempre Pienso, luego existo, la conocida frase de Descartes. Hay otras formas de conseguir lo mismo. Pasa habitualmente. Observa:

while(1):

print("Pienso, luego existo")

Si lo pruebas, verás que no hay ninguna diferencia. Con while(0), en cambio, verás que no consigues el resultado esperado. Los bucles son fundamentales en la programación. Verás que prácticamente todo el código que acabarás escribiendo contiene, al menos, un bucle.

Pero pasemos a tu tercer programa, que también tiene dos líneas:

Esto viene a ser lo mismo, solo que con una cadena: