lunes, 7 de diciembre de 2009

Ada Lovelace (II end)

...continuación no con el sustantivo y sus derivados

...mucho menos el indicio de un contenido
...ni un período







...tampoco una acción con matriz peyorativo

...ni forma de sustantivos derivados de los sutantivos que significan conjunto

.. ni abundancia ni exceso


Lady lovelace se le otorga el desarrollo de las instrucciones para hacer cálculos en una versión temprana del ordenador. Babbage quien encontró el apoyo matemático perfecto en Ada, estaba impresionado con su talento para las máquinas. Llegó a escribir para él un programa que permitiría calcular los valores de los números de Bernoulli. Que más tarde pasó a ser su tutor y la consecución lógica de los hechos es que finalmente se convirtieron en colegas de trabajo. A pesar de todo, la labor de Ada siempre quedó relegada a un segundo plano nombrándola en la mayor parte de las ocasiones como una "mera transcriptora de las ideas de Babbage"; nada más lejos de la realidad. Pasaron 30 años para que se diera a conocer la identidad de los trabajos de A.A.L y que su trabajo comenzase a ser más valorado incluso que el de Babbage.


Babbage imaginaba una máquina capaz de interactuar con su operador, dotada de una memoria, una unidad operativa, una perforadora de tarjetas y una impresora, pero tenía dos puntos débiles: la mecánica y las tarjetas perforadas. Ada "consiguió solventar los errores más serios" de su proyecto y juntos luchaban por darle vida a un proyecto en el que ambos creían.

Publicó en 1843 una serie de documentos interesantes sobre la máquina de Babbage, su Ingenio Analítico, (los ordenadores actuales tienen como precedente histórico esta Máquina Analítica, un artefacto mecánico para el cálculo que, por primera vez, almacenaba en una memoria una serie codificada de instrucciones, lo que hoy se entiende por programa) que probablemente habría sido una realidad (mucho antes) de no haber sido por la temprana muerte de Ada. Babbage intentó construirla varias veces pero *sin éxito*. Al final desistió.

