Está en la página 1de 20

EMPEZAR A PROGRAMAR CON

PYTHON PARA DUMMIES

by John Paul Mueller


Fecha de publicación de este libro en inglés: 2014. Parece un poco anticuado, lo que en
programación es bastante tiempo. Quizá algunos enlaces no funcionen. Y seguro que se han
introducido más novedades en este lenguaje de programación desde entonces, que por supuesto no
están recogidas en este libro.

Introducción
¡Rápido! ¿Qué lenguaje de programación funcionará correctamente y ejecutará
sus aplicaciones en todas las plataformas populares? ¿Darse por vencido? Sí, es
Python. Lo sorprendente de Python es que realmente puede escribir una
aplicación en una plataforma y usarla en cualquier otra plataforma que necesite
admitir. A diferencia de otros lenguajes de programación que prometían brindar
independencia de plataforma, Python realmente hace posible esa independencia.
En este caso, la promesa es tan buena como el resultado que obtiene.
Python enfatiza la legibilidad del código y una sintaxis concisa que le permite
escribir aplicaciones utilizando menos líneas de código que las que requieren
otros lenguajes de programación. Además, debido a la forma en que funciona
Python, lo encuentra utilizado en todo tipo de campos que están llenos de no
programadores. Algunas personas ven a Python como un lenguaje de secuencias
de comandos, pero en realidad es mucho más. (El Capítulo 18 le brinda solo una
idea de las ocupaciones que dependen de Python para hacer que las cosas
funcionen).

Sobre este libro


(no traduzco este párrafo entero, solo el final)

1. El texto que debe escribir tal como aparece en el libro está en negrita. La
excepción es cuando está trabajando en una lista de pasos: debido a que cada
paso está en negrita, el texto a escribir no está en negrita.
2. Cuando vea palabras en cursiva como parte de una secuencia de escritura,
debe reemplazar ese valor con algo que funcione para usted. Por ejemplo, si ve
"Escriba su nombre y presione Entrar", debe reemplazar Su nombre con su
nombre real.
3. Las direcciones web y el código de programación aparecen en Agency FB. Si está
leyendo una versión digital de este libro en un dispositivo conectado a Internet,
tenga en cuenta que puede hacer clic en la dirección web para visitar ese sitio
web, así: www.dummies.com.
4. Cuando necesita escribir secuencias de comandos, las ve separadas
por una flecha especial, así: Archivo➪Nuevo Archivo. En este caso, vaya primero
al menú Archivo y luego seleccione la entrada Nuevo archivo en ese menú. El
resultado es que ve un nuevo archivo creado.

Suposiciones Tontas
Puede que le resulte difícil creer que he asumido algo sobre usted; después de
todo, ¡ni siquiera lo he conocido todavía! Aunque la mayoría de las suposiciones
son realmente tontas, hice estas suposiciones para proporcionar un punto de
partida para el libro.
Es importante que esté familiarizado con la plataforma que desea utilizar
porque este libro no analiza ningún problema específico de la plataforma. (El
Capítulo 2 proporciona instrucciones de instalación de Python para varias
plataformas). Para brindarle la máxima información sobre Python, realmente
necesita saber cómo instalar aplicaciones, usar aplicaciones y, en general,
trabajar con la plataforma elegida antes de comenzar a trabajar con este libro.
Este libro también asume que usted puede encontrar cosas en Internet. A lo
largo hay numerosas referencias a material en línea que mejorarán su
experiencia de aprendizaje. Sin embargo, estas fuentes agregadas son útiles solo
si realmente las encuentra y las usa.

Íconos usados en este libro


Los tips son buenos porque te ayudan a ahorrar tiempo sin hacer
mucho esfuerzo extra. Los tips en este libros son técnicas que te
ayudan a ahorrar tiempo o señaladores de los recursos que deberías
intentar para conseguir el máximo beneficio de Python.

No quiero sonar como un padre enojado o una especie de maníaco,


pero debes evitar hacer cualquier cosa marcada con un ícono de
advertencia. De lo contrario, podría encontrar que su programa solo
sirve para confundir a los usuarios, quienes luego se negarán a
trabajar con él.
Cada vez que vea este ícono, piense en una sugerencia o técnica
avanzada. Puede encontrar estos fragmentos de información útil
demasiado aburridos para las palabras, o podrían contener la
solución que necesita para ejecutar un programa. Omita estos
fragmentos de información cuando lo desee.
Si no obtiene nada más de un capítulo o sección en particular,
recuerde el material marcado con este icono. Este texto generalmente
contiene un proceso esencial o un poco de información que debe conocer para
escribir programas en Python con éxito.

Más allá de este libro


