en Chorradus Magníficus

La Historia de la familia de lenguajes C

1972- El precursor de C, el lenguaje de programación B, es desarrollado en los laboratorios Bell. El leguaje B es rápido, facil de mantener y util para todo tipo de desarrollos desde sistemas hasta aplicaciones. El grupo de trabajo que diseña el lenguaje es despedido inmediatamente por comportamiento inapropiado en relacción a un empleado de la compañia de teléfonos y el proyecto se deja en manos de Dennis Ritchie. Ritchie modifica el lenguaje para hacerlo incomprensible, dificil de mantener, y solo ‘util para el desarrollo de sistemas. Ritchie también diseña un sistema de punteros que garantiza un puntero al sistema operativo cada 500 lineas.

1982- Se descubre que el 97% de todas las rutinas en C pueden ser objeto de ataques de buffer overrun. Los programadores de C comienzan a percatarse de que inicializar una variable con lo que sea que estuviese en las dirreciones proximas de memoria no tiene porqué ser una buena idea. Como intentar forzar un cambio en la inicialización de las variables se cargarí­a el 97% de los programas en C, no se hace nada al respecto.

1984- El número de sistemas operativos alcanzables por un puntero mal apuntado se incrementa dramáticamente.

1985 – Una variedad de C orientada a objetos, llamado C con clases, esta lista para salir al mercado. Sin embargo, el nombre C con clases se considera demasiado facil para no iniciados y la version comercial acaba llamandose C++

1986 – C se vuelve tan popular que los analistas de la industria comienzan a recomendar escribir aplicaciones de usuario para negocios en este leguaje. Justifican esta recomendación diciendo que C sera portable a multiples sistemas diferentes. Se sospecha que la mayorí­a de estos analsistas estaba bajo la influencia de alucinógenos.

1988 – La industria agota sus reservas de LSD. Una vez decaen las alucinaciones se dan cuenta de que las aplicaciones para negocios escritas en C tardan cinco veces más en ser producidas y siguen sin ser portables. Dejan de recomendar el escribir aplicaciones para negocios en C excepto una minorí­a que se pasa a la cocaina crack y comienza a recomendar que las aplicaciones de negocio se escriba en C++ porque «el uso de objetos permitirá el reusado del código».

1990 – A estas alturas, todos los compiladores de C se han convertido en compiladores de C++. Pero como la mayor parte de los programas en C++ no usan las caracterí­sticas de orientación a objetos esto implica que, en la práctica, mastodónticas estructuras de código con punteros apuntando al sistema operativo son compiladas con un compilador para lenguajes orientados a objetos.

1990- Despues de contratar a algunos analistas que se habí­an pasado del crack a esnifar pegamento, Sun decide crear un lenguaje llamado Oak para programar receptores de televisión. Ya que por estos tiempos todos sus programadores tienen la artificial sintaxis de C grabada en su ADN, este nuevo lenguaje hereda un monton de caracterí­sticas de C y C++. Sin embargo, como los receptores de televisión no tienen un sistema operativo que cargarse con punteros mal apuntados, los punteros son eliminados de este nuevo lenguaje.

1994 – Alguien en Sun se da cuenta finalmente de cuan estúpida es la idea de desarrollar un lenguaje solo para receptores de televisión. Al lenguaje se le cambia de nombre, llamandose ahora Java, y se reposiciona como un lenguaje «para internet» que se supone es portable a múltiples plataformas. Esta idea es un éxito como campaña de márketing ya que menos del 3% de la gente en la industria sabe que es internet y los analistas bajo los efectos de alucinogenos continuan persiguiendo la mí­tica idea de la portabilidád

1995 – Sun ofrece bonguis a los analistas de la industria de forma gratuita, los cuales comienzan a escribir artí­culos de como Java es el leguaje del futuro dada su portabilidad e integración con «internet».

Mediados de 1996 – Aparencen 17.468.972 de artí­culos sobre porqué Java es el leguaje del futuro. La era de las java applets en las páginas web comienza.

Finales de 1996- Programadores intentando crear páginas web de verdad con applets que realmente funcionen cometen un suicidio en masa ví­ctimas de la frustración y la depresión. Los analistas de la industria se aumentan la dosis para compensar esta situación.

