Evolución del desarrollo web del lado del cliente

En los últimos años ha habido una gran demanda de desarrolladores de software debido a la inclusión de los sistemas informáticos en prácticamente todo los aspectos del día a día de las personas. A las clásicas demandas de tecnologías tales como C, C++, JAVA, .NET, SQL han surgido un nuevo elenco de nuevas tecnologías tales como JavaScript, ECMAScript, nodeJS, AngularJS, React, Angular 2.0+, VueJS, ember, gulp, webpack, TDD, BDD, CI, CD, etc. El nuevo conjunto de tecnologías que se solicitan como puestos de trabajo pertenecen al desarrollo de aplicaciones web. Una de las mayores críticas de los profesionales del sector (Ingenieros y desarrolladores en general) es el rápido cambio de tecnologías que sufre el desarrollo Web en el lado del cliente (o front-end). Historia del lenguaje de programación JavaScript Antes de poder afrontar los últimos avances en el desarrollo de aplicaciones Web hay que comprender por qué y cómo se ha llegado a esta situación, y para ello se va a presentar la evolución que ha sufrido el desarrollo del lado del cliente hasta llegar a nuestros días (Julio 2017). Hay que retomarse a los orígenes de la Web cuando existían principalmente dos navegadores Web populares para los usuarios: Internet Explorer y Netscape. Internet Explorer hasta hace poco ha sido el navegador por excelencia de la compañía Microsoft y es sobradamente conocido por la mayoría de los lectores, hoy en día ha sido sustituido por Microsoft Edge. Menos conocido es el navegador Netscape, el cual fue el primero que plantó cara al dominio de Internet Explorer y del cual deriva hoy en día Mozilla Firefox. Para el desarrollo de scripts...

Ciberfeminismo

