Sí por 2 razones muy grandes
- te hará un programador OO mucho mejor
- Es un lenguaje muy útil para aprender.
Vamos a tomar (1). Smalltalk es el lenguaje orientado a objetos de primera clase. La programación orientada a objetos apareció por primera vez en el lenguaje de programación Simula y luego se ramificó en dos estilos a) El estilo OO basado en prototipos inventado por el lenguaje de programación Self b) El estilo OO basado en clases inventado por Smalltalk
Pero Smalltalk no solo es el primero, también es el mejor, principalmente porque fue diseñado desde el primer día con OO en mente con mucho cuidado. Smalltalk ha tomado muchas de las cosas de Lisp, una de ellas fue la sintaxis mínima. En Smalltalk, todo es un objeto con una excepción de alrededor de 6 palabras clave, dependiendo de la implementación que esté utilizando, puede demostrar la sintaxis completa del lenguaje, incluidas algunas bibliotecas básicas (condiciones, bucles, etc.) en menos de 10 líneas de código.
Si las condiciones, para los bucles y mucho más, están acostumbrados a formar parte de la sintaxis de un lenguaje, no son más que objetos en Smalltalk.
Por lo tanto, OO es diferente a otros idiomas, no es otra herramienta o característica, sino el núcleo del lenguaje.
Esto permite una gran flexibilidad en la expresión de abstracciones dentro del código, algo en lo que Smalltalk es mejor.
Sin embargo, a diferencia de otros idiomas, el objetivo no es OO, es el medio para llegar al fin, por lo que Smalltalk viene con un montón de técnicas OO que será difícil encontrar en otros lenguajes de programación.
Creo que el mejor libro para escribir sobre OOP es este
Besttalk Best Practice Patterns: Kent Beck: 9780134769042: Amazon.com: Libros
Hay muchas ideas asombrosas que se pueden aplicar fácilmente a otros idiomas. Esto también es la ventaja de Smalltalk, porque la sintaxis es tan mínima que es muy fácil llevar estas ideas a otros idiomas.
Mover (2) puede ser una sorpresa para algunas personas, extrañamente hay una especie de rumor flotando alrededor de que Smalltalk es una antigua reliquia del pasado. Que de alguna manera era popular en el pasado y ahora no lo es. Lo cierto es que incluso para los estándares actuales Smalltalk está adelantado a su tiempo, muchas de las grandes ideas de Smalltalk son todavía un trabajo en progreso en otros idiomas.
Toma la codificación en vivo, una ventaja muy importante de usar Smalltalk. La codificación en vivo es la capacidad de modificar el código mientras se ejecuta, básicamente, le permite crear una aplicación mientras la aplicación se está ejecutando. Smalltalk puede hacer esto porque compila métodos y objetos sobre la marcha y reemplaza los antiguos con su nueva versión modificada. Esto sucede bajo el capó sin que el usuario lo sepa o se le exija seguir algún paso específico.
Esta idea no proviene de Smalltalk, sino de Lips, como muchas otras ideas de Smalltalk. Sin embargo, lo que Smalltalk hizo de manera diferente a Lisp es basar todo el lenguaje en él. La codificación en vivo no es solo otra característica, es Smalltalk.
Otro hecho importante es que Smalltalk todavía está activamente desarrollado. Smalltalk nunca fue popular porque a diferencia de otros lenguajes de programación, la popularidad nunca fue un objetivo, ni siquiera uno secundario. El propósito de Smalltalk es ser un entorno de codificación en vivo que forme una base para inventar nuevos idiomas y nuevas bibliotecas. Esencialmente es un ecosistema de software fértil a diferencia de todo lo que existe.
Además, debido a que Smalltalk está tan bien diseñado, no necesita, como otros idiomas, un ejército de programadores para avanzar rápidamente. Pharo, por ejemplo, es una implementación moderna de Smalltalk que lanza una nueva versión cada año con cientos de correcciones de errores y un montón de nuevas características.
Como tal, Smalltalk es una excelente opción para ser una herramienta de “centro neurálgico”, ya que Smalltalk es un lenguaje, un IDE y todo un sistema operativo virtual que puede manejar proyectos muy complejos fácilmente. Smalltalk ha sido una opción particularmente popular en proyectos bancarios y en proyectos súper grandes que tratan con una gran cantidad de datos críticos.
Además, Smalltalk tiene casi 50 años de madurez, ha demostrado su valor y aún se mantiene fuerte.
Utilizo Pharo como mi lenguaje de script principal, he desarrollado herramientas para usar bibliotecas de otros lenguajes de programación, Python y C ++.
La combinación de bibliotecas potentes con un entorno de desarrollo de software tan innovador y bien diseñado es una solución realmente excelente para muchos problemas.
Pharo también puede usar las bibliotecas de Java y Javascript.
Smalltalk para mí es la mejor arma de pirateo, ya que no ofrece solo un lenguaje bien diseñado como Lisp, sino todo un entorno extremadamente preciso que puede lidiar con códigos complejos y minimizar posibles errores. También facilita el desarrollo de sus propias herramientas de desarrollo de software, ya que le brinda acceso directo a la fuente y utiliza el idioma incluso en los lugares donde espera encontrar el código C.
Smalltalk es un universo de posibilidades que todos los desarrolladores deberían probar, incluso si él o ella decidiera utilizar otros idiomas.