Margaret Hamilton: el cerebro detrás del software

Margaret Hamilton es una científica computacional, matemática e ingeniera de sistemas. Fue la directora de la División de Ingeniería de Software del Laboratorio de Instrumentación del MIT, donde con su equipo desarrolló el software de navegación “on-board” para el Programa Espacial Apolo. En el año 1986, se convirtió en fundadora y CEO de Hamilton Technologies, Inc. en Cambridge. La compañía se desarrolló alrededpr deñ Lenguaje Universal de Sistemas basada en su paradigma de “Desarrollo antes del hecho” para sistemas de diseño de software. El 22 de noviembre del pasado año, recibió la Medalla Presidencia de la Libertad entregada por Barack Obama, debido a su trabajo en la NASA a lo largo de las misiones Apolo.

medalla

Hamilton se graduó en la Escuela Preparatoria Hancock en 1954 y consiguió un B.A. en Matemáticas del Earlham College en 1958. Se trasladó a Massachusetts con intención de estudiar en Brandeis, pero finalmente cogió un puesto en el MIT como desarrolladora de software.

Conoció a su marido, James Cox Hamilton, mientras estudiaba en Earlham College y se casaron en 1950 después de obtener su licenciatura. Tuvieron una hija llamada Lauren, durante los fines de semana la llevaba al laboratorio para pasar tiempo con ella y, al mismo tiempo, crear las rutinas que más adelante se añadirían a la computadora del módulo de comando de Apolo.

Uno de sus mayores logros durante la dirección del desarrollo del sistema operativo para las misiones Apolo, fue el sistema de excepciones y carga asincronica de tareas que jugó un papel crucial momentos antes del alunizaje, ya que cuando los astronautas se preparaban para descender, el ordenador empezó a lanzar los errores 1201 y 1202, sin embargo, el equipo de Hamilton supo que significaba que el ordenador estaba limpiando la lista de tareas de procesos poco prioritarios para dedicar todo el procesamiento a las funciones de descenso.

¿Qué es HTML? Cómo crear una página web

HTML es un lenguaje universal que funciona en cualquier plataforma y con cualquier navegador o browser. El precio que paga por su universalidad es su poca sofisticación, ya que es el viejo formato ASCII. Por ello, para que un documento HTML sea más que simples caracteres básicos, debe contener una serie de instrucciones para el browser que lo va a reproducir denominadas etiquetas o tags, distinguidas del texto porque van entre guiones. Estas etiquetas contienen todo el resto de la información de la página web.

Por tanto, si un documento HTML no es más que texto ASCII, cualquier documento web puede escribirse desde un sencillo programa básico de texto como el Cuaderno de Notas de Windows. Escribir un documento complejo así, exige un conocimiento exhaustivo de las etiquetas existentes y sus normas de uso; para evitarlo, hay una serie de programas denominados editores de HTML que permiten componer una página desde un interfaz parecido al de un procesador de textos.

A la hora de crear una página web, y aunque utilicemos un editor de HTML, es casi imprescindible comprender la disposición del etiquetado de un documento y manejar siquiera las etiquetas más elementales. Hay muchas razones que pueden aducirse a ello:

  • Los editores de HTML no son siempre herramientas perfectas. Frecuentemente será necesario consultar el código completo con las etiquetas HTML para corregir ñas disfunciones.
  • Lo ideal para aprender a diseñar páginas web es observar las páginas de los demás, cuyos códigos fuente están siempre disponibles para ser imitados.
  • Los mismos editores HTML manejan términos del lenguaje HTML que es preciso comprender.
  • Es fundamental un buen conocimiento de HTML para introducir otros códigos más potentes como los de Javascript.

El objetivo de este documento es aprender a componer una sencilla página web desde el más básico de los programas de texto disponibles en Windows. Así, seremos capaces de entender y manejar los códigos fuente de las páginas más complejas.

Conoce Java desde el principio

Java es uno de los lenguajes más difíciles de aprender, no tanto por su sintaxis o por estar orientado a objetos sino por su amplitud. Dentro de Java tienes una biblioteca de clases para relizar cualquier cosa. Es muy difícil que desarrolles cualquier aplicación y comiences desde cero en Java, al contrario, siempre te apoyarás en algo ya escrito, que implementa las bases de aquello que quieres construir.

java es muy grande y aunque represente una dificultad en el aprendizaje, también es una de sus ventajas. Se podría decir que  es casi imposible que conozca todas las áreas para las que Java se puede utilizar, ya que son muchas. Generalmente, las clases que vas a emplear cuando realizas un tipo de programa, son diferentes a las que usarás para otro y lo habitual es que los proyectos requieran trabajar con un pequeño conjunto de los recursos que existen en Java.

Es un lenguaje multiplataforma que se ejecuta en cualquier máquina. Esto se debe a la JVM que nos permite ejecutar el códifo de Java en cualquier lugar para el que se haya creado dicha máquina virtual. Se trata del secreto y la clave de java como lenguaje multiplataforma.