Este libro no es el final de su experiencia de programación con Python, en
realidad es solo el comienzo. Proporciono contenido en línea para que este libro
sea más flexible y pueda satisfacer mejor sus necesidades. De esa manera,
cuando recibo correos electrónicos suyos, puedo hacer cosas como abordar
preguntas y decirle cómo las actualizaciones de Python o sus bibliotecas
asociadas afectan el contenido del libro. De hecho, obtienes acceso a todas estas
interesantes adiciones:
✔ Hoja de trucos: recuerdas usar notas de apuntes en la escuela para hacer
una mejor calificación en una prueba, ¿no es así? ¿Lo hiciste? Bueno, una hoja
de trucos es algo así. Le proporciona algunas notas especiales sobre las tareas
que puede realizar con Python que no todos los demás desarrolladores conocen.
Puede encontrar la hoja de trucos de este libro en
http://www.dummies.com/cheatsheet/beginningprogrammingwithpython. Contiene información muy
interesante, como los diez principales errores que cometen los desarrolladores
cuando trabajan con Python y parte de la sintaxis de Python que genera
problemas a la mayoría de los desarrolladores.
✔ Artículos en línea de Dummies.com: muchos lectores se saltaban las
páginas de las partes del libro, así que decidí remediarlo. Ahora tiene una muy
buena razón para leer las páginas por partes: el contenido en línea. Cada página
por partes tiene un artículo asociado que proporciona información adicional e
interesante que no cabría en el libro. Puede encontrar los artículos de este libro
en http://www.dummies.com/extras/beginningprogrammingwithpython.
✔ Actualizaciones: A veces ocurren cambios. Por ejemplo, es posible que no
haya visto un cambio próximo cuando miré en mi bola de cristal mientras
escribía este libro. En el pasado, eso simplemente significaba que el libro
quedaría obsoleto y sería menos útil, pero gracias a internet ahora si puede
encontrar actualizaciones del libro en http://www.dummies.com/extras/beginningprogrammin
gwithpython/.
Además de estas actualizaciones, consulte las publicaciones del blog con
respuestas a las preguntas de los lectores y demostraciones de técnicas útiles
relacionadas con los libros en http://blog.johnmuellerbooks.com/.
✔ Archivos complementarios: ¡Oye! ¿Quién realmente quiere escribir todo el
código en el libro? La mayoría de los lectores preferirían pasar su tiempo
trabajando con ejemplos de codificación, en lugar de escribir. Afortunadamente
para usted, el código fuente está disponible para descargar, por lo que todo lo que
necesita hacer es leer el libro para aprender las técnicas de codificación de
Python. Cada uno de los ejemplos del libro incluso le dice con precisión qué
proyecto de ejemplo usar. Puede encontrar estos archivos en
http://www.dummies.com/extras/beginningprogrammingwithpython.

A dónde ir desde aquí


¡Es hora de comenzar tu aventura de Programación con Python! Si es un
completo novato en programación, debe comenzar con el Capítulo 1 y avanzar a
través del libro a un ritmo que le permita absorber la mayor cantidad de material
posible.
Si eres un novato que está absolutamente apurado por comenzar con Python lo
más rápido posible, puede saltar al Capítulo 2 con el entendimiento de que puede
encontrar algunos temas un poco confusos más adelante. Es posible saltar al
Capítulo 3 si ya tiene instalado Python, pero asegúrese de leer al menos el
Capítulo 2 para saber qué suposiciones se hicieron al escribir este libro.
Los lectores que tienen cierta experiencia con Python pueden ahorrar tiempo
moviéndose directamente al Capítulo 5. Siempre puede volver a los capítulos
anteriores según sea necesario cuando tenga preguntas. Sin embargo, es
importante que comprenda cómo funciona cada ejemplo antes de pasar al
siguiente. Cada ejemplo tiene lecciones importantes para usted y podría perder
contenido vital si comienza a omitir demasiada información.
PARTE I

EMPEZANDO CON PYTHON

En esta parte…

✔ Descubra de qué se trata la programación y por qué necesita Python para


hacerlo.
✔ Obtenga su propia copia de Python e instálela en su sistema. Trabaja con el
entorno interactivo que Python proporciona.
✔ Crea tu primera aplicación usando Python.
✔ Comprender los beneficios de agregar comentarios a su programa.
Capítulo 1

Hable con su ordenador

En este capítulo:

Hable con su ordenador


Cree programas para hablar con tu ordenador
Comprende qué hace un programa y por qué desea crearlo
Considera por qué quieres usar Python como tu lenguaje de programación

