Para un programador los buscadores son una mina de oro cuando se trata de buscar respuestas a los problemas que siempre ocurren cuando solucionas alguna tarea con código. El internet es un gran recurso para encontrar respuestas de programación porque a menudo los problemas que te vas a encontrar fueron resueltos por otro programador antes y la solución, o las pistas para resolverlo, están en algún foro o blog. Cuando encuentras un mensaje de error determinado en tu consola cuando corres un programa solo tienes que buscar el texto del mensaje y esto te llevará a las posibles respuestas.
Por ejemplo, si usamos nuestro primer programa hello_world.py y le quitamos las comillas del final a nuestro string (cadena de texto), de entrada nuestro editor de código nos avisa de que tenemos un error.
Si ignoramos este mensaje y corremos nuestro programa veremos que el resultado no es el que esperamos.
Esto nos da un SyntaxError, o error de sintaxis. Significa que no estás escribiendo tu código según las reglas que Python necesita, estás violando la «gramática» de tu lenguaje de proogramación. Veamos qué ocurre cuando busco el texto del error que recibí en la consola en Google. Escribo python SyntaxError: unterminated string y espero los resultados. Añadí «python» al inicio porque si no podría tener resultados de otros lenguajes de programación como JavaScript y podrían no ser adecuados a mi problema.
Como puedes ver, la página de resultados de Google nos incluye un resultado de Stack Overflow, que es un sitio legendario para encontrar respuestas a problemas de programación. Ahora ve el primer resultado, te da la solución sin que entres al sitio, dice: «Python raises “SyntaxError: unterminated string literal” when a string value doesn’t have a closing quotation mark.» Lo que traducido significa «Python genera un “SyntaxError: unterminated string literal” cuando un valor de cadena de texto no tiene una comilla de cierre», lo cual resuelve nuestro problema.
Tal vez hayas notado que al valor de texto o cadena de texto lo llamé string al inicio de esta lección, así en inglés sin traducir. El error de la consola también lo busqué como estaba sin traducir. Esto demuestra que el idioma inglés es omnipresente dentro del mundo de la programación, hay muchos más recursos en inglés que en español y, aunque este curso busca promover el contenido de programación en español, la realidad indica que mientras más sepas de inglés más fácil te será encontrar recursos (soluciones a problemas, libros, cursos) que si solo hablas español.
Vamos a acceder a la entrada de blog que resuelve nuestro problema solo para ver qué dice (y de paso darle una visita a ese buen samaritano que publica soluciones a problemas de programación en internet).
Leer la entrada de blog nos da información adicional sobre nuestro problema y aumenta nuestro conocimiento así que siempre es buena idea. Tomemos nota de lo que dice: «This syntax error usually occurs owing to a missing quotation mark or an invalid multi-line string.».
Si buscar las respuestas en Google te parece extraño debes saber que nadie sabe todo sobre programación, y buscar mensajes de error en internet es el pan de cada día de los programadores.
Tipos de errores
Conforme vayas avanzando en el mundo de la programación encontrarás estos tipos de errores:
Errores de sintaxis (syntax errors)
Los errores de sintaxis en Python son errores que ocurren cuando el intérprete de Python no puede entender o procesar correctamente el código fuente debido a violaciones en la estructura sintáctica del lenguaje. Estos errores son análogos a errores gramaticales o de ortografía en un lenguaje natural.
Como el error que vimos arriba en el que faltaba un caracter («) a nuestro código.
Errores lógicos (logic errors)
Los errores lógicos en Python son problemas en la implementación lógica de un programa que no generan errores durante la fase de análisis sintáctico, pero conducen a resultados incorrectos o inesperados en la ejecución del código. A diferencia de los errores de sintaxis, los errores lógicos no detienen la ejecución del programa, pero afectan la lógica interna y pueden ser más difíciles de detectar y corregir.
Un buen ejemplo de error lógico podría ser: «toma un trago de tu botella de agua, ponlo en tu mochila, camina hasta la biblioteca y luego vuelve a tapar la botella».
Errores de semántica (semantic errors)
Los errores semánticos en Python se refieren a problemas en el significado o lógica del código que no generan mensajes de error, pero conducen a resultados inesperados o incorrectos en la ejecución del programa. Estos errores son difíciles de identificar porque no están vinculados a la estructura del código, sino a su lógica y funcionamiento.
El programa es correcto pero no hace lo que deseabas que hiciera.
Esto puede deberse a un malentendido en la lógica del programa, acciones no permitidas por algún motivo, o implementaciones que no cumplen con los requisitos lógicos del problema.
Consejos para hacer buenas preguntas de programación
Realizar preguntas efectivas es esencial para obtener respuestas útiles y resolver problemas de programación de manera eficiente. Aquí tienes algunos consejos para hacer buenas preguntas:
- Sé claro y conciso: Describe tu problema de manera clara y concisa. Proporciona detalles relevantes, como el lenguaje de programación, el entorno y cualquier mensaje de error.
- Proporciona contexto: Incluye información sobre el contexto del problema. Explica lo que estás tratando de hacer, no solo lo que hiciste. Esto le permite a tu ayudante saber si está en el camino equivocado.
- Muestra tu código: Si es posible, comparte el código relevante que está causando el problema. Formatea adecuadamente el código para facilitar su lectura.
- Indica el error específico: Si hay mensajes de error, inclúyelos en tu pregunta. Esto ayuda a quienes intentan ayudarte a comprender el problema más rápidamente.
- Comunica qué versión de Python estás usando, y en qué sistema operativo
- Investiga previamente: Antes de preguntar, realiza una investigación preliminar. Puede ser que encuentres la solución por ti mismo y aprendas en el proceso.
- Utiliza plataformas especializadas: Considera utilizar plataformas como Stack Overflow, donde la comunidad está orientada a ayudar con preguntas específicas de programación.
Recuerda expresar gratitud y seguir las normas de la comunidad al realizar preguntas en línea. Dos buenos lugares para preguntar sobre programación podrían ser Stack Overflow o Reddit.
Con esto terminamos la Introducción al lenguaje de programación Python y a la programación en general, en el próximo módulo nos adentraremos en las variables y los tipos de datos en Python.