Setahun yang lalu, saya menghentikan karir pemrograman saya dan mulai menulis novel dengan pemikiran bahwa aktivitas baru saya sangat berbeda dari yang sebelumnya. Setelah banyak kata ditulis, tetapi lebih sering ditulis ulang, saya hampir yakin sebaliknya: pemrograman sistem besar dan penulisan novel memiliki banyak kesamaan dan proses yang serupa.
Persamaan yang paling jelas antara keduanya adalah bahwa di keduanya, Anda menulis sesuatu. Kode bukanlah prosa yang ditulis dalam bahasa alami, tetapi memiliki seperangkat aturan tetap (tata bahasa), bentuk-bentuk tertentu yang menurut sebagian besar programmer akan dianggap alami, dan bentuk lain, meskipun secara formal benar, akan tampak sulit untuk dipahami.
Namun, ada hubungan yang jauh lebih dalam antara kedua kegiatan ini: program yang baik dan romantisme yang baik adalah gabungan dari elemen lokal dan global yang berfungsi dengan baik. Kode yang baik harus terdiri dari elemen diskrit yang ditulis dengan baik dan dapat dibaca, tetapi secara umum, bagian yang berbeda dari program harus ortogonal, konsisten, dan berinteraksi secara jelas satu sama lain. Sebuah novel juga harus bagus di dua level yang sama - mikro dan makro. Kalimat harus ditulis dengan baik, tetapi keseluruhan struktur dan hubungan antar bagian juga penting.
Hubungan yang kurang terstruktur antara pemrograman dan penulisan adalah mesin yang Anda butuhkan untuk lebih dekat satu sama lain: untuk menjadi sukses, Anda perlu membuat kemajuan, dan untuk membuat kemajuan, Anda harus konsisten. Semua orang setuju bahwa program dan novel belum ditulis sendiri. Dua puluh tahun coding telah banyak membantu saya dalam aspek ini. Saya tahu bahwa semuanya bergerak hanya jika Anda duduk dan menulis setiap hari: hari ini seratus kata, hari berikutnya dua ribu, tetapi jarang ada hari ketika saya bahkan tidak menulis sepatah kata pun. Dan jika Anda telah menulis kode yang bukan hanya "pengisi" untuk sistem yang lebih besar, tetapi juga kreasi Anda sendiri, Anda tahu bahwa krisis penulisan juga terjadi dalam pemrograman. Satu-satunya perbedaan adalah bahwa bagi kebanyakan orang Anda adalah seorang insinyur, oleh karena itu, jika Anda tidak bekerja,maka kamu malas. Kemalasan yang sama pada artis akan menjadi bagian yang menarik dari proses kreatif.
Perbedaan.
Saya percaya perbedaan paling jelas antara menulis dan pemrograman adalah bahwa setelah ditulis, diedit, dan dikerjakan ulang, novel ini sebagian besar tetap tidak berubah. Ada beberapa kasus penulis kembali ke novel mereka setelah beberapa tahun, menerbitkan versi yang direvisi, tetapi ini jarang terjadi dan seringkali merupakan kasus yang terisolasi. Kode berkembang dari waktu ke waktu, mengalami aliran perubahan yang tidak ada habisnya, sering kali dilakukan oleh beberapa orang. Fakta sederhana ini berdampak besar pada kedua proses: programmer sering berpikir bahwa versi pertama sistem mungkin sangat tidak sempurna, masih ada waktu untuk melakukan perbaikan. Di sisi lain, penulis tahu bahwa mereka memiliki satu versi terpisah untuk setiap novel, sampai-sampai menulis prosa pada dasarnya adalah proses penulisan ulang. Menulis ulang kalimat, seluruh bab, dialog,suara itu tidak selaras. Menulis ulang terkadang dua, tiga atau bahkan sepuluh kali.
Saya percaya bahwa pemrograman dalam hal ini dapat belajar sesuatu dari penulisan: ketika menulis inti pertama dari sistem baru, ketika pembuat aslinya masih sendiri, terisolasi, dapat melakukan apa saja, ia harus berpura-pura bahwa inti pertama ini adalah satu-satunya versinya. Selama hari-hari awal sistem, ia harus menulis ulang kernel primitif ini berulang kali untuk menemukan desain terbaik. Hipotesis saya adalah bahwa perkembangan awal ini akan memperjelas apa yang terjadi nanti: menumbuhkan sesuatu secara organik yang memiliki struktur awal yang baik akan mengarah pada sistem yang lebih baik, bahkan setelah beberapa tahun sejak pembuatan awal, dan bahkan jika inti aslinya adalah hanya sebagian kecil dari massa masa depan yang akhirnya akan diterima oleh sistem.
Jika Anda tertarik, saya akan ceritakan secara singkat tentang novel fiksi ilmiah saya. Setelah banyak introspeksi, saya mengirim naskah ke editor saya, Giulio Mozzi. Dia akan mengirimi saya saran untuk revisi dalam beberapa minggu. Saya akan memulai proses review baru berdasarkan catatannya dan mudah-mudahan novel ini bisa diselesaikan dalam satu atau dua bulan. Kemudian akhirnya saya siap untuk menerbitkan versi Italia. Sementara itu, novel yang direvisi akan dikirim ke penerjemah saya di Amerika Serikat, dan setelah terjemahannya selesai, versi bahasa Inggrisnya juga akan diterbitkan. Ini perjalanan yang panjang, tapi saya menyukainya.