martes, 27 de diciembre de 2016

Tendencias de programacion

¿Cuales sin las tendencias detectadas en el año 2016 a la hora de programar?



1. Desde el 2015 Javascript incorpora una nueva versión : JavaScript/ECMAScript version 6 (ECMAScript 2015 o ES6). Poco a poc se va integrando en los programas.





2. Uso cada vez mayor de programación funcional con lenguajes como Haskell, Clojure y Scala . ¿Porque? Debido al uso masivo de Smartphones y otros cacharos interconectados y por el aumento de las expectativas sobre su uso. A medida que nustros ordenadores, tablets ,etc se vuelven más capaces  los servidores  se comportan como cuellos de botella a la hora de procesar la información y las solicitudes . Estos lenguajes parece ser que facilitan la realizacion de multiples tareas informáticas de manera concurrente (es decir : a la vez) .Según éste autor, al funcionar de otra manera permiten que las secciones de código puedan ser procesadas de manera paralela (a la vez o simultaneamente) con más eficiencia  a traves de los distintos procesadores sin necesidad de sincronización compleja.  Parece ser que esto es mejor que la Programacion orientada a objetos.


Nota mía: También GO permite la concurrencia.
 Si quieres ver como funciona un lenguaje de éste tipo mira esto :Ver Haskell. 
Son un poco obsesos con las funciones lambda y dale que dale, (Funciones sin nombre o anonimas) y según dicen facilitan mucho la programación. Vaya usted o yo a saber.

"Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo, sino como funciones puramente matemáticas, en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresión depende únicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectos colaterales... " ver Wikipedia
Aunque muchos lenguajes de uso más habitual  como por ejemplo Python ya tienen incorporado el lenguaje de programación funcional.
También el paquete estadístico R esta diseñado en lenguaje de programación funcional. (Si has practicado con Haskell notaras un cierto parecido en la forma de introducir datos y las sentencias. 





Lectura recomendada/ El Internet de las cosas

Como pueden comunicarse entre ellas las máquinas o los ordenadores.

Comunicacion entre máquinas/apps etc


jueves, 27 de octubre de 2016

¿Tendremos trabajo en el futuro, o lo haran las máquinas/ordenadores?

Recuerda como se trabajaba el campo antes. Lo duro que era. El trabajo mecanico / físico (tanto que Bertrand Russel clasificaba los trabajos humanos como aquellos en los que el hombre/mujer trabajaba para mover, cambiar la materia (trabajos duros) y los trabajos intelectuales. Los tractores han sustituido al Burro o la Mula en los trabajos del campo, en la mayoría de los paises desarrollados. ¿Qué pasó con los pobre burros? La pregunta de si es posible que las máquinas nos desplazen a la hora de realizar trabajos intelectuales, ya es una pregunta del pasado. Probablemente la pregunta actual sea ¿Cuando nos desplazarán las máquinas a en los trabajos intelectuales? y ¿Qué será de nosotros y la sociedad tal como la conocemos? Preguntas que dan mucho de sí

A veces una caricatura vale más que mil palabras


Para reflexiones más serias



jueves, 22 de septiembre de 2016

More on Europython / Ver Presentación



Esta ponencia en inglés es interesante como presentación de el Microbit.
La BBC decidió entregar un millon de Microbits a los niños en los colegios para que los usasen de miles de maneras creativas y de esa maner aprendiesen a programar y usar su creatividad.




Europython y el Microbit BBC

viernes, 29 de julio de 2016

Programas que le gustan a Guido van Rossum

Guido van Rossum

 ( por lo menos he aprendido a escribir bien su nombre :-))


Editores de texto
Vi
Emacs

(Como programador que es...)

Otro lenguaje de programación:  Swift

Hay que hacerle caso, porque sabe de lo que habla.

Pero.... no olvidar : no hay que obsesionarse y paarse el tiempo  comparando lenguajes y
u sus  detalles sintácticos (esto me lo tengo que recordar a mi mismo con frecuencia) porque ese no es el objetivo nuestro. Nuestro objetivo es diseñar programas (scripts o como quieras llamarlos: llamalos programitas)  para mejorar la efiiciencia, comodidad, precisión, legibilidad, repetibilidad , rutinas y más cosas de nuestro tranbajo diario, y si en el proceso de análisis y desarrollo aprendemos algo sobre como trabajamos y como mejorar el proceso ... pués mucho mejor.