En fechas recientes mi estúpida mente me ha llevado a querer conocer más acerca de lenguajes de programación orientada a objetos (OOP Object Oriented Programming, por sus siglas en inglés). En el haber del término existen muchísimos lenguajes que cumplen con el estándar y van desde C++ pasando por LISP, JAVA y Object Pascal, hasta llegar a Python y Ruby que son los que más me interesaron.
Comenzando por el principio, esta es la filosofía de Python:
- Bello es mejor que feo.
- Explícito es mejor que implícito.
- Simple es mejor que complejo.
- Complejo es mejor que complicado.
- Plano es mejor que anidado.
- Ralo es mejor que denso.
- La legibilidad cuenta.
- Los casos especiales no son tan especiales como para quebrantar las reglas.
- Aunque lo práctico gana a la pureza.
- Los errores nunca deberían dejarse pasar silenciosamente.
- A menos que hayan sido silenciados explícitamente.
- Frente a la ambigüedad, rechaza la tentación de adivinar.
- Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.
- Aunque esa manera puede no ser obvia al principio a menos que usted sea Holandés.[Por la cantidad de desarrolladores holandéses que hay]
- Ahora es mejor que nunca.
- Aunque nunca es a menudo mejor que ya.
- Si la implementación es dificil de explicar, es una mala idea.
- Si la implementacion es fácil de explicar, puede que sea una buena idea.
- Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!
La filosofía viene abstracta en una plática que se tuvo con Matsumoto Yukihiro, viene en inglés y aparte de que es un chingo de texto para hacer copy/paste, la simple idea de traducir al español me da una intensa hueva, tal que me congela los dedos… (Aquí la liga http://www.artima.com/intv/ruby2.html).
El caso es que Matsumoto Yukuhiro afirma que su lenguaje es perfecto para el, y le vale madre sí es perfecto para el mundo entero, de hecho por eso lo creó, acepta también que los distintos lenguajes de programación tienen “lo suyo” e incluso hace alusión a Python, diciendo que para von Rossen Guido Python es el lenguaje perfecto.
Ambos dos, cuentan con una sintáxis muy parecida, hacen “tecnicamente” lo mismo, ambos son orientados a objetos… ¿qué argumentos validos defenderían a cada uno de ellos.
Lo ignoro por completo, no sabría que decir o que hacer respecto de lo que intento explicar.
La pregunta es: ¿Qué lenguaje debería comenzar a aprender y por qué?.