Ada fue previsora, y temiendo que `censuraran´ su trabajo y cayera en el olvido por el mero hecho de ser mujer, firmó su trabajo únicamente con sus iniciales, A.A.L. Así, Ada se encargó, en 1843, de escribir un artículo que comenzó como una traducción de unas notas del matemático italiano L.F. Menabrea, donde describía y analizaba la "máquina analítica o máquina de cálculo"; incluyó demostraciones de cómo calcular funciones trigonométricas que contuvieran variables y publicó también el primer programa con las instrucciones que la harían funcionar. Este artículo llegó a triplicar la longitud de las notas originales. Como hemos comentado, se publicó solo con sus iniciales en las Memorias Científicas de Richard Taylor Volumen 3 (1843), bajo el título de "Notas".


Suyos son, además, conceptos tales como el conjunto de instrucciones que permiten que otras se repitan en un bucle o subrutina ; inventó también una notación para describir los algoritmos de la máquina analítica, esto es, "el primer lenguaje de programación". Es por todo ello por lo que se le reconoce como la primera programadora de la historia, a pesar de que no todos estén de acuerdo con ello.

Sus ideas fueron extendidas un siglo más tarde por el matemático también británico Alan M. Turing en 1937 y por John von Neumann en 1946, ambos personajes fundamentales en el desarrollo del ordenador tal y como lo conocemos actualmente.

Como curiosidad añadida, aparte de Charles Babbage, Ada tuvo la oportunidad de conocer personalmente a Sir: David Brewster (físico británico inventor del caleidoscopio), Charles Wheatstone (físico e inventor británico, conocido especialmente por su trabajo en electricidad), Charles Dickens (novelista inglés autor entre otras obras de "David Copperfield" o "Grandes esperanzas") y Michael Faraday (químico y físico inglés, inventor del motor eléctrico, el generador y la dinamo).

Como primera mujer en el mundo de los ordenadores, Lovelace, la encantadora de números, ocupa un espacio sensible en el cuadro de figuras históricas y nos recuerda que las mujeres y la informática siempre han mantenido una estrecha relación desde un principio, desempeñando un rol decisivo y no una mera presencia testimonial.


Siendo muchas las mujeres que han realizado grandes aportaciones a la informática solo Ada cuenta con un lenguaje de programación que lleve su nombre. En 1979 el Departamento de Defensa de los Estados Unidos creó un lenguaje de programación basado en Pascal en honor de Ada Byron llamado lenguaje de programación Ada. Fue el primer reconocimiento a su labor, tras su muerte. Ada, suele ser a menudo el estandarte del ciberfeminismo.

En los últimos tiempos de la vida de Ada se sucedieron las crisis nerviosas, las deudas y los escándalos, como la agitada relación con John Crosse, un pendenciero corredor de apuestas. Y su salud empeoraba cada vez más. Para aliviar el dolor se dejó llevar por el alcohol y las drogas (tomaba una mezcla de cerveza, brandy, opio y morfina) lo que lograba el empeoramiento en su estado de salud.

Ada fué consciente de este desajuste en torno a su salud, consigió así alejarse del alcohol y las drogas dejándose llevar por otra obsesión: las apuestas. Incitados por sofisticadas recetas probabilísticas que les procurarían la riqueza que estaban perdiendo, Ada y Charles Babbage se introdujeron en el mundo de las apuestas de carreras de caballos, tan de moda en esta época. Ada se jugó su fortuna familiar y Charles lo poco que le quedaba.

La vida sentimental de Ada estuvo salpicada de escándalos. Solía flirtear con todos los hombres que conocía o que se movían a su alrededor. De hecho el que fuera su marido encontró más de 100 cartas de "amigos" de Ada que destruyó en cuanto cayeron en su poder. Y es que Ada era muy dada a escribir cartas. Es otro de los tesoros que conservamos de la primera programadora de la historia. Muchas de ellas están encuadradas en "Ada, the Enchantress of numbers: a selection from the letters of Lord Byron´s daughter and her description of the first computer" (Ada, la encantadora de números: una selección de las cartas de la hija de Lord Byron y su descripción del primer ordenador).

Ada murió el 27 de noviembre de 1852 de un cáncer uterino a la misma edad que su padre Byron, a los treinta y seis años; los restos de ambos yacen enterrados en la misma tumba.
Ada tuvo tres hijos con William King: dos hijos y una hija: Bryon Noel Byron (nacido el 12 Mayo de 1836), Annabella (22 de Septiembre de 1837 ) y Ralph Gordon (2 Julio de 1839). Scherezada Lovelace nacería en 1815, y fue la única descendiente en seguir los pasos de su madre, aparte de ser la única hija no nacida del matrimonio con King. Scherezada nació fruto de la pasión entre Ada y Sir David Brewster, responsable en la invención del caleidoscopio. No se lo conocemos sólo por ser hija de Ada, sino por su talento tanto para el arte como para las ciencias, temáticas que quiso aunar bajo una "máquina creadora". Scherezada era partidaria de aplicar el análisis lógico a la creación artística y su objetivo era precisamente crear una máquina que fuese capaz de realizar obras pictóricas. Pero el rechazo social fue instantáneo; su carrera como artista se fue en decaída mucho más rápido aún y esta se sumió en una profunda depresión que la condujo a la enfermedad que le provocó la muerte. Como si de una asombrosa casualidad o (si hay supersticiosos) de una maldición familiar se tratase, Scherezada murió al igual que su madre y que su abuelo, a la temprana edad de 36 años.


/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\

\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/


Función de Ackermann: (Código fuente escrito en ADA)

Se observa:

- Todo es case-insensitive. Todo el entorno Unix es case-sensitive, a los programadores de Unix no les gusta este rasgo de Ada.
- Todo el programa es un solo procedimiento, que puede contener subprocedimientos (en este caso: la función ack).
- Para cerrar algo, conviene poner end qúe_cerramos. Es un modo de evitar errores, pero por lo general, solamente nos irrita. No es necesario hacerlo aunque todos los manuales lo aconsejan y casi todos los programas de Ada lo hacen.
- Se atribuye un valor con :=, se compara dos valores con =. A los programadores de C tampoco les gusta este rasgo.
- No existe el equivalente de la función printf, considerada como peligrosa. Aunque las funciones Put i New_Line (del módulo Gnat.Io) son más seguras, son también muy incómodas.
- elsif se escribe junto, a diferencia del C.
- La sintaxis de atributos es objeto'atributo (o clase'atributo) (nota: esto sólo se puede hacer con los objetos predefinidos), en vez de los . o :: más tradicionales. Había una sintaxis parecida en las primeras versiones del Perl.
- Se distingue entre "procedimientos" (en C las funciones que no devuelven ningún valor) y "funciones" (en C, funciones que sídevuelven un valor). Hoy día, la mayoría de lenguajes de programación no lo distingue, aunque son más seguros al impedir los efectos laterales y la distinción sigue haciéndose en el marco teórico de los compiladores.



/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\

\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

Función de "Ackermann":
La función Ackermann tiene la propiedad de crecer mucho más rápido que cualquier otra función recursiva primitiva (como por ejemplo la exponencial, factorial, n^n, etc)
Dato curioso es el crecimiento cabe decir que A(
2, 5) vale 13, luego evaluar A(3, 13) es 8179. Sin embargo, el valor de A(3, 8179) es comparable al número de átomos del Universo elevado a una potencia de más de 12. Ese número tendría que calcularse para hacer la llamada más externa a la función, pero esta no sería posible escribir los dígitos del resultado en el universo físico. Como por ejemplo, evaluar A(4,2) daría esto como resultado de 19.729 dígitos.
Debido a la cantidad de llamadas, se ha usado para evaluar las presentaciones de un lenguaje en lo tocante a la gestión de llamadas recursivas, aunque para otras cosas es una función bastante "útil" debido a lo rápìdo que crece y las limitaciones en memoria que esto produce
.


Parte: 1 (Ada Lovelace)

0 comentarios:

Solo se publicarán mensajes que:
- Sean respetuosos y no sean ofensivos.
- No sean spam.
- No sean off topics.
- Siguiendo las reglas de netiqueta.

Publicar un comentario