(Trobareu versió en català més avall) El ciberfeminismo, usualmente asociado al activismo feminista en la red, ha caminado de la mano del desarrollo de Internet y el llamado ciberespacio, para generar nuevos espacios de participación y activismo feminista. El término surge de la fusión de “ciberespacio” y “feminismo” y su aparición, en 1991, es de la mano de Sadie Plant, teórica inglesa, y, en 1992 del grupo de artistas y activistas australianas VNS Matrix. En su principal trabajo sobre el tema, Ceros + Unos, Plant argumenta cómo las mujeres han estado históricamente unidas a la tecnología y que el cero, la nada del código binario, siempre ha sido considerado el “0-tro”, lo femenino. VNS Matrix (leído como VeNuS Matrix) denuncia de manera provocativa los discursos de dominación sexualizantes que controlaban el espacio cibernético (Internet) recién creado y en expansión. Las teorías feministas de la tecnología, que son un conglomerado de reflexiones sociales, filosóficas y políticas sobre la relación género-tecnología han estado influenciadas por las teorías feministas, y cada vez más por la reflexión sobre el sexismo y el androcentrismo, una vez desterrada la supuesta neutralidad de la ciencia, en las innovaciones tecnológicas del siglo XX y XXI. Durante la década de 1990 el ciberfeminismo se expande gracias al auge de las TIC (entonces llamadas “nuevas tecnologías”) y, sobre todo, del impulso de la conocida como tercera ola feminista, y especialmente de la filósofa Donna Haraway y su Manifiesto Cyborg, publicado en 1987, y donde esta autora propone una nueva identidad cyborg que superaría la identidad de género y que es considerada como origen del pensamiento ciberfeminista. El cyborg (cybernetic...

¿Cómo está hoy la enseñanza de la programación en la infancia?

Ya hemos hablado en este blog del aprendizaje de la programación en la infancia. En este artículo vamos a hacer un poco de historia de la enseñanza de la programación en la escuela en España, después daremos una visión general de la situación actual, tanto en España como en Europa, y acabaremos centrándonos en lo que pasa en Cataluña, como botón de muestra de cuál es la realidad. La enseñanza de la programación en las escuelas no es algo nuevo. A mediados de los 80, el proyecto Atenea del gobierno español dotaba a los centros escolares de equipos y programas para introducir la informática en la educación. Entre estos programas estaban los lenguajes de programación Logo y Basic. En aquellos momentos muchas escuelas aprovecharon los equipos y los lenguajes que tenían disponibles para dar clases de programación a sus alumnos. Sin embargo, en los 90 se puso en duda la utilidad de la programación en el aula y en años posteriores se introdujo la ofimática y se dejó de lado la programación. Esta situación se mantuvo así hasta bien entrada la primera década del 2000, cuando la aparición de programas como Scratch (2005) y la popularización de la expresión pensamiento computacional (2006) volvieron a dar valor al aprendizaje de la programación en la escuela. En Europa, la European Schoolnet, una institución compuesta por los 31 ministerios de educación de la Unión Europea, publicó un informe en el 20141 donde puede leerse que la programación formaba parte del currículum de 12 países: Bulgaria, Chipre, República Checa, Dinamarca, Estonia, Grecia, Irlanda, Italia, Lituania, Polonia, Portugal y Reino Unido. La mayoría de estos países incluyen...

Computación cuántica (II): un nuevo paradigma

El modelo actual de ordenador no es el único posible. Existen otros paradigmas para diseñar un ordenador que son radicalmente diferentes al modelo “convencional”. Un potencial cambio de paradigma se refiere a la electrónica digital: los ordenadores representan la información de forma discreta, usualmente con los valores 0 o 1. Para hacerlo, se consideran dos niveles de voltaje: el nivel “tierra” (0) y el voltaje proporcionado por la fuente de alimentación (1), con un cierto margen de tolerancia para cada nivel. A partir de estos valores pueden realizarse operaciones lógicas (las definidas en el álgebra de Boole, como AND, OR o NOT), que en la práctica se implementan como puertas lógicas mediante transistores que transmiten o bloquean el voltaje para reflejar el resultado de la operación. Pero también hay dispositivos que utilizan un modelo de computación analógica, donde la información se almacena como una magnitud continua: no hay rangos de valores discretos (entre A y B, el valor es X), sino que se utiliza el valor completo de una magnitud. El uso de valores continuos introduce el problema del ruido: fluctuaciones imprevistas que pueden distorsionar este valor y que limitan el rango de valores observables y la precisión. Este problema también aparece en la electrónica digital, pero se resuelve con los márgenes de tolerancia definidos para cada nivel de voltaje. Cabe destacar que esta magnitud puede ser el voltaje en un cable, pero también podrían ser magnitudes mecánicas (p.ej. la contracción de un muelle elástico) o hidráulicas. Así pues, no es necesario limitarse a propiedades electrónicas para implementar un ordenador: es posible cambiar a un paradigma basado en otras...

Computación cuántica (I): el fin de los ordenadores clásicos

Los ordenadores actuales son descendientes de la Máquina de Turing. Este modelo matemático fue creado por Alan Turing para dar respuesta al Entscheidungsproblem (en alemán, “problema de decisión”), una de las cuestiones centrales de la informática teórica. Las Máquinas de Turing utilizan como memoria una cinta con un número infinito de posiciones y un cursor que puede leer una posición de la cinta, modificar su contenido o desplazarse una posición a la izquierda o a la derecha. El “código” de la máquina de Turing es el conjunto de reglas predefinidas que indican qué acciones debe realizar el cursor según el contenido de la cinta, mientras que los “datos de entrada” sería el contenido inicial de la cinta. También es posible definir una Máquina de Turing Universal que recibe como entrada el código de una máquina de Turing y unos datos de entrada y simula la ejecución de dicha máquina de Turing. Esta Máquina de Turing Universal es uno de los antecesores del concepto de “programa almacenado”: pensar en el programa como un dato más que puede leerse (para ejecutarse) o incluso modificarse. Puede parecer un concepto evidente, pero hasta ese momento la mayoría de máquinas tenían un propósito específico (un problema, una herramienta). Esta idea de máquina “programable y de propósito general” se había utilizado en el campo de las máquinas de tejer (para coser patrones complejos definidos mediante una tarjeta perforada), pero aquí se aplicaba a la realización de cálculos. Aunque excelente como modelo teórico, la Máquina de Turing tiene una arquitectura poco útil desde un punto de vista práctico y existen formas de diseñar una máquina más...

Informáticas en el cine: Figuras Ocultas

De vez en cuando nos encontramos a informáticos en el cine o en la tele. A veces nos gusta la representación de la profesión en la pantalla (véase Juegos de Guerra o la televisiva Halt and Catch Fire, en ocasiones nos disgustan (ver The Imitation Game, y vamos a intentar olvidar como buenamente podamos las barbaridades mucho peores que vemos con una cierta frecuencia). En ocasiones, eso sí, la representación de la película es tan buena que IBM aprovecha para hacer un poco de marketing con el tema… (Hay un par de clips más muy recomendables aquí y aquí, aún más en el sitio que han dedicado a la película y a sus esfuerzos por la diversidad en el campo de la ciencia, la tecnología, la ingeniería y las matemáticas.) Como habríais adivinado aún sin leer el título de la entrada, estamos hablando de Hidden Figures (traducida por aquí como Figuras Ocultas, que pierde el juego de palabras del original (figures significa cifras, además de figuras) pero hemos visto traducciones mucho peores), estrenada por aquí el pasado fin de semana, y que me permito recomendar encarecidamente que vayáis a ver. La película se centra en los personajes de Katherine Johnson, Mary Jackson y Dorothy Vaughan, tres mujeres negras nacidas entre 1910 y 1921 en Estados Unidos que, implausiblemente, llegaron a desempeñar cargos de responsabilidad en la NASA. Implausiblemente por ser mujeres y negras, por haber nacido cuando nacieron y porque, por si la historia no fuera lo suficientemente complicado hasta aquí, nuestra historia tiene lugar a principios de la década de los sesenta en Virginia, Estados Unidos, un estado...