Programação e escrita

Há um ano parei minha carreira de programação e comecei a escrever um romance pensando que minha nova atividade era muito diferente da anterior. Depois de muitas palavras escritas, mas mais frequentemente reescritas, tenho quase certeza do oposto: programar grandes sistemas e escrever romances têm muitas semelhanças e processos semelhantes.



O paralelo mais óbvio entre os dois é que em ambos você escreve algo. Código não é prosa escrita em linguagem natural, mas tem um conjunto de regras fixas (gramática), certas formas que a maioria dos programadores achará naturais e outras formas, embora formalmente corretas, parecerão difíceis de entender.



No entanto, há uma conexão muito mais profunda entre essas duas atividades: um bom programa e um bom romance são a soma de elementos locais e globais que funcionam bem. Um bom código deve ser composto de elementos discretos bem escritos e legíveis, mas, em geral, as diferentes partes do programa devem ser ortogonais, consistentes e interagir claramente umas com as outras. Um romance também precisa ser bom nos mesmos dois níveis - micro e macro. As frases precisam ser bem escritas, mas a estrutura geral e a relação entre as partes também são críticas.



A relação menos estruturada entre programação e escrita é o motor de que você precisa para se aproximar de um ou de outro: para ter sucesso, você precisa progredir, e para progredir, você precisa ser consistente. Todos concordam que os programas e romances ainda não foram escritos por conta própria. Vinte anos de programação me ajudaram muito nesse aspecto. Eu sabia que tudo se move apenas se você sentar e escrever todos os dias: hoje cem palavras, no dia seguinte duas mil, mas raramente há um dia em que eu nem escrevo uma palavra. E se você escreveu um código que não é apenas "preenchimento" para um sistema maior, mas sua própria criação, você sabe que a crise de escrita também ocorre na programação. A única diferença é que para a maioria das pessoas você é engenheiro, portanto, se não estiver trabalhando,então você é preguiçoso. A mesma preguiça do artista assumirá a forma de uma parte fascinante do processo criativo.



Diferenças.



Acredito que a diferença mais óbvia entre escrever e programar é que uma vez escrito, editado e retrabalhado, o romance permanece praticamente inalterado. Existem vários casos de escritores que retornaram aos seus romances depois de alguns anos, publicando versões revisadas deles, mas isso é raro e freqüentemente um caso isolado. O código evolui com o tempo, passando por um fluxo interminável de mudanças, geralmente realizadas por várias pessoas. Este simples fato tem um efeito profundo em ambos os processos: os programadores costumam pensar que a primeira versão do sistema pode ser muito imperfeita, ainda haverá tempo para fazer melhorias. Por outro lado, os escritores sabem que têm uma versão separada para cada romance, a tal ponto que escrever prosa é basicamente um processo de reescrita. Reescrever frases, capítulos inteiros, diálogos,aquele som desafinado. Reescrevendo às vezes duas, três ou até dez vezes.



Acredito que a programação nesse sentido pode aprender algo escrevendo: ao escrever o primeiro núcleo de um novo sistema, quando o criador original ainda está sozinho, isolado, pode fazer qualquer coisa, ele tem que fingir que esse primeiro núcleo é sua única versão. Durante os primeiros dias do sistema, ele terá que reescrever esse kernel primitivo várias vezes para encontrar o melhor design possível. Minha hipótese é que este desenvolvimento inicial deixará bem claro o que acontece depois: o crescimento orgânico de algo que tem uma boa estrutura inicial levará a um sistema melhor, mesmo depois de alguns anos da criação inicial, e mesmo se o núcleo original fosse apenas uma pequena fração da massa futura que o sistema acabaria por aceitar.



Se você estiver interessado, contarei brevemente sobre meu romance de ficção científica. Depois de muita introspecção, enviei o manuscrito ao meu editor, Giulio Mozzi. Ele vai me enviar sugestões de revisões em algumas semanas. Vou iniciar um novo processo de revisão com base em suas notas e, com sorte, finalizar o romance em um ou dois meses. Então, finalmente, estarei pronto para publicar a versão italiana. Nesse ínterim, o romance revisado será enviado para minha tradutora nos Estados Unidos e, quando ela terminar a tradução, a versão em inglês também será publicada. É uma longa jornada, mas adorei.



All Articles