Sobre las reglas

El viernes 6 de abril de 1327, durante la misa de Pascua en la iglesia de St. Claire en Aviñón, Francesco Petrarca contempló a la mujer a la que conmemoraría como Laura, y se enamoró irrevocablemente. Petrarca tenía 23 años. Si la tradicin literaria tiene razn al identificar el objeto de su Rayo como Laura de Noves, tenía 17 años.





Jason Pontin, editor en jefe y editor

Petrarca probablemente nunca conoció a Laura; ella se negó a verlo porque ya estaba casada. Pero para cuando murió en 1374, había compuesto cientos de poemas ensalzando su belleza, lamentando su desgracia y lamentando su muerte prematura a la edad de 38 años, una respetable madre de 11.

Cualquier cosa que puedas hacer, yo puedo hacer Meta

Esta historia fue parte de nuestro número de enero de 2007



  • Ver el resto del número
  • Suscribir

Los poemas se recogen en un libro comúnmente llamado El Canzoniere , o el libro de canciones. Para alabar a Laura, Petrarca perfeccionó la forma lírica llamada soneto, que en sus manos consta de 14 versos, generalmente de endecasílabos, rimando abba, abba, cdc, dcd o alguna otra variación. Esta pequeña forma de cangrejo ha sido imitada por miles de poetas y ha inspirado muchos ejemplos célebres de arte literario. El soneto de Petrarchán ha sido llamado jaula, pero es una jaula que captura una peculiar economía de pensamiento: la octava, las primeras ocho líneas, ofrece una proposición de algún tipo que se resuelve satisfactoriamente en el sesteto, las últimas seis líneas. Las reglas de un soneto son estrictas pero simples.

Por el contrario, considere el lenguaje de programación C ++.

Multimedia

  • Mira el video del editor.

Un programa, como un poema, es una forma de expresar ideas: en un caso, las palabras en un lenguaje natural, constreñidas dentro de una letra, expresan el amor de un hombre por una mujer bonita; en el otro, el código de computadora, sujeto a las convenciones sintácticas de un lenguaje de programación, expresa la idea, digamos, de que un robot extraterrestre como el Mars Rover podría tener un sistema de conducción autónomo e integrado.



C ++ es posiblemente el lenguaje más influyente de los últimos 25 años; muchos de los sistemas y aplicaciones de la era de las computadoras personales y de Internet se escribieron en él, incluido el motor de búsqueda de Google y los sistemas de conmutación electrónica que subyacen a nuestras redes de telecomunicaciones. Pero a pesar de todo eso, C ++ es notoriamente difícil de aprender y usar. En parte, esto se debe a la dificultad de dominar el método paradigmático del lenguaje, llamado programación orientada a objetos. Pero principalmente se debe a que los desarrolladores de software son libres de expresar sus ideas en C ++ en una asombrosa variedad de formas.

En El diseño y la evolución de C ++ , el inventor del lenguaje, Bjarne Stroustrup (a quien entrevistamos en este número especial sobre software; ver El problema de la programación), explica que diseñó el lenguaje de esta manera por razones casi filosóficas: encuentro mucho más la preocupación casi fanática de Kierkegaard por el individuo más atractivo que los grandiosos planes para la humanidad de Hegel y Marx. ... A menudo, cuando estaba tentado a prohibir una característica que no me gustaba, me abstuve de hacerlo porque no creía que tuviera derecho a imponer mis puntos de vista a los demás.

La moderación de Stroustrup no ha complacido a las generaciones de programadores que han luchado con las peculiaridades de la sintaxis y la sobrecarga de funciones de C ++ (para usar la jerga del codificador). Cuando se publicó una versión de nuestra entrevista con Stroustrup en Slashdot, un sitio web agregador que ofrece noticias para nerds, atrajo 605 comentarios. JCR preguntó: ¿Por qué C ++ introduce tanta complejidad con tan poco beneficio? Las reglas de C ++ son complicadas pero laxas.



Los lenguajes de programación afectan a más personas que los codificadores profesionales. Aunque nuestra civilización tecnológica se ejecuta en software, el software no funciona muy bien. Como dice nuestro artículo de portada de Scott Rosenberg, Dondequiera que mire, el software está por encima del presupuesto, retrasado, inseguro, poco confiable y difícil de usar (ver cualquier cosa que puedas hacer, yo puedo hacer meta) . Los lenguajes de programación excesivamente complicados, de los cuales C ++ es un ejemplo, son una de las principales razones de la confusión del software. Esto se debe a que un lenguaje de programación útil debería ser lo que los científicos de la computación llaman una abstracción de la complejidad subyacente de los flujos de control y las estructuras de datos. C ++ preserva para los programadores la máxima libertad de expresión posible; pero como admitió JLeslie (otro comentarista de Slashdot), el costo fue que no se trataba de una gran abstracción.

Puede haber otra forma. Charles Simonyi, el ex arquitecto en jefe de Microsoft, que ahora es el jefe de Intentional Software, quiere derrocar los lenguajes de programación para algo que él llama programación intencional. El perfil de Simonyi de Rosenberg explica cómo la programación intencional puede dar a los desarrolladores un orden superior de abstracción. En lugar de escribir código de software en lenguajes de programación, los programadores cederían con gratitud la producción de código a un generador que se tragaría sus diseños, representando las intenciones de los usuarios de computadoras, y escupiría código de trabajo en un lenguaje que las computadoras pudieran entender, compilar y ejecutar. .

La mejor expresión de ideas se da en formas estrictas y simples. ¿Podría Charles Simonyi ofrecer a los programadores una nueva forma que sea a la vez más fácil y más rigurosa que cualquier otra que hayan tenido antes? Escríbeme y dímelo a [email protected]



esconder