admin

Categorías

Coobis

Archivo diario: 2017/09/09

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

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

¿Google está a punto de construir el primer qubit del mundo?

¿Google está a punto de construir el primer qubit del mundo?

El qubit es la unidad básica de computación cuántica. Así que a los desarrolladores de hardware cuántico obviamente les gusta presumir de cuántos tienen. Aunque algunos afirman tener miles en sus dispositivos, hay un sentimiento muy real de que nadie ha construido ni siquiera uno solo.

Hay un par de cosas diferentes para las que usamos el nombre del qubit. Uno es un qubit físico. La parte física se refiere al hecho de que estos son objetos reales de la vida real. La parte de bits nos dice que estos objetos deberían tener dos posibles estados. Y lo que es para el cuántico, ya que necesitamos manipular los estados de una manera cuántica mecánica.

Cualquier qubit que merezca el nombre también debe tener un ruido extremadamente bajo. La forma en que los manipulamos e interactuamos debería ser casi perfecta. Como un logro de la física experimental, deben estar en la cúspide: Una maravilla de la ciencia y la ingeniería. Aun así, no son suficientemente buenos. Para las ordenadores cuánticos, casi perfecto es casi inútil.

Esto no es más de lo que esperamos de los ordenadores normales. Hay millones de píxeles en tu pantalla, pero te darías cuenta si sólo uno estuviera haciendo algo al azar. Lo mismo es cierto para todos los millones de bits que nadan alrededor en sus programas. Sólo se necesita un valor de conmutación de unos pocos porque están aburridos para que todo se convierta en un sinsentido.

Cuando programamos, a menudo olvidamos que los bits de nuestro ordenador tienen una forma corpórea real. Pensamos en ellos como un concepto abstracto, puro e incorruptible. De lo contrario, el desarrollo de software sería una actividad muy diferente. Los programas cuánticos están diseñados con el mismo grado de perfección en mente. Para ejecutarlos, necesitamos renuncias lógicas: encarnaciones de la idea misma de la información cuántica.

Construir qubits lógicos requiere que domemos la naturaleza de sus primos físicos. Necesitamos corrección de errores cuánticos. Muchas de las partes físicas son reunidas y conducidas a ser más grandes que la suma de sus partes. Cuanto más qubits físicos usemos, mejor será el efecto. El ruido disminuye exponencialmente, hasta que podemos estar seguros de que no ocurrirá ni un solo error durante el cálculo.

Esto no está exento de costes. No debemos pensar en gastar unos pocos cientos de qubits físicos para construir uno solo lógico. Pero si esto significa alcanzar la promesa completa de computación cuántica, valdrá la pena.

El diseño más popular para la corrección de errores cuánticos es el código de superficie. Para el código de superficie más pequeño, se necesitan 17 qubits físicos. Éstos construirían un qubit lógico, pero no con la suficiente complejidad como para hacer algo con él.

Todavía no se ha logrado nada parecido. Para ver por qué, echemos un vistazo a lo que se necesitaría.

Esto es un código de superficie. Los 17 puntos, tanto blancos como negros, son los qubits físicos. Las 24 líneas coloreadas representan un cierto tipo de operación cuántica, la controlada-NO. Para cada par de salidas conectadas, esta operación debería ser posible realizarla de forma limpia y directa.

El principal desafío es conectar todos estos controles-NO. Tener 17 qubits en nuestro procesador cuántico no es suficiente. También necesitamos el conjunto de instrucciones para soportar esta red específica de procesos.

Tener un montón de qubits físicos en una línea son noticias viejas, dos líneas al lado de la otra también es factible. Pero la red 2D de conexiones necesarias para el código de superficie es mucho más difícil.
Aun así, Google promete esto y mucho más para finales de año. Prometieron una red de 7×7 de 49 qubits físicos. Esto sería un gran paso adelante en comparación con otros dispositivos, como la celosía IBM 2×8 de 16 qubits físicos.

El dispositivo IBM tiene suficiente conectividad para hacer un bit lógico a partir de qubits físicos. En los próximos meses harán cosas mucho más geniales, como es de esperar del dispositivo a la vanguardia de su campo. Pero hacer un qubit lógico no será uno de sus logros.

El hecho de que los 49 qubits de Google serán tan revolucionarios hace difícil creer que lo veremos antes de que acabe el año. Los hitos más realistas para este año son un dispositivo de 17 qubit de IBM, y uno de 20 qubit de Google. Ambos tienen suficientes qubits para empezar con el código de superficie. Pero, ¿tienen el diseño correcto? Sólo el tiempo lo dirá.

Quizá no tengamos que esperar mucho tiempo. John Martinis, el encargado de construir los dispositivos cuánticos de Google, dará una charla la próxima semana. El título…
Escalado de errores lógicos de medición con el código de superficie
Los códigos de superficie están en el radar de los gigantes tecnológicos. El primer qubit lógico del mundo se acerca. ¿Ya lo ha gestionado el dispositivo de 20 qubit de Google?

Ampliar en: HACKERMOON

Related Posts with Thumbnails

Calendario

septiembre 2017
L M X J V S D
« Ago   Oct »
 123
45678910
11121314151617
18192021222324
252627282930  

Spam

Otros enlaces

  • Enlaces

    Este blog no tiene ninguna relación con ellos, ni los recomienda.


  • Paperblog

    autobus las palmas aeropuerto cetona de frambuesa