Revista Tecnología

El lenguaje Smalltalk podría ser el Nikola Tesla de la industria de TI

Publicado el 09 septiembre 2017 por Barzana @UMUbarzana

El lenguaje Smalltalk podría ser el Nikola Tesla de la industria de TINikola Tesla fue un inventor brillante y visionario que murió olvidado en gran medida.

Sus contribuciones al mundo fueron enormes, pero la gente todavía recuerda a Edison y Franklin y da Vinci y Bell. Durante décadas, los intentos de honrar a Tesla con un museo de Nueva York (EE.UU.) en Wardenclyffe fracasaron repetidamente. Solo recientemente han dado sus frutos

Aquí están algunas de las contribuciones de Tesla:

– inventó el primer motor de corriente alterna (AC)
– desarrolló la generación de CA y tecnología de transmisión
– creó la bobina Tesla, un transformador de alto voltaje que llegó a ser la génesis del tubo de rayos catódicos, radiotransmisor, radar y muchas otras tecnologías
– inventó la tecnología de rayos X
– inventó los dínamos y el motor de inducción
– inventó la primera radio operativa
– inventó la bombilla de luz fluorescente
– inventó el mando a distancia
– inventó la transmisión inalámbrica de electricidad
– diseñó la primera central hidroeléctrica de las Cataratas del Niágara

En 1887 y 1888, se le concedieron más de 30 patentes por sus invenciones.

Cuando Tesla faclleció en 1943, murió sin dinero y olvidado.

Smalltalk fue la creación de Alan Kay, un verdadero visionario que lideró un equipo brillante en Xerox PARC

Hoy en día, Smalltalk está muy subestimado. Aunque Kay nunca pensó que Smalltalk fuera el foco central de su visión, sigue siendo una poderosa fuerza para el avance de la tecnología de programación. Más de cuatro décadas después, ningún lenguaje de programación ha alcanzado a Smalltalk en términos de simplicidad y elegancia, mínima fricción cognitiva, pureza orientada a objetos, elegante codificación y depuración en vivo, enorme productividad de programador y respeto profesional.

En Slant and StackOverflow, Smalltalk es reverenciado: lee La Sabiduría de la muchedumbre.

Capers Jones de Namcook Analytics ha demostrado la tremenda ventaja de Smalltalk cuando se trata de la productividad de los programadores.

El IDE de codificación en vivo de Smalltalk y el runtime son increíblemente potentes sin la complejidad arcana que se encuentra en los IDEs modernos como Visual Studio, Eclipse y Xcode.

Smalltalk continúa evolucionando y mejorando de manera notable a través del proyecto Pharo. He aquí algunas grandes innovaciones:

– NativeBoost – tener un ensamblador en línea definitivamente no es una característica común en un lenguaje dinámico. NativeBoost ha evolucionado desde entonces a la Interfaz Unificada de Función Extranjera (o UFFI).
– Moose es un conjunto de herramientas de visualización de códigos que contiene muchos medios para visualizar y analizar el código.
– Amber, que utiliza Pharo como lenguaje de referencia, es una fantástica herramienta de programación web de primera línea.
– PharoJS es otra herramienta de programación web excelente.
– Continuations: son una característica maravillosa en el marco web de Seaside.
– Fuel: una forma de serializar objetos vivos y de transportar sus objetos.
– Oz – permite que una imagen manipule otra. Muy bueno para depurar una imagen que se ha bloqueado y no puede abrir/cargar.
– Pharo Launcher te permite gestionar tus imágenes Pharo (lanzar, renombrar, copiar y eliminar) y descargar plantillas de imágenes (es decir, archivos zip) de muchas fuentes diferentes para crear nuevas imágenes a partir de cualquier plantilla.
– SmalltalkHub es el Github de Pharo, pero a diferencia de Github es totalmente open source y todo Smalltalk.
– Phratch es un puerto de Scratch a Pharo – esto es importante porque Scratch ha sido transferido a HTML5 y esto es un esfuerzo para mantener basado en Scratch Smalltalk. Phratch es una plataforma excelente para enseñar a los niños a codificar.
– Shampoo – buen soporte para Pharo en Emacs; puedes reemplazar la GUI Pharo con Emacs y disfrutar de los beneficios de este poderoso editor.

Legado

Como Tesla, Smalltalk tiene un legado maravilloso. Su bella implementación de programación orientada a objetos ha influido directamente en el diseño de casi todos los lenguajes orientados a objetos que usamos hoy en día: Java, Python, C#, PHP, Ruby, Perl, Objective-C, Groovy, Scala, Dart, Erlang, CLOS.

Smalltalk introdujo al mundo a la máquina virtual de lenguajes. (No, no fue el primero, pero fue el más conocido.) Esta es la misma tecnología que soporta Java y. NET.

Smalltalk fue pionera en la recopilación JIT (just-in-time).

De Smalltalk surgió el primer IDE moderno (entorno de desarrollo integrado), que incluía un editor de texto, un navegador de sistemas o clases, un inspector de objetos o propiedades y un depurador.

Smalltalk fue la primera herramienta de lenguaje que soportó programación en vivo y técnicas avanzadas de depuración tales como inspección sobre la marcha y cambios de código durante la ejecución en una forma fácilmente utilizable.

Desde que Smalltalk-80 (en 1980), tenía funciones y clausuras de primera clase que, curiosamente, hacen que Smalltalk sea bastante bueno para la programación funcional. Bastante notable para un lenguaje “puro” orientado a objetos. (¿Cuánto tiempo tardó Java, Python, C# y C++ en obtener esta función?

Smalltalk introdujo el patrón arquitectónico de software MVC (Model-View-Controller).

En gran medida, Smalltalk es responsable de proporcionarnos un desarrollo basado en pruebas (o TDD) y una programación extrema (o XP), que son ambos muy influyentes en las prácticas ágiles estándar de hoy en día.

Smalltalk hizo de “teclear el pato” una palabra familiar. La escritura de tipo de pato es donde la “comprobación de tipo” se aplaza hasta el tiempo de ejecución – cuando se utilizan las capacidades de reflexión para asegurar un comportamiento correcto. Hoy en día, encontramos el mecanografiado de patos en muchos idiomas, incluyendo Java, Python, Go, Groovy, Objective-C y PHP.

Smalltalk ha sido pionera en el desarrollo de bases de datos de objetos de las que GemStone/S es un gran ejemplo.

Smalltalk nos dio el primer navegador de refactoring.

Smalltalk fue fundamental en el desarrollo de la interfaz gráfica de usuario (o GUI) y la interfaz de usuario “lo que ves es lo que obtienes” (WYSIWYG).

La gente no se da cuenta de esto, pero Smalltalk es tan extensible como Lisp! Lee Lisp, Smalltalk, y el Poder de la Simetría. ¿Quién necesita las macros Lisp?

El éxito de Apple debe mucho a Smalltalk. Es verdad!

El objetivo C ha sido la base de macOS e iOS, y el objetivo C es esencialmente un cruce entre C y Smalltalk.
MacOS evolucionó a partir de NeXTStep, que se construyó con el Objetivo-C.

Steve Jobs se inspiró en la GUI y WIMP de Xerox PARC para realinear completamente la estrategia de Apple; la GUI fue una salida directa del trabajo de Smalltalk.

¡Uf! ¡Nikola Tesla habría estado orgullosa!

Ampliar en: Hackernoon

Rafael Barzanallana. Universidad de Murcia


Volver a la Portada de Logo Paperblog