La JVM hace de puente entre el código compilado de Java y la máquina donde se va a ejecutar. Podemos verlo como un traductor que interpreta el código de Java de manera que sea correctamente ejecutado en el sistema objetivo. Así, compilamos el código y el resultado de la compilación se ejecuta en la JVM que tenga el sistema operativo donde quieres poner en marcha el programa.

Casi en cualquier hardware se puede montar un JVM y gracias a ello ser compatible con Java. De hecho, los primeros móviles tenían la opción de ejecutar juegos en Java porque se había creado una JVM en ellos.

¿Qué es JavaScript?

¿Qué es exactamente JavaScript?

JavaScript es un lenguaje de programación utilizado para hacer páginas web interactivas. Se ejecuta en el ordenador de tus visitantes y no requiere constantes descargas desde tu sitio Web. JavaScript se utiliza a menudo para crear encuestas y cuestionarios. Pero para entender mejor que es JavaScript, sigue leyendo.

¿Son JavaScript y Java lo mismo?

No, son dos lenguajes completamente diferentes. Sólo sus nombres son similares. Hablaremos de Java más adelante en alguna sección, para quienes estén interesados también.

¿Qué necesito para ejecutar JavaScript?

El soporte de JavaScript está construido en todos los navegadores principales, incluyendo Internet Explorer, Firefox y Safari. Siempre que los visitantes de tu sitio utilizcen navegadores que soporta JavaScript (la mayoría lo hacen), y tengan JavaScript activado (está por defecto), JavaScript se ejecutará cuando visitan la página.

¿Necesito aprender Javascript para poder usarlo?

No. Hay un montón de JavaScript escrito ya, que las personas han hecho disponible para conectar directamente en tu página web.

¿Qué necesito para escribir JavaScript?

JavaScript es un lenguaje interpretado, así que no se requiere ningún programa especial para crear el código usable. Cualquier editor de texto como Notepad (Bloc de notas, uno de los accesorios que viene en Windows) es bastante satisfactorio para poder escribir JavaScript. Dicho esto, es un editor que colorea el código para que sea más fácil ver, qué es lo que hace más fácil encontrar tus errores.

¿Puedo usar HTML en lugar de JavaScript?

No. HTML y JavaScript son dos cosas totalmente diferentes. HTML es un lenguaje de marcado, diseñado para definir el contenido de la página web estática. JavaScript es un lenguaje de programación, diseñado para realizar tareas dinámicas. A veces la distinción es confusa, porque el código JavaScript puede ir en el mismo archivo como HTML.

¿Puedo usar PHP o algún otro lenguaje de servidor en lugar de JavaScript?

Tal vez. Depende de donde necesita el código ejecutarse. Si tiene que ejecutarse antes de la carga de la página, puedes utilizar un lenguaje server-side. Si se tiene que ejecutar después de la carga de la página, entonces debes utilizar JavaScript. Esto es, porque es la única lengua scripting apoyada por todos los navegadores que admiten secuencias de comandos de cliente.

¿Va Javascript en el mismo archivo que HTML?

Puede, pero las secuencias de comandos serán reutilizadas más fácilmente en varias páginas de tu sitio web si los pones en archivos separados. (Usar una extensión .JS ayuda a identificarlos como Javascript). Sólo tienes que linkear JavaScript en el HTML insertando una etiqueta de <script>. El mismo JavaScript puede agregarse luego a varias páginas, sólo añadiendo la etiqueta apropiada en cada una de las páginas para establecer el enlace.

Hasta aquí la introducción, que puede ayudar al inicio si no entendemos muy bien que es JavaScript. Para saber más, mira los próximos posts! 🙂

¿Que es CSS?

Y para que se usa

Que es CSS: fue desarrollado primero en 1997, como una manera para que los desarrolladores web, definieran el aspecto visual de las páginas web que estaban creando. Fue pensado para permitir los profesionales web, separar el contenido y la estructura del código de un sitio web, del diseño visual. Esta separación de estructura y estilo permite a html realizar más de la función para la que originalmente se basó. Las especificaciones de contenido, sin tener que preocuparse por el diseño y la disposición de la propia página.

CSS no gana renombre hasta alrededor del año 2000, cuando los navegadores comenzaron a usar más de los aspectos básicos de la fuente y el color de CSS. Hoy, todos los navegadores modernos soportan CSS nivel 1, la mayoría CSS nivel 2 y algunos aspectos de CSS nivel 3. Como CSS sigue evolucionando y se introducen nuevos estilos, los navegadores web han empezado a implementar módulos que traen nuevo soporte CSS a esos navegadores. Y dar a los diseñadores web nuevas y potentes herramientas para trabajar.

En los últimos años, hubo algunos diseñadores que se negaron a utilizar CSS para el diseño y desarrollo de sitios web, pero esa práctica se ha ido del todo en la industria de hoy.