Tener una conversación con su computadora puede sonar como el guion de una
película de ciencia ficción. Después de todo, los miembros de Enterprise en Star
Trek hablaban regularmente con su computadora. De hecho, la computadora a
menudo respondía. Sin embargo, con el auge de Siri de Apple
(http://www.apple.com/ios/siri/) y otro software interactivo, tal vez realmente no
encuentres una conversación tan increíble.

Pedir información a la computadora es una cosa, pero proporcionarle


instrucciones es otra muy distinta. Este capítulo considera por qué desea
instruir a su computadora sobre cualquier cosa y qué beneficio obtiene
de ello. También descubre la necesidad de un lenguaje especial al realizar
este tipo de comunicación y por qué quiere usar Python para lograrlo. Sin
embargo, lo principal a destacar de este capítulo es que la programación es
simplemente un tipo de comunicación similar a otras formas de comunicación
que ya tiene con su computadora.

1 Comprender por qué desea hablar con su computadora


Hablar con una máquina puede parecer bastante extraño al principio, pero es
necesario porque una computadora no puede leer tu mente, todavía. Incluso si la
computadora leyera tu mente, todavía se estaría comunicando con usted. Nada
puede ocurrir sin un intercambio de información entre la máquina y usted.

Actividades como:
✔ Leer tu mail
✔ Escribir sobre tus vacaciones
✔ Encontrar el mayor regalo en el mundo

son todos ejemplos de comunicación que ocurre entre una computadora y usted.
Que la computadora se comunique aún más con otras máquinas o personas para
atender las solicitudes que usted realiza simplemente amplía la idea básica de
que la comunicación es necesaria para producir cualquier resultado.

En la mayoría de los casos, la comunicación se lleva a cabo de una manera que


es casi invisible para usted a menos que realmente piense en ello. Por ejemplo,
cuando visita una sala de chat en línea, puede pensar que se está comunicando
con otra persona. Sin embargo, se está comunicando con su computadora, su
computadora se está comunicando con la computadora de la otra persona a
través de la sala de chat (sea lo que sea) y la computadora de la otra persona se
está comunicando con esa persona. La figura 1-1 le da una idea de lo que
realmente está ocurriendo.

Imagen 1.1

Observe la nube en el centro de la Figura 1-1. La nube puede contener cualquier


cosa, pero sabe que al menos contiene otras computadoras que ejecutan otras
aplicaciones. Estas computadoras hacen posible que tu amigo y tú hablen.
Ahora, piense en lo fácil que parece todo el proceso cuando usa la aplicación de
chat. Aunque todas estas cosas suceden en segundo plano, parece que
simplemente estás chateando con tu amigo y el proceso en sí es invisible.

2 Saber que una Aplicación es una Forma de Comunicación


La comunicación informática se produce mediante el uso de aplicaciones. Utiliza
una aplicación para responder su correo electrónico, otra para comprar
productos y otra para crear una presentación. Una aplicación (a veces llamada
una app) proporciona los medios para expresar ideas humanas a la computadora
de una manera que la computadora pueda entender y define las herramientas
necesarias para dar forma a los datos utilizados para la comunicación de
maneras específicas. Los datos utilizados para expresar el contenido de una
presentación son diferentes de los datos utilizados para comprar un regalo para
su madre. La forma en que ve, usa y comprende los datos es diferente para cada
tarea, por lo que debe usar diferentes aplicaciones para interactuar con los datos
de una manera que tanto la computadora como usted puedan entender.

Es posible obtener aplicaciones para satisfacer casi cualquier necesidad general


que pueda concebir hoy. De hecho, probablemente tenga acceso a aplicaciones
para las que aún no ha pensado en un propósito. Los programadores han estado
ocupados creando millones de aplicaciones de todo tipo durante muchos años,
por lo que puede ser difícil comprender lo que puede lograr al crear un nuevo
método para hablar con su computadora a través de una aplicación. La respuesta
se reduce a pensar en los datos y cómo desea interactuar con ellos. Algunos
datos simplemente no son lo suficientemente comunes como para atraer la
atención de un programador, o es posible que necesite los datos en un formato
que ninguna aplicación admite actualmente, por lo que no tiene forma de
informarle a la computadora al respecto a menos que cree un aplicación
personalizada para hacerlo.

Las siguientes secciones describen aplicaciones desde la perspectiva de trabajar


con datos únicos de una manera que es especial de alguna manera. Por ejemplo,
es posible que tenga acceso a la base de datos de una biblioteca de videos, pero
no tenga ningún método para acceder a ella de una manera que tenga sentido
para usted. Los datos son únicos y sus necesidades de acceso son especiales, por
lo que es posible que desee crear una aplicación que aborde tanto los datos como
sus necesidades.

2.1 Pensar en los procedimientos que usa a diario


Un procedimiento es simplemente un conjunto de pasos que hay que seguir para
realizar una tarea. Por ejemplo, al hacer tostadas, puede usar un procedimiento
como este:

1. Coger el pan y la mantequilla de la nevera.


2. Abrir la bolsa del pan y sacar dos rebanadas de pan.
3. Quitar la tapa de la tostadora.
4. Poner cada rebanada de pan en una ranura.
5. Empuje la palanca del tostador hacia abajo para comenzar a tostar el
pan.
6. Espere a que se hagan las rebanadas de pan.
7. Sacar las tostadas de la máquina.
8. Poner las tostadas en un plato.
9. Untar las tostadas con la mantequilla.
Su procedimiento puede variar del que se presenta aquí, pero es poco probable
que ponga mantequilla en la tostada antes de colocarla en la tostadora. Por
supuesto, en realidad tiene que quitar el pan de la envoltura antes de tostarlo
(colocar el pan, la envoltura y todo, en la tostadora probablemente produciría
resultados no deseados). La mayoría de la gente nunca piensa en el
procedimiento para hacer tostadas. Sin embargo, utiliza un procedimiento como
este aunque no piense en ello.

Las computadoras no pueden realizar tareas sin un procedimiento. Debe


indicarle a la computadora qué pasos debe realizar, el orden en que debe
realizarlos y cualquier excepción a la regla que pueda causar fallas. Toda
esta información (y más) aparece dentro de una aplicación. En resumen,
una aplicación es simplemente un procedimiento escrito que se usa para decirle
a la computadora qué hacer, cuándo hacerlo y cómo hacerlo. Debido a que ha
estado usando procedimientos toda su vida, todo lo que realmente necesita hacer
es aplicar el conocimiento que ya posee a lo que una computadora necesita saber
sobre tareas específicas.

2.2 Escribir procedimientos

Cuando estaba en la escuela primaria, nuestra maestra nos pidió que


escribiéramos un artículo sobre cómo hacer tostadas. Después de entregar
nuestros papeles, ella trajo una tostadora y algunas hogazas de pan. Cada
artículo fue leído y demostrado. Ninguno de nuestros procedimientos funcionó
como se esperaba, pero todos produjeron resultados graciosos. En mi caso, olvidé
decirle a la maestra que quitara el pan del envoltorio, así que obedientemente
trató de meter el trozo de pan, con envoltorio y todo, en la tostadora. La lección se
me quedó grabada. Escribir sobre procedimientos puede ser bastante difícil
porque sabemos con precisión lo que queremos hacer, pero a menudo dejamos de
lado los pasos: asumimos que la otra persona también sabe con precisión lo que
queremos hacer.

Muchas experiencias en la vida giran en torno a los procedimientos. Piense en la


lista de verificación que usan los pilotos antes de despegar un avión. Sin un buen
procedimiento, el avión podría estrellarse. Aprender a escribir un gran
procedimiento lleva tiempo, pero es factible. Es posible que deba intentarlo varias
veces antes de obtener un procedimiento que funcione completamente, pero
eventualmente puede crear uno. Sin embargo, escribir los procedimientos no es
suficiente; también debe probar el procedimiento con alguien que no esté
familiarizado con la tarea involucrada. Cuando se trabaja con computadoras, la
computadora es el sujeto de prueba perfecto.
2.3 Ver las aplicaciones como cualquier otro procedimiento
Una computadora actúa como el maestro de escuela primaria en mi
ejemplo de la sección anterior. Cuando escribes una aplicación, estás
escribiendo un procedimiento que define una serie de pasos que la
computadora debe realizar para realizar cualquier tarea que tenga en
mente. Si omite un paso, los resultados no serán los esperados. La
computadora no sabrá lo que quiere decir o que usted pretendía que
realizara ciertas tareas automáticamente. Lo único que sabe la
computadora es que usted le ha proporcionado un procedimiento específico
y necesita realizar ese procedimiento.

2.4 Entender que las computadoras toman las cosas literalmente


La gente finalmente se acostumbra a los procedimientos que crea.
Compensan automáticamente las deficiencias en su procedimiento o toman
notas sobre las cosas que omitió. En otras palabras, las personas
compensan los problemas con los procedimientos que escribes.

Cuando comience a escribir programas de computadora, se sentirá


frustrado porque las computadoras realizan tareas con precisión y leen
sus instrucciones literalmente. Por ejemplo, si le dice a la computadora
que cierto valor debe ser igual a 5, la computadora buscará un valor de
exactamente 5. Un humano podría ver 4.9 y saber que el valor es lo
suficientemente bueno, pero una computadora no ve las cosas de este
modo. Ve un valor de 4,9 y decide que no es exactamente igual a 5. En
resumen, las computadoras son inflexibles, poco intuitivas y poco
imaginativas. Cuando escribes un procedimiento para una computadora, la
computadora hará exactamente lo que le pidas cada vez y nunca modificará
tu procedimiento ni decidirá que realmente querías que hiciera otra cosa.

3 Definir qué es una aplicación


Como se mencionó anteriormente, las aplicaciones proporcionan los medios para
definir expresar ideas humanas de una manera que una computadora pueda
entender. Para lograr este objetivo, la aplicación se basa en uno o más
procedimientos que le indican a la computadora cómo realizar las tareas
relacionadas con la manipulación de datos y su presentación. Lo que ve en la
pantalla es el texto de su procesador de textos, pero para ver esa información, la
computadora requiere procedimientos para recuperar los datos del disco,
ponerlos en una forma que pueda entender y luego presentárselos. Las siguientes
secciones definen los detalles de una aplicación con más detalle.

3.1 Entender que las computadoras usan un lenguaje especial


El lenguaje humano es complejo y difícil de entender. Incluso aplicaciones como
Siri tienen serios límites para entender lo que dices. A lo largo de los años, las
computadoras han adquirido la capacidad de ingresar el habla humana como
datos y comprender ciertas palabras habladas como comandos, pero las
computadoras aún no entienden el habla humana en un grado significativo. La
dificultad del habla humana se ejemplifica en la forma en que trabajan los
abogados. Cuando lees la jerga legal, parece una especie de galimatías. Sin
embargo, el objetivo es exponer ideas y conceptos de una manera que no esté
abierta a interpretación. Los abogados rara vez logran cumplir su objetivo
precisamente porque el habla humana es imprecisa.

Dado lo que sabe de las secciones anteriores de este capítulo, las computadoras
nunca podrían confiar en el habla humana para comprender los
procedimientos que escriben. Las computadoras siempre toman las cosas
literalmente, por lo que terminaría con resultados completamente impredecibles
si usara lenguaje humano para escribir aplicaciones. Es por eso que los humanos
usan lenguajes especiales, llamados lenguajes de programación, para
comunicarse con las computadoras. Estos lenguajes especiales hacen posible
escribir procedimientos que son específicos y completamente comprensibles tanto
para humanos como para computadoras.

Las computadoras en realidad no hablan ningún idioma. Usan códigos


binarios para accionar interruptores internamente y para realizar
cálculos matemáticos. Las computadoras ni siquiera entienden letras,
solo entienden números. Una aplicación especial convierte el lenguaje
específico de la computadora que usa para escribir un procedimiento en
códigos binarios. Para los propósitos de este libro, realmente no necesita
preocuparse demasiado por los detalles de bajo nivel de cómo funcionan las
computadoras en el nivel binario. Sin embargo, es interesante saber que las
computadoras usan para hablan matemáticas y números, que en realidad
no es un idioma en absoluto.

3.2 Ayudar a los humanos a hablar con los ordenadores


Es importante tener en cuenta el propósito de una aplicación mientras la
escribes. Existe una aplicación para ayudar a los humanos a hablarle a la
computadora de cierta manera. Cada aplicación funciona con algún tipo de datos
que se ingresan, almacenan, manipulan y emiten para que los humanos que
usan la aplicación obtengan el resultado deseado. Ya sea que la aplicación sea un
juego o una hoja de cálculo, la idea básica es la misma. Las computadoras
trabajan con datos proporcionados por humanos para obtener un resultado
deseado.

Cuando creas una aplicación, estás proporcionando un nuevo método para que
los humanos hablen con la computadora. El nuevo enfoque que crees hará
posible que otros humanos vean los datos de nuevas formas. La comunicación
entre el ser humano y la computadora debería ser lo suficientemente fácil como
para que la aplicación desaparezca de la vista. Piense en los tipos de
aplicaciones que ha utilizado en el pasado. Las mejores aplicaciones son las que
le permiten concentrarse en los datos con los que está interactuando. Por
ejemplo, una aplicación de juego se considera inmersiva solo si puede
concentrarse en el planeta que está tratando de salvar o en la nave que está
tratando de volar, en lugar de la aplicación que le permite hacer estas cosas.

Una de las mejores maneras de comenzar a pensar en cómo deseas


crear una aplicación es observar la forma en que otras personas
crean aplicaciones. Escribir lo que te gusta y lo que no te gusta de otras
aplicaciones es una forma útil de empezar a descubrir cómo quiere que
se vean y funcionen sus aplicaciones. Aquí hay algunas preguntas que
puede hacerse mientras trabaja con las aplicaciones:

✔ ¿Qué es lo que me distrae de la aplicación?


✔ ¿Qué características fueron fáciles de usar?
✔ ¿Qué características fueron difíciles de usar?
✔ ¿Cómo facilitó la aplicación la interacción con mis datos?
✔ ¿Cómo podría facilitar el trabajo con los datos?
✔ ¿Qué espero lograr con mi aplicación que esta aplicación
no proporciona?

Los desarrolladores profesionales hacen muchas otras preguntas como parte de


la creación de una aplicación, pero estas son buenas preguntas iniciales porque
comienzan a ayudarlo a pensar en las aplicaciones como un medio para ayudar a
los humanos a hablar con las computadoras. Si alguna vez se sintió frustrado por
una aplicación que usó, ya sabe cómo se sentirán otras personas si no hace las
preguntas adecuadas cuando crea su aplicación. La comunicación es el
elemento más importante de cualquier aplicación que cree.

También puede comenzar a pensar en las formas en que trabaja. Comience a


escribir procedimientos para las cosas que hace. Es una buena idea tomar el
proceso paso a paso y escribir todo lo que se te ocurra acerca de ese paso.
Cuando termine, pídale a otra persona que pruebe su procedimiento para ver
cómo funciona realmente. Es posible que se sorprenda al saber que incluso con
mucho esfuerzo, puede olvidarse fácilmente de incluir pasos.

La peor aplicación del mundo generalmente comienza con un


programador que no sabe qué se supone que debe hacer la aplicación,
por qué es especial, qué necesidad cubre o para quién es. Cuando
decida crear una aplicación, asegúrese de saber por qué la está
creando y qué espera lograr con ella. El simple hecho de tener un plan realmente
ayuda a que la programación sea divertida. Puede trabajar en su nueva
aplicación y ver sus metas logradas una a la vez hasta que tenga una aplicación
completa para usar y mostrar a sus amigos (todos los cuales pensarán que
es genial por crearla).

4 Comprender por qué Python es tan genial


Muchos lenguajes de programación están disponibles hoy en día. De hecho, un
estudiante puede pasar un semestre completo en la universidad estudiando
lenguajes informáticos y aún así no escuchar acerca de todos ellos. (Hice
exactamente eso durante mis días de universidad). Uno pensaría que los
programadores estarían contentos con todos estos lenguajes de programación y
simplemente elegirían uno para hablar con la computadora, pero todavía se
siguen inventando más.

Los programadores siguen creando nuevos lenguajes por una buena


razón. Cada idioma tiene algo especial que ofrecer, algo que hace
excepcionalmente bien. Además, a medida que evoluciona la tecnología
informática, también lo hacen los lenguajes de programación para
mantenerse al día. Debido a que la creación de una aplicación tiene que ver con
la comunicación eficiente, muchos programadores conocen varios lenguajes de
programación para que puedan elegir el lenguaje adecuado para una tarea en
particular. Un idioma podría funcionar mejor para obtener datos de una base de
datos y otro podría crear elementos de interfaz de usuario especialmente bien.

Al igual que con cualquier otro lenguaje de programación, Python hace algunas
cosas excepcionalmente bien y necesita saber cuáles son antes de comenzar a
usarlo. Es posible que te sorprendan las cosas realmente geniales que puedes
hacer con Python. Conocer las fortalezas y debilidades de un lenguaje de
programación lo ayuda a usarlo mejor y a evitar la frustración por no usar el
lenguaje para cosas que no hace bien. Las siguientes secciones lo ayudarán a
tomar este tipo de decisiones sobre Python.

4.1 Descubriendo las razones para usar Python


La mayoría de los lenguajes de programación se crean con objetivos específicos
en mente. Estos objetivos ayudan a definir las características del idioma y
determinan lo que puede hacer con el idioma. Realmente no hay forma de crear
un lenguaje de programación que haga todo porque las personas tienen objetivos
y necesidades que compiten al crear aplicaciones. Cuando se trata de Python, el
objetivo principal era crear un lenguaje de programación que haga que los
programadores sean eficientes y productivos. Con eso en mente, estas son las
razones por las que desea usar Python al crear una aplicación:

✔ Menos tiempo de desarrollo de aplicaciones: el código de Python suele


ser de 2 a 10 veces más corto que el código comparable escrito en lenguajes
como C/C++ y Java, lo que significa que pasa menos tiempo escribiendo su
aplicación y más tiempo usándola.
✔ Facilidad de lectura: un lenguaje de programación es como cualquier otro
lenguaje: debes poder leerlo para comprender lo que hace. El código de
Python tiende a ser más fácil de leer que el código escrito en otros
lenguajes, lo que significa que pasa menos tiempo interpretándolo y más
tiempo haciendo cambios esenciales.
✔ Tiempo de aprendizaje reducido: los creadores de Python querían crear
un lenguaje de programación con menos reglas extrañas que dificultaran el
aprendizaje del lenguaje. Después de todo, los programadores quieren crear
aplicaciones, no aprender lenguajes oscuros y difíciles.

Es importante darse cuenta de que, aunque Python es un lenguaje


popular, no es el lenguaje más popular que existe. De hecho,
actualmente ocupa el octavo lugar en sitios como TIOBE
(http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html), una organización que
rastrea estadísticas de uso (entre otras cosas). Si está buscando un
lenguaje con el único fin de obtener un trabajo, Python es una buena opción,
pero C/C++, Java, C# o Visual Basic serían mejores opciones. Asegúrese de elegir
un idioma que le guste y que se adapte a sus necesidades de desarrollo de
aplicaciones, pero también elija en función de lo que pretende lograr. Python fue
el lenguaje del año tanto en 2007 como en 2010 y se clasificó como el cuarto
lenguaje más popular en febrero de 2011. Entonces, en realidad, es una buena
opción si está buscando trabajo, pero no necesariamente la mejor opción. Sin
embargo, puede que te sorprenda saber que muchas universidades ahora usan
Python para enseñar programación y se ha convertido en el lenguaje más popular
en ese lugar. Echa un vistazo a mi entrada de blog en http://blog.
johnmuellerbooks.com/2014/07/14/python-as-a-learning-tool para detalles.

4.2 Decidir cómo puede beneficiarse personalmente de Python


En última instancia, puede usar cualquier lenguaje de programación para
escribir cualquier tipo de aplicación que desee. Si usa el lenguaje de
programación incorrecto para el trabajo, el proceso será lento, propenso a
errores, lleno de errores y lo odiará absolutamente, pero puede hacer el trabajo.
Por supuesto, la mayoría de nosotros preferimos evitar experiencias terriblemente
dolorosas, por lo que es importante saber qué tipo de aplicaciones las personas
suelen usar Python para crear. Aquí hay una lista de los usos más comunes de
Python (aunque la gente lo usa para otros fines):

✔ Creación de ejemplos aproximados de aplicaciones: los desarrolladores a


menudo necesitan crear un prototipo, un ejemplo aproximado de una aplicación,
antes de obtener los recursos para crear la aplicación real. Python enfatiza la
productividad, por lo que puede usarla para crear prototipos de una aplicación
rápidamente.
✔ Creación de secuencias de comandos de aplicaciones basadas en
navegador: aunque JavaScript es probablemente el lenguaje más popular
utilizado para la creación de secuencias de comandos de aplicaciones basadas en
navegador, Python ocupa el segundo lugar. Python ofrece una funcionalidad que
JavaScript no proporciona (consulte la comparación en https://blog.glyphobet.net/essay/2557
para obtener más detalles) y su alta eficiencia hace posible crear aplicaciones
basadas en navegador más rápido (una verdadera ventaja en la actualidad).
mundo acelerado).
✔ Diseño de aplicaciones matemáticas, científicas y de ingeniería:
Curiosamente, Python brinda acceso a algunas bibliotecas realmente geniales que
facilitan la creación de aplicaciones matemáticas, científicas y de ingeniería. Las
dos bibliotecas más populares son NumPy (http://www.numpy.org/) y SciPy
(http://www.scipy.org/). Estas bibliotecas reducen en gran medida el tiempo que dedica
a escribir código especializado para realizar tareas matemáticas, científicas y de
ingeniería comunes.
✔ Trabajar con XML: el lenguaje de marcado extensible (XML) es la base de
la mayoría de las necesidades de almacenamiento de datos en Internet y muchas
aplicaciones de escritorio en la actualidad. A diferencia de la mayoría de los
lenguajes, donde XML está más o menos integrado, Python lo convierte en un
ciudadano de primera clase. Si necesita trabajar con un servicio web, el método
principal para intercambiar información en Internet (o cualquier otra aplicación
que utilice mucho XML), Python es una excelente opción.
✔ Interactuar con bases de datos: las empresas dependen en gran medida
de las bases de datos. Python no es exactamente un lenguaje de consulta, como
el lenguaje de consulta de estructura (SQL) o el lenguaje de consulta integrado
(LINQ), pero hace un gran trabajo al interactuar con las bases de datos. Hace que
la creación de conexiones y la manipulación de datos sean relativamente
sencillas.
✔ Desarrollo de interfaces de usuario: Python no es como algunos lenguajes
como C#, que tiene un diseñador incorporado y puede arrastrar y soltar
elementos desde una caja de herramientas a la interfaz de usuario. Sin embargo,
tiene una amplia gama de marcos de interfaz gráfica de usuario (GUI),
extensiones que
hace que los gráficos sean mucho más fáciles de crear (consulta
https://wiki.python.org/moin/GuiProgramming para más detalles). Algunos de estos marcos
vienen con diseñadores que facilitan el proceso de creación de la interfaz de
usuario. El punto es que Python no se dedica a un solo método para crear una
interfaz de usuario: puede usar el método que mejor se adapte a sus necesidades.

4.3 Mira que organizaciones usan Python


Python realmente es bastante bueno en las tareas para las que fue diseñado. De
hecho, es por eso que muchas organizaciones grandes usan Python para realizar
al menos algunas tareas de creación (desarrollo) de aplicaciones. Desean un
lenguaje de programación que tenga un buen apoyo de estas grandes
organizaciones porque estas organizaciones tienden a gastar dinero para mejorar
el lenguaje. Aquí hay una lista de las grandes organizaciones que más usan
Python:

✔ Software Educativo Alice – Universidad Carnegie Mellon (http://


www.cmu.edu/corporate/news/2007/features/alice.shtml):
Aplicaciones educativas
✔ Fermilab (https://www.fnal.gov/): aplicaciones científicas
✔ Go.com (http://go.com/): aplicaciones basadas en navegador
✔ Google (https://www.google.com/): Motor de búsqueda
✔ Industrial Light & Magic (http://www.ilm.com/ ): casi todos los programadores
necesitan
✔ Biblioteca Nacional Lawrence Livermore (https://www.llnl.gov/): aplicaciones
científicas
✔ Administración Nacional del Espacio y la Aeronáutica (NASA)
(http://www.nasa.gov/): aplicaciones científicas
✔ Bolsa de valores de Nueva York (https://nyse.nyx.com/ ): aplicaciones basadas en
navegador
✔ ObjectDomainyahoo! (https://www.yahoo.com/): Partes de Yahoo! correo (http://case-
tools.org/tools/objectdomain.html): herramientas de ingeniería de software asistida por
computadora (CASE)
✔ Redhat (http://www.redhat.com/): herramientas de instalación de Linux
✔ YouTube (http://www.youtube.com/): Motor de gráficos
✔ Zope – Digital Creations (http://www.zope.com/): aplicación de publicación
Estas son solo algunas de las muchas organizaciones que usan Python
de forma extensiva. Puede encontrar una lista más completa de
organizaciones en http://www.python. org/about/success/. La cantidad de historias
de éxito se ha vuelto tan grande que incluso esta lista probablemente
no esté completa y las personas que la apoyan han tenido que crear
categorías para organizarla mejor.

4.4 Encontrar aplicaciones de Python muy útiles.


Es posible que tenga una aplicación escrita en Python sentada en su máquina en
este momento y ni siquiera lo sepa. Python se utiliza en una amplia gama de
aplicaciones en el mercado actual. Las aplicaciones van desde utilidades que se
ejecutan en la consola hasta suites CAD/CAM completas. Algunas aplicaciones
se ejecutan en dispositivos móviles, mientras que otras se ejecutan en los
grandes servicios empleados por las empresas. En resumen, no hay límite para lo
que puede hacer con Python, pero realmente ayuda ver lo que otros han hecho.
Puede encontrar varios lugares en línea que enumeran aplicaciones escritas en
Python, pero el mejor lugar para buscar es https://wiki.python.org/moin/Applications.

Como programador de Python, también querrá saber que las herramientas de


desarrollo de Python están disponibles para facilitarle la vida. Una herramienta
de desarrollo proporciona cierto nivel de automatización al escribir los
procedimientos necesarios para decirle a la computadora qué hacer. Tener más
herramientas de desarrollo significa que tiene que realizar menos trabajo para
obtener una aplicación que funcione. A los desarrolladores les encanta compartir
sus listas de herramientas favoritas, pero puede encontrar una gran lista de
herramientas divididas en categorías en http://www.python.org/about/apps/.

Por supuesto, este capítulo también describe una serie de herramientas,


como NumPy y SciPy (dos bibliotecas científicas). El resto del libro
enumera algunas otras herramientas; asegúrese de copiar sus
herramientas favoritas para más adelante.

4.5 Comparar Python con otros lenguajes


Comparar un Lenguaje con otro es algo peligroso porque la selección de un
lenguaje es tanto una cuestión de gusto y preferencia personal como cualquier
tipo de hecho científico cuantificable. Entonces, antes de que me ataquen los
protectores rabiosos de los lenguajes que siguen, es importante darse cuenta de
que también uso varios lenguajes y encuentro al menos cierto nivel de
superposición entre todos ellos. No existe el mejor lenguaje informático del
mundo, simplemente porque uno de ellos funciona mejor para una aplicación en
particular. Con esta idea en mente, las siguientes secciones proporcionan una
comparación general de Python con otros lenguajes. (Puede encontrar
comparaciones con otros lenguajes en https://wiki.python.org/moin/LanguageComparisons).

C#

Mucha gente afirma que Microsoft simplemente copió Java para crear C# (C
Sharp). Dicho esto, C# tiene algunas ventajas (y desventajas) en comparación con
Java. La intención principal (indiscutible) detrás de C# es crear un mejor tipo de
lenguaje C/C++, uno que sea más fácil de aprender y usar. Sin embargo, estamos
aquí para hablar de C# y Python. En comparación con C#, Python tiene estas
ventajas:

✔ Bastante más fácil de aprender


✔ Código más pequeño (más conciso)
✔ Totalmente compatible como código abierto
✔ Mejor soporte multiplataforma
✔ Permite fácilmente el uso de múltiples entornos de desarrollo
✔ Más fácil de extender usando Java y C/C++
✔ Apoyo científico y de ingeniería mejorado

Java

Durante años, los programadores buscaron un lenguaje que pudieran usar para
escribir una aplicación una sola vez y ejecutarla en cualquier lugar. Java está
diseñado para funcionar bien en cualquier plataforma. Se basa en algunos trucos
que descubrirá más adelante en el libro para lograr esta magia. Por ahora, todo lo
que realmente necesita saber es que Java funcionó tan bien en todas partes que
otros lenguajes han intentado emularlo (con diferentes niveles de éxito). Aun así,
Python tiene algunas ventajas importantes sobre Java, como se muestra en la
siguiente lista:

✔ Bastante más fácil de aprender


✔ Código más pequeño (más conciso)
✔ Variables mejoradas (cajas de almacenamiento en la memoria de la
computadora) que pueden contener diferentes tipos de datos según las
necesidades de la aplicación mientras se ejecuta (escritura dinámica)
✔ Tiempos de desarrollo más rápidos

Perl

PERL era originalmente un acrónimo de Practical Extraction and Report


Language. Hoy en día, la gente simplemente lo llama Perl y lo deja así. Sin
embargo, Perl todavía muestra sus raíces en que sobresale en la obtención de
datos de una base de datos y la presenta en formato de informe. Por supuesto,
Perl se ha ampliado para hacer mucho más que eso: puede usarlo para escribir
todo tipo de aplicaciones (Incluso lo he usado para una aplicación de servicio
web). En una comparación con Python, encontrará que Python tiene estas
ventajas sobre Perl:

✔ Fácil de aprender
✔ Más fácil de leer
✔ Protección mejorada para los datos
✔ Mejor integración que Java
✔ Menos sesgos específicos de la plataforma

También podría gustarte