Introducción

por Jerry Guo
Traducido por Willmar A. Pimentel
El desarrollo de los lenguajes de programación ha crecido exponencialmente en las últimas dos décadas. Crossroads se ha mantenido con los tiempos desde nuestra segunda entrega "Lenguajes de Programación" en el invierno de 1994, a "Programación Orientada a Objetos" en 1998 y "Programación en Windows" en el 2000. Pero el génesis de la programación puede ser rastreado más atrás, mucho más de un siglo antes de la iniciativa .Net o el open source.
Ada Lovelace es conocida por muchos como la primera programadora. Ella comenzó a trabajar para Charles Babbage en su Máquina Analítica a mediados de los 1800s. Lovelace escribió programas comparables al moderno lenguaje assembler, diseñados para calcular soluciones de Bernoulli. Esto casi un siglo antes de que aparezcan las sofisticadas computadoras eléctricas usadas para incrementar el poder de guerra de los Estados Unidos.
Fue alrededor de esos tiempos en que aparecieron las primeras supercomputadoras y con el advenimiento de la era de la información llego el primer error de una computadora: Primer caso real de una polilla que se ha hallado en los reles de una computadora. La almirante Grace Hopper es erróneamente atribuida con frecuencia por su descubrimiento y su término. Todavía era una técnico cuando encontró el error y lo anotó en el libro de registros que actualmente se expone en el Smithsoniano - pero Hooper dice que todavía adora contar esa historia. Irónicamente, aunque las mujeres han sido responsables de muchos hitos de la programación, este campo es ahora abrumadoramente dominado por los hombres.
Nosotros comenzamos este número mirando en el futuro de la programación a través de una entrevista exclusiva con Paul Graham, un líder en el área educado en Harvard y co-fundador de Viaweb. El discute temas como el out-sourcing, formas de abordar problemas técnicos y el desarrollo de un nuevo dialecto de Lisp llamado Arc (un proyecto personal). También responde a preguntas prácticas acerca de la relación empresarial y la búsqueda de trabajo en la industria actual.
Posteriormente, Kevin Henry toma "Una rápida apreciación global de Groovy", un lenguaje que combina la conveniencia del scripting con la funcionalidad de Java. En "Stratego: Un lenguaje de programación para la manipulación de programas," Karl Kalleberg examina la más grande imagen de la transformación de un programa y como está íntimamente relacionada a los lenguajes de programación. Alexandre Borhi, Valentin David y Akim Demaille nos darán un ejemplo del poder de la transformación de un programa moderno en "C-Transformers: Un framework para escribir transformaciones de programas en C". Finalmente una exclusiva de su última publicación en línea, Umer Farooq nos recuerda el contexto y la innata falta de humanidad de los lenguajes de programación en "Eureka! Pasado, presente y futuro de la investigación creativa en HCI".
Los próximos números incluyen temas como Ingeniería de Software, Bioinformática y juegos para computadora. Como siempre escriba a (crossroads@acm.org) para enviar artículos, ser un voluntario para el grupo editorial, enviar comentarios o simplemente conversar acerca de tecnología. Para conmemorar 13 años de producir la revista más popular realizada por estudiantes en el país, estamos planificando mayores expansiones, como ser, mejorar nuestra presencia online (www.acm.org/crossroads) y adicionar contenido amigable y actualizado al usuario.
Biografía
Jerry Guo (ji.guo@yale.edu) es estudiante de pregrado de la Universidad de Yale. Sus principales áreas de investigación son la bioinformática y la inteligencia artificial. Actualmente es reportero del Yale Daily News y remero en una pesada tripulación. En su tiempo libre le gusta dormir, jugar con su XPS2 y practicar bicicleta de montaña. Ha trabajado como Editor en jefe de Crossroads desde agosto de 2005 y miembro del grupo editorial desde el 2003.
Willmar A. Pimentel (wpimentel@correo.umsa.bo) es estudiante de Informática de la Universidad Mayor de San Andrés. Sus áreas de interés son la web, criptografía y programación paralela. Actualmente es el director para Bolivia del ACM - ICPC, consultor de apoyo en informática educativa (Programa UMSATIC) y administrador de diversos sitios web. En su tiempo libre le gusta escuchar música instrumental, ver películas y leer libros de historia.