Programación y redacción

Hace un año, suspendí mi carrera de programador y comencé a escribir una novela pensando que mi nueva actividad era muy diferente a la anterior. Después de muchas palabras escritas, pero más a menudo reescritas, estoy casi seguro de lo contrario: programar grandes sistemas y escribir novelas tienen muchas similitudes y procesos similares.



El paralelo más obvio entre los dos es que en ambos escribes algo. El código no es prosa escrito en lenguaje natural, pero tiene un conjunto de reglas fijas (gramática), ciertas formas que la mayoría de los programadores encontrarán naturales, y otras formas, aunque formalmente correctas, parecerán difíciles de entender.



Sin embargo, existe una conexión mucho más profunda entre estas dos actividades: un buen programa y un buen romance son la suma de elementos locales y globales que funcionan bien. Un buen código debe estar compuesto por elementos discretos bien escritos y legibles, pero en general, las diferentes partes del programa deben ser ortogonales, consistentes e interactuar claramente entre sí. Una novela también tiene que ser buena en los mismos dos niveles: micro y macro. Las oraciones deben estar bien escritas, pero la estructura general y la relación entre las partes también son críticas.



La relación menos estructurada entre la programación y la escritura es el motor que necesita para acercarse a uno u otro: para tener éxito, necesita progresar, y para progresar, necesita ser coherente. Todos están de acuerdo en que los programas y las novelas aún no se escriben por sí mismos. Veinte años de codificación me han ayudado mucho en este aspecto. Sabía que todo se mueve solo si te sientas y escribes todos los días: hoy cien palabras, al día siguiente dos mil, pero rara vez hay un día en el que ni siquiera escribo una palabra. Y si ha escrito un código que no es sólo un "relleno" para un sistema más grande, sino su propia creación, sabe que la crisis de escritura también ocurre en la programación. La única diferencia es que para la mayoría de las personas usted es un ingeniero, por lo tanto, si no está trabajando,entonces eres vago. La misma pereza en el artista tomará la forma de una parte fascinante del proceso creativo.



Diferencias.



Creo que la diferencia más obvia entre escritura y programación es que una vez escrita, editada y reelaborada, la novela permanece prácticamente sin cambios. Hay varios casos de escritores que regresan a sus novelas después de unos años, publicando versiones revisadas de ellas, pero este es un caso raro y, a menudo, aislado. El código evoluciona con el tiempo, sufriendo un sinfín de cambios, a menudo realizados por varias personas. Este simple hecho tiene un efecto profundo en ambos procesos: los programadores a menudo piensan que la primera versión del sistema puede ser muy imperfecta, todavía habrá tiempo para hacer mejoras. Por otro lado, los escritores saben que tienen una versión separada para cada novela, hasta el punto de que escribir prosa es básicamente un proceso de reescritura. Reescritura de frases, capítulos enteros, diálogos,ese sonido desafinado. Reescribiendo a veces dos, tres o incluso diez veces.



Creo que la programación en este sentido puede aprender algo de la escritura: cuando se escribe el primer núcleo de un nuevo sistema, cuando el creador original todavía está solo, aislado, puede hacer cualquier cosa, tiene que fingir que este primer núcleo es su única versión. Durante los primeros días del sistema, tendrá que reescribir este núcleo primitivo una y otra vez para encontrar el mejor diseño posible. Mi hipótesis es que este desarrollo inicial dejará bastante claro lo que sucede después: cultivar orgánicamente algo que tiene una buena estructura inicial conducirá a un mejor sistema, incluso después de unos años desde la creación inicial, e incluso si el núcleo original fue sólo una pequeña fracción de la masa futura que eventualmente aceptaría el sistema.



Si te interesa, te contaré brevemente sobre mi novela de ciencia ficción. Después de mucha introspección, envié el manuscrito a mi editor, Giulio Mozzi. Me enviará sugerencias para las revisiones en unas pocas semanas. Comenzaré un nuevo proceso de revisión basado en sus notas y, con suerte, finalizaré la novela en uno o dos meses. Entonces finalmente estaré listo para publicar la versión italiana. Mientras tanto, la novela revisada se enviará a mi traductora en los Estados Unidos, y cuando termine la traducción, también se publicará la versión en inglés. Es un viaje largo, pero me encantó.



All Articles