Kodlama etiketine sahip kayıtlar gösteriliyor.
Kodlama etiketine sahip kayıtlar gösteriliyor.

Programlamanın Taousu - 4. Kitap - Kodlama


Ve şoyle dedi usta programcı: "İyi yazılmış bir program kendi içinde bir cennettir, kotu bir program ise cehennemin ta kendisi."

4.1
Bir program hafif ve çevik olmalıdır. Alt rutinleri inci dizileri gibi bağlanmalıdır. Programın ruhu ve amacı surekli goz onunde bulundurulmalıdır. Fazla ya da az olmamalı, gereksiz donguler ve değişkenler kullanılmamalıdır. Ancak yapıdan yoksunluk ya da değiştirilemez bir katılık da bulunmamalıdır.

Bir program "En Kuçuk Şaşkınlık" yasasını takip etmelidir. Nedir bu yasa? Program kullanıcıya daima onu en az şaşırtacak şekilde cevap vermelidir.
Bir program, ne kadar karmaşık olursa olsun, tek bir birim gibi çalışmalıdır. Program dış gorunuşu tarafından değil içsel mantığı tarafından yonlendiriliyor olmalıdır.
Eğer program bu ihtiyaçları karşılamazsa duzensizlik ve karmaşa hakim olur. Bunu duzeltmenin tek yolu programı yeniden yazmaktır.

4.2
Bir çırak ustaya sordu: "Bazen çalışan, bazen de çoken bir programım var. Programlama kurallarına uydum ama gene de apışıp kaldım. Bunun sebebi ne olabilir?"

Usta şoyle cevapladı: "Kafan karışmış çunku Tao'yu anlamıyorsun. Sadece bir insan etrafındaki insanlardan rasyonel davranışlar bekler. Sen neden aynı şeyi insanların yaptığı bir makinadan bekliyorsun? Bilgisayarlar determinizmi sadece simule ederler, mukemmel olan ise sadece Tao'dur.
Programlama kuralları geçicidir. Sadece Tao kalıcıdır. Bu yuzden aydınlanabilmek için once Tao'yu kavramalısın."

"Peki ama aydınlandığımı nasıl anlayacağım?" diye sordu çırak.
Usta cevap verdi: "Programın duzgun çalışacak."

4.3
Bir usta çıraklardan birine Tao'nun doğasını anlatıyordu: "Tao tum yazılımların içinde vardır, ne kadar kuçuk olurlarsa olsun bu yazılımlar."

"Bir hesap makinasında Tao var mıdır?" diye sordu bir çırak.
"Vardır."
"Peki bir video oyununda da var mıdır Tao?" diye devam etti çırak.
"Bir video oyununda bile vardır," dedi usta.
"Peki, kişisel bilgisayardaki Windows sisteminde de Tao var mıdır?" diye sordu çırak.
Usta oksurdu, boğazın temizledi, biraz kımıldandı ve "Bugunku dersimiz bu kadar," dedi.

4.4
Prens Wang'ın programcısı yazılım kodluyordu. Parmakları klavye uzerinde dans ediyor, programları tek bir hata mesajı olmadan derleniyor ve ruzgar gibi çalışıyordu.

"Mukemmel!" diye bağırdı Prens. "Tekniğin kusursuz!"
"Teknik mi?" dedi programcı ve terminalinden yukarı doğru baktı. "Benim takip ettiğim şey Tao'dur - tum tekniklerin otesinde. Programlamaya ilk kez başladığımda tum problemi tek bir kutle gibi goruyordum. Aradan yıllar geçtikten sonra o kutleyi gormuyorum. Bunun yerine alt rutinler kullanıyordum. Ancak şimdi artık hiçbir şey gormuyorum. Tum varlığım şekilsiz bir boşluk gibi. Ruhum plansız programsız, içgudulerini takip ederek ozgurce çalışabiliyor. Kısaca programım kendi kendini yazıyor. Evet, doğru, bazen guç problemlerle karşılaştığım oluyor. Onların geldiğini goruyorum ve yavaşlayıp sessizce izliyorum. Sonra tek bir satırı değiştiriyorum ve problemler duman gibi uçup gidiyor. Programı derliyorum ve yapılan işin guzelliği varlığıma işliyor. Gozlerimi kapatıyorum ve sonra sistemden çıkıyorum."

Bunun uzerine Prens Wang dedi ki "Keşke tum programcılarım senin kadar bilge olsaydı."