Nikola 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
Con este lenguaje de programación en español puede que te resulte más fácil aprender a programar, pero ¿no será perjudicial?
El inglés es el idioma dominante en la informática, no importa dónde vivas. Es el idioma estándar de facto, y prácticamente nadie se ha planteado usar otro idioma.
No es de extrañar, teniendo en cuenta que muchas de las innovaciones que usamos hoy en día fueron inventadas en su momento en países de habla inglesa, o con una fuerte influencia de ese idioma. Incluso en países con otras lenguas predominantes, el inglés suele ser la primera opción, o como mucho la segunda.
“Latino“, es un lenguaje de programación completamente en español, que básicamente cambia el nombre de las funciones, variables y otros elementos por palabras en español.
Por ejemplo, la función de imprimir en pantalla sería así:
imprimir("Hola Mundo")
Por lo tanto, Latino puede ser un buen lenguaje para aprender a programar, sobre todo si no sabemos inglés y queremos algo más familiar; al escribir en nuestro idioma materno, comprenderemos mejor qué es lo que hace cada función y comprenderemos mejor la estructura del programa.
Ayuda también que Latino sea un lenguaje bastante simple, similar en algunos aspectos a PHP en el sentido de que es más un lenguaje de scripts que un intérprete ejecutará, y no un lenguaje que tengamos que compilar como C.
Además, Latino es un lenguaje de alto nivel, lo que significa que no tendremos que gestionar aspectos más complicados como la memoria; sólo tenemos que escribir lo que queremos que el programa haga.
Ampliar en: Latino
El índice Tiobe es un indicador que determina la popularidad de un lenguaje de programación para un período determinado de tiempo basándose en los datos obtenidos de los motores de búsqueda, cursos o sitios importantes como Google, Wikipedia o YouTube. Sin embargo éste indicador no busca determinar cuál es el mejor lenguaje, sino solo cuál es el mas popular.
Seguidamente se muestran los 20 lenguajes de programación mas populares en Octubre de 2014 en comparativa con los de Octubre de 2013. C, Java y C++ se encuentran entre los favoritos de los programadores y han conservado su posición durante todo el año. Por otro lado, lenguajes como Dart que se encontraban en el lugar número 81 el año pasado, han sabido ganarse un lugar entre los primeros veinte de este ranking de popularidad.
Oct 2014 | Oct 2013 | Programming Language | Ratings | Change |
1 | 1 | C | 17.655% | +0.41% |
2 | 2 | Java | 13.506% | -2.60% |
3 | 3 | Objective-C | 10.096% | +1.10% |
4 | 4 | C++ | 4.868% | -3.80% |
5 | 6 | C# | 4.748% | -0.97% |
6 | 7 | Basic | 3.507% | -1.31% |
7 | 5 | PHP | 2.942% | -3.15% |
8 | 8 | Python | 2.333% | -0.77% |
9 | 12 | Perl | 2.116% | +0.51% |
10 | 9 | Transact-SQL | 2.102% | -0.52% |
11 | 17 | Delphi/Object Pascal | 1.812% | +1.11% |
12 | 10 | JavaScript | 1.771% | -0.27% |
13 | 11 | Visual Basic .NET | 1.751% | -0.18% |
14 | – | Visual Basic | 1.564% | +1.56% |
15 | 21 | R | 1.523% | +0.97% |
16 | 13 | Ruby | 1.128% | -0.12% |
17 | 81 | Dart | 1.119% | +1.03% |
18 | 24 | F# | 0.868% | +0.37% |
19 | – | Swift | 0.761% | +0.76% |
20 | 14 | Pascal | 0.726% | -0.03% |
Fuente: Tiobe index.
Ampliar en: Bitelia
Licencia CC
El estudio lo ha llevado a cabo la organización ACM y muestra que en 27 de las 39 primeras universidades estadounidenses (el 69%) se enseña Python en alguno de sus dos primeros cursos. Entre ellas están el MIT, Austin-Texas, California-Berkeley, Columbia o Virginia Tech. Eso sí, entre las 12 que no también hay importantes como Stanford o Harvard. Esto hace que Python sea el lenguaje más utilizado en estas prestigiosas instituciones por encima de Java, Matlab (el principal lenguaje científico), el binomio C/C++ o, mira tú por donde, Scratch. Curiosamente lenguajes tan populares como Javascript o PHP no son muy usados en estos menesteres introductorios, aunque no deja de tener su lógica dado lo caóticos que pueden llegar a resultar.
Fuente: GENBETA: dev
Licencia CC
Si trabajas cerca de un programador sin duda te habrás preguntado, como yo, qué es exactamente lo que sucede dentro de su cabeza. Se trata de criaturas muy particulares – que no se me enfaden – capaces de concentrarse en la tarea de crear código como si acamparan en el corazón de Matrix. Pues bien, lo que ves sobre estas líneas es la imagen de resonancia magnética del cerebro de un programador – el primer estudio de este tipo que se realiza – y las áreas iluminadas son las zonas que se activan mientras lee código.
¿Qué sentido tiene hacer un estudio de este tipo? Como bien cuentan en Fast Company, resulta que en EEUU hay una pequeña pero interesante polémica acerca de qué formación deben recibir los futuros programadores. Mientras que en la mayoría de los Estados las ciencias informáticas se incluyen en la parte de ciencias y matemáticas, en Texas – y parece que pronto en Kentucky y Nuevo México – han hecho que la programación de código sea equivalente a una lengua extranjera. Y aquí viene la cuestión que nos interesa: ¿es la programación de código una habilidad más relacionada con las matemáticas o con el lenguaje?
Para averiguarlo, un equipo de investigadores internacional, dirigido por Janet Siegmund, de la Universidad de Passau, ha elaborado un primer estudio en el que sometieron a 17 estudiantes de informática (todos con conocimientos de programación y solo dos de ellos chicas) a una prueba con resonancia magnética funcional. En el experimento, tumbaron a los sujetos en el escáner y monitorizaron su actividad cerebral mientras leían unas líneas de código. Estas líneas de código indicaban una tarea de impresión del ordenador y los participantes debían predecir, en un tiempo determinado, qué texto imprimiría la máquina.
El resultado, por sorprendente que parezca a muchos, fue que las áreas cerebrales que se activaron tienen en principio más relación con el lenguaje que con el mero cálculo matemático. «No hay una prueba clara de que aprender lenguaje de programación sea como aprender una lengua extranjera», asegura Christian Kästner, coautor del estudio, «pero nuestros resultados muestran que hay similitudes claras en la activación cerebral que indican que la hipótesis es plausible».
Autor: Antonio Martínez Ron
Ampliar en: NEUROLAB
En 1964, John Kemeny y Tom Kurtz junto a un puñado de estudiantes de la Universidad de Dartmouth revolucionaron las ciencias de la computación al introducir el lenguaje de programación BASIC al mundo. Kemeny y Kurtz querían que fuese posible para otros estudiantes fuera de los campos de la ciencia y las matemáticas, usar computadoras, ya que en aquella época prácticamente todo el uso de las computadoras requerían que el usuario escribiese código para su propio software personalizado, y esto era algo que solo los científicos y los matemáticos sabían como usar.
50 años después, cualquier persona puede usar un ordenador, sin necesidad de saber escribir ni su propio nombre en una hoja de papel. BASIC fue el inicio de una revolución que convirtiese a las computadoras a futuro en objetos al alcance de todos, y es uno de los mayores responsables de la computación personal como la conocemos ahora. Con BASIC se abrieron las puertas de la computación a millones de personas al rededor del mundo.
Para celebrar el 50 aniversario de BASIC, en la Universidad de Darthmout realizaron un webcast en vivo para discutir el futuro la de la computación en los próximos 50 años, que incluye un panel de invitados expertos de Google, Intel y el MIT.
Fuente: Bitelia
Licencia CC
La programación no es un trabajo fácil, y requiere mucha concentración y referencias de expertos. En algunos momentos se desea, que exista algo que pudiera proporcionar una ayuda rápida, o una referencia rápida. La buena noticia ,es que existe una herramienta como esta. No es en realidad una herramienta, se llama Cheat Sheets (hojas de trucos).
Hojas de trucos son una colección de notas y datos utilizados para una consulta rápida. Una idea aproximada, de lo que una hoja de trucos incluye; contiene la información acerca de todas las sintaxis y propiedades de datos, que se utilizan muchos lenguaje de programación. Tales como: C , HTML , JAVA, LISP , Haskell , PHP , Python , Ruby , Photoshop, etc se pueden encontrar hojas de trucos para todos los lenguajes, fácilmente en la web. Son una gran herramienta y ayudarán mucho en el proceso de programación, y facilitarán el trabajo en gran medida.
En Desing Zum hay una lista de los mejores 75 hojas de trucos para los diseñadores y desarrolladores.
«Hello World» es el primer programa que por lo general se escribe cuando se aprende un nuevo lenguaje de programación. El primer programa Hola Mundo apareció en el capítulo 1.1 de la primera edición del libro original sobre C , «The C Programming Language» de Kernighan y Ritchie, en el año 1978 y se escribe así:
main () {
printf ( » hola, mundo \ n»);
}
Desde entonces, Hello World se ha aplicado en casi cualquier lenguaje de programación en el planeta. Esta colección incluye 441 programas Hola Mundo en muchos más o menos conocido lenguajes de programación, además de 64 idiomas humanos.
Los programas de esta colección están destinados a ser lo mínimo posible en el idioma respectivo . Tienen el propósito de demostrar cómo va a salir Hello World de la manera más sencilla posible, para no mostrar las características del lenguaje.
La colección fue recopilada por Wolfram Rösler con la ayuda de muchas personas en todo el mundo . El proyecto se inició el tres de Octubre de 1994, se puso en internet el 30 de diciembre de 1999, superó 200 entradas en 14 de julio de 2005, 300 el seis de diciembre de 2006, y 400 el 27 de julio de 2008 . Ahora es probablemente la mayor colección de programas Hola Mundo en internet, y el único que la recogido también de los lenguajes humanos.
Simple 8-bit Assembler Simulator es pues eso, un simulador de ensamblador de 8 bits. Está basado en NASM, provee una sintaxis simplificada y emula el funcionamiento de un procesador x86. La CPU obviamente es de 8 bits y además disponemos de un mapa de memoria de 256 bytes, así como de 4 registros de propósito general. Las instrucciones y los operadores ocupan 1 byte.
Como en otras ocasiones, este simulador está escrito en HTML/Javascript, por lo que todo lo que necesitas para jugar con él es un navegador moderno. Una de las características de la interfaz de usuario es que puedes correr el programa paso a paso y además puedes ver el estado de los registros y de la memoria en tiempo real, así como las instrucciones que se van ejecutando.
Aquí tienes más información sobre el conjunto de instrucciones del mismo. Además puedes ver el código fuente de este proyecto en Github.
Fuente: CyberHades