CSS es una abreviación

Los términos CSS significan Cascading Style Sheet (hojas de estilo en cascada). La palabra “style sheet” se refiere al documento en sí (como HTML, los archivos CSS son documentos sólo de texto que pueden editarse con variedad de programas).

Se han utilizado hojas de estilo para el diseño del documento durante años. Son las especificaciones técnicas para el diseño, ya sea impresas o en línea. Diseñadores han usado hojas de estilo para asegurar que sus diseños se imprimen exactamente a las especificaciones. Una hoja de estilos para una página web, sirve para el mismo propósito. Pero con la funcionalidad añadida de contarle también al navegador, cómo leer el documento que está visualizando. Hoy en día, las hojas de estilo CSS también se pueden utilizar para cambiar el aspecto de una página para diferentes dispositivos y tamaños de pantalla.

Cascada es la parte especial del término “Cascading Style Sheet”. Una hoja de estilo de una web,  intenta ser una cascada a través de una serie de hojas de estilo, como un río sobre una cascada. Cada página Web es afectada por, al menos, una hoja de estilo. Aunque el diseñador web no aplique ningún estilo. Esta hoja de estilos es la hoja de estilo “agente de usuario” – los estilos por defecto que utilizará el navegador para mostrar una página si no se dan otras instrucciones. Por ejemplo, por defecto, los hipervínculos son estilos en azul y están subrayados. Esos estilos provienen de la hoja de estilo por defecto de un navegador web. Si el diseñador web proporciona otras instrucciones, sin embargo, el navegador necesitará saber qué instrucciones tienen precedencia.

¿Donde se usa CSS?

También puedes utilizar CSS para definir cómo se tienen que ver las páginas web cuando no se ven a través de un navegador web. Por ejemplo, puedes crear una hoja de estilo de la impresión que va a definir cómo debe imprimir la página web. Como elementos de la página web como los botones de navegación o formularios web, no tienen ningún propósito en la página impresa, puede usarse una hoja de estilo de impresión para “apagar” esas zonas cuando se imprime una página.

¿Por qué el CSS es importante?

CSS es una de las herramientas más poderosas que un diseñador web puede aprender. Con él, se puede afectar la apariencia visual total de un sitio Web. Hojas de estilo bien escritas, pueden actualizarse rápidamente y permiten a los sitios cambiar lo que es prioridad, o valor sin cambios, en el código HTML subyacente.

 

 

 

que-es-css

 

Qué es html5

Y por qué es importate

Cuando Steve Jobs se negó a permitir Flash en dispositivos iOS, argumentó que html5 podría hacer todo lo de Flash. No estaba siendo totalmente honesto, pero ganó Apple y Adobe no. Html5, es la tecnología que está transformando la web. Que es html5, y ¿qué quiere de nosotros?

Es la última versión del Hypertext Markup Language, el código que describe las páginas web. Es en realidad tres tipos de código: HTML, que proporciona la estructura; Cascading Style Sheets (CSS), que tiene cuidado de presentación; y JavaScript, que hace que las cosas sucedan.

¿Qué es tan bueno de html5?

Ha sido diseñado para casi todo lo que quieras hacer online, sin necesidad de software adicional como plugins de navegador. Se hace todo. Desde la animación a las apps, música para películas y también, puede utilizarse para construir aplicaciones increíblemente complicadas que se ejecutan en el navegador.

No hay más. No es privado, por lo que no es necesario pagar derechos para utilizarlo. También es multiplataforma, lo que significa, que no importa si usas una tableta o un smartphone, un netbook, portátil o ultrabook o una Smart TV. Si tu navegador soporta html5, debería funcionar sin problemas. Inevitablemente, es un poco más complicado que eso.

¿Que hace html5?

Hemos recorrido un largo camino desde HTML. Apenas podía manejar un diseño de página sencillo. HTML5 se puede utilizar para escribir aplicaciones web, que funcionan aún cuando no estás conectado a la red, para decirle a los sitios web donde te encuentras físicamente, para procesar vídeo de alta definición, gráficos extraordinarios…

¿Cuándo se terminará html5?

Html5 es un estándar de la evolución, por lo que es un poco engañoso hablar de cuando se terminará. Lo importante es que las características de html – tales como la mencionada geolocalización, aplicaciones web, video y gráficos- se pueden utilizar ahora, siempre que tu navegador lo soporte.

¿Necesito un navegador html5?

Probablemente tienes uno ya. Todos los navegadores de renombre – Internet Explorer, Firefox, Chrome, Safari y Opera, Safari Mobile y Android – soportan HTML5, pero no todos soportan lo mismo.

Firefox soporta, en general, la más amplia selección de características de html5, Chrome y Safari le siguen poco después. Pero como hemos dicho, html5 es una evolución estándar y las últimas versiones de cada navegador, cubren los aspectos básicos.

 

 

que-es-html5-philrathe