~/VibeHandbook
PDF gratis

Lenguajes

python.org

Python

Qué es

Imagina que alguien te entrega una caja sin decirte qué hay adentro; solo lo descubres cuando la abres. Python funciona así con los datos: averigua qué tipo de valor tiene una variable mientras el programa se ejecuta, en lugar de obligarte a declararlo de antemano. Eso es lo que significa "tipado dinámico". Python es un lenguaje de alto nivel, de tipado dinámico, valorado por su legibilidad y su enorme ecosistema. Funciona en todas partes, se lee casi como pseudocódigo, y es la lengua franca por defecto de la ciencia de datos, el aprendizaje automático, los scripts y los servicios de .

Fortalezas

  • Curva de aprendizaje suave y una sintaxis famosa por su legibilidad.
  • Ecosistema de librerías enorme (PyPI, la librería de paquetes de Python) — numpy, pandas, requests, FastAPI y casi todos los frameworks de IA/ML.
  • Excelente para código pegamento, automatización, prototipado y trabajo con datos.
  • Fuerte cultura de REPL (un interactivo) y notebooks para exploración interactiva.

Contrapartidas

  • Lento en trabajo intensivo de CPU; el GIL (un bloqueo que permite que solo un hilo se ejecute a la vez) limita el multihilo real.
  • Imagina un error de tipeo en un formulario que nadie revisa hasta que el formulario realmente se envía. Python es parecido: normalmente detecta un error de tipo (por ejemplo, tratar un número como si fuera texto) solo cuando esa línea de código realmente se ejecuta, no antes. Detecta estos errores en tiempo de ejecución, a menos que agregues anotaciones de tipo (type hints) más un verificador como mypy o pyright.
  • La gestión de dependencias y entornos (pip, venv, poetry, uv) es una fuente recurrente de fricción.
  • Empaquetar y distribuir un binario independiente es incómodo.

Cuándo recurrir a él

Recurre a Python cuando quieras moverte rápido: pipelines de datos, entrenamiento e inferencia de modelos de ML, scripts de automatización, herramientas internas y APIs (Application Programming Interfaces, interfaces de programación de aplicaciones) web donde la velocidad de desarrollo pesa más que la velocidad de ejecución pura. Es la opción segura por defecto para cualquier cosa relacionada con IA o datos.

Encaje con la programación asistida por IA (vibe coding)

Los asistentes de IA son excepcionalmente fuertes en Python: es el lenguaje más representado en sus datos de entrenamiento, así que el código generado suele ser idiomático y ejecutable. Para dirigir bien a la IA, nombra las librerías y versiones exactas que quieres (por ejemplo, "usa FastAPI y Pydantic v2"), pide anotaciones de tipo (type hints) para que tanto tú como el modelo se mantengan alineados, y solicita desde el principio un requirements.txt o pyproject.toml para evitar desajustes de versiones. Dile al asistente que agregue una pequeña prueba o un bloque ejecutable if __name__ == "__main__" para que puedas verificar cada paso antes de seguir avanzando.

from collections import Counter

def top_words(text: str, n: int = 3) -> list[tuple[str, int]]:
    words = (w.lower() for w in text.split())
    return Counter(words).most_common(n)

print(top_words("the cat the dog the bird"))  # [('the', 3), ('cat', 1), ('dog', 1)]