1997- Siguiendo los consejos de los analistas a regimen de alucinógenos, Corel decide re-escribir todas sus aplicaciones, incluyendo WordPerfect en Java. El resultado es el primer procesador de textos más lento que una máquina de escribir.

1998– Percatándose de que la moda de las applets se está disipando rápidamente, Sun reposiciona Java de nuevo, esta vez como un lenguaje para servidores. Roban el diseño del Microsoft transaction server y consiguen convencer a todos de que ellos fueron los que lo diseñaron.

1999- Java 2 para empresas es presentado a un conjunto de analistas borrachos y colocados. Se escriben 21.499.512 artí­culos. Nadie lo usa porque esta todaví­a en desarrollo y es muy caro.

2000- J2EE funciona de una vez… más o menos. Justo cuando los vendedores de Java estaba empezando a hacer dinero con el lenguaje, Microsoft anuncia .NET, que incluye la mayor parte de las caracterí­sticas de J2EE con excepción del desorbitado precio. De hecho, Microsoft decide dar .NET gratis a los usuarios de Windows. Scott McNealy se cabrea tanto que le pone una demanda a Microsoft. .NET incluye una nueva familia de lenguajes de C, C#, pronunciado «C almohadilla», continuando la tradición de lenguajes con nombres estúpidos.

2001– El departamento de márketing de Microsoft se da cuenta de que nadie habí­a hablado con un desarrollador de Microsoft que estuviera vivo. Aprovechan para almorzar con uno y descubren que la pronunciación del leguaje se supone que es «C sharp»

2002- C# es introducido como parte del entorno .NET. Los programadores de C++ se entusiasman con el concepto «código gestionado», que significa que por fin obtienen el gestionado automático de memoria que Visual Basic tiene desde 1991 y Java desde 1995

copyright (C) 1996-2006 by Billy S. Hollis, traducción al español por Ergodic

Deja una respuesta a Nacho Cancelar respuesta

Escribe un comentario

Comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

11 Comentarios

  1. 2005 – Finalmente la gente de Google, que no le da a la ketamina ni al cristal, comienza a apoyar a Python, un lenguaje sencillo, potente y desarrollado por el unico holandes que no es aficionado a los ‘coffee shop’.

  2. [2000] Microsoft, en su afan de salvar al mundo de las compatibilidades y con una gran vision de futuro crea Visual J++. Un nuevo Java que solo corre en la maquina virtual Java de Microsoft, no tiene RMI, ni JNI pero con la gran suerte de incluir un buen numero de extensiones propietarias que no eran parte del standard de Java. Los problemas de rendimiento tradicionales de Java se solucionaron permitiendo que J++ pudiera acceder directamente a la Win32 API. Despues se renombró a J#. Se escribieron mas de 5 artí­culos en todo el mundo.

  3. [2009] Sin embargo, a mediados de 2009, los programadores de sistemas operativos, marcapasos, sistemas de aviónica y satelitales y otras aplicaciones delicadillas siguen programando en C. Eso garantiza cientos de horas de escribir código y miles de horas de depuración… pero las aplicaciones hacen exactamente lo que el programador querí­a que hicieran. Es un consuelo saber cuanta memoria va a consumir una aplicación sin depender de como haya pasado la noche el recolector de basura…

  4. A ver cuando sacan el D oficialmente (todo el mundo sabe que C++=C+1=D) y se migran al nuevo lenguaje molón todas las aplicaciones vetustas, incluidas aquellas escritas en cobol

  5. @Nacho, técnicamente el modelo exponencial contaba tanto los post de producción propia como los posts chorras. Los primeros cuestan bastante de hacer y solo abundan cuando un numero sensible de los editores está en paro o les ha dejao la novia. Para poner chorradas que nos encontramos por ahi ahora usamos twiter, de ahi la reducción exponencial.

    De todos modos exp(-a*t) = 0 solo si t -> Inf y pa eso falta bastante.

Webmenciones

  • meneame.net julio 28, 2009

    Visión alternativa de la historia del lenguaje C…

    Visión personal y divertida de la evolución de la familia de lenguajes C y de los motivos de este evolución….