Grupo Linuxero del Bajío

Descripción del lenguaje JavaScript

Víctor Manuel Jáquez Leal

En 1995, Netscape Navigator estaba en su cúspide como el navegador de Internet, cuando su recién fichaje, Brendan Eich, tuvo la genial idea de insertar un lenguaje de programación dentro del navegador, pudiendo así ofrecer páginas web cuya interfaz con el usuario fuera más dinámica.

Eich primero esbozó un lenguaje muy cercano a Scheme, un dialecto de Lisp, pero los empleados de cuello blanco pusieron el grito en el cielo: “¿cómo iba la gente a usar un lenguaje de programación funcional para hacer sus páginas?”, así que trocaron hacia un diseño ecléctico, por no decir “frankesteiniano”: Una sintaxis similar a C, un conjunto de estructuras predefinidas cuyos nombres fueron tomados de Java, y los conceptos principales de diseño fueron tomados de Scheme y del poco conocido lenguaje de programación, Self.

Así es, el lenguaje de programación JavaScript, el que recobró importancia tras el advenimiento de Ajax, tiene tanta relación con los lenguajes funcionales clásicos, como con los lenguajes imperativos como C, Pascal o Java. Y tal vez sea precisamente eso, su enfoque mixto, el motivo principal de su éxito.

El nombre de JavaScript se debe a la lamentable consecuencia de una negociación económica entre Sun y Netscape, ya que el primero quería que todo en Internet tuviera el prefijo Java y el segundo, poder distribuir la máquina virtual de Java junto con el navegador. El lenguaje tuvo, antes de su distribución al público, nombres mucho más sugerentes, como LiveScript, o, más anteriormente, Mocha.

En 1996, Netscape sometió el lenguaje a ECMA Internacional, para que, dentro de un comité internacional, se decidiera el desarrollo del lenguaje, y no estuviera a merced de intereses comerciales que conducirían a un cisma de la Web. No obstante, se rebautizó el lenguaje dentro del comité a ECMAScript. Actualmente existen varias encarnaciones de esta especificación, tal como el mismo JavaScript, JScript de Microsoft, ActionScript de Adobe, QtScript, etcétera.

Pero veamos más de cerca las características de diseño más relevantes del lenguaje:

Leer más...

Vectorización

Víctor Manuel Jáquez Leal

En 1966 un profesor de la Universidad de Stanford, Michael J. Flynn propuso una clasificación para la arquitectura de computadoras conocida como la Taxonomía de Flynn [1].

Esta clasificación está basada en el número concurrente de instrucciones y en los flujos de datos disponibles en la arquitectura:

Single InstructionMultiple Instruction
Single DataSISDMISD
Multiple DataSIMDMIMD

De manera general los ordenadores personales pueden considerarse como SISD: Single Instruction, Single Data. Estos procesadores solamente pueden hacer una operación sobre un valor a la vez.

Sin embargo, con la llegada del procesamiento multimedia, el mercado de los ordenadores personales comenzó a ejercer presión sobre los fabricantes de chips para proveer de hardware más potente capaz de reproducir audio y vídeo (actividad muy demandante de poder de cómputo), sin afectar la sensación de desempeño en las demás tareas.

Leer más...

Y otra vez resucitó

Víctor Manuel Jáquez Leal

Después de muchos tropiezos, el servidor del GLiB está de nuevo en línea. En esta reencarnación sólo el disco duro ha salido indemne, el resto es un Frankestein donado por Juan José Salgado. Muchas gracias Juan José.

El siguiente paso para lograr una situación más o menos estable es migrar el servidor a un coqueto GuruPlug: ARM, green computing y demás.

Estaremos informando.

Reunión de seguridad y hacking en Guanajuato

Hector Lopez

Kuaninj4s es un grupo de interesados en diversos temas #ninjas #espionaje #geeks #l33t #sociedad #política #libertad #wtf #beer #cyberpunk #inseguridad

Fecha: Jueves, 22 de Julio

Más información http://kuaninj4s.wordpress.com

Mandriva 2010 Spring y OpenSUSE 11.3

Juan Caballero

Esta semana han sido liberadas las nuevas versiones de ambas distribuciones, a continuación las notas de la publicación.

http://www2.mandriva.com/linux/features/ http://wiki.opensuse.org/Product_highlights

Leer más...