Programlamanın Tao´su 1. ve 2. Kitap

0
FZ
1. Kitap - Sessiz Boşluk

Ve şöyle dedi usta programcı: "Sadece TCP/IP kullanarak uzaktaki makinanın işletim sistemini anlayabildiğinde tapınaktan ayrılmanın zamanı gelmiş demektir."
1.1

Sessiz boşlukta gizemli bir şey oluştu. Tek başına hareketsiz bekleyen o şey yine de sürekli hareket halindedir. Tüm programların özünde yer alır o. Adını bilmiyorum onun, bu yüzden Programlanın Taosu diyeceğim.

Tao büyükse işletim sistemi büyüktürr. İşletim sistemi büyükse derleyici büyüktür. Derleyici büyükse uygulama büyüktür. Kullanıcı mutludur ve dünyada uyum hüküm sürer.

Programlamanın Taosu uzaklara gider ve sabah rüzgarı ile geri döner.

1.2

Tao makina dilini doğurdu. Makina dili assembler'ı doğurdu.

Assembler derleyiciyi doğurdu. Şimdi ortalıkta onbin tane programlama dili var.

Ne kadar alçakgönüllü olsa da her dilin bir amacı vardır. Her dil yazılımın Yin ve Yang'ını ifade eder. Her dilin Tao içinde bir yeri vardır.

Ancak mümkünse COBOL ile programlamayın.

1.3

Başlangıçta sadece Tao vardı. Tao Mekânı ve Zamanı doğurdu. Bu yüzden Zaman ve Mekân programlamanın Yin ve Yang'ıdır.

Tao'yu anlamayan programcılar programları için bir türlü yeterli zamana ve mekana sahip olmazlar. Tao'yu anlayan programcılar ise hedeflerine varmak için gerekli zamana ve mekana daima sahiptirler.

Başka türlü nasıl olabilirdi ki?

1.4

Bilge programcıya Tao'dan bahsedildiğinde onu takip eder. Ortalama programcıya Tao'dan bahsedildiğinde onu araştırma gereği duyar. Aptal programcıya Tao'dan bahsedildiğinde kahkahalarla güler.

Eğer gülmezse, duyduğu gerçek Tao değildir.

En yüksek ses işitilmesi en zor olandır.
İleri gitmek geri çekilmeye götürür.
Büyük yetenek kendini olgunlukta gösterir.
Mükemmel bir programın bile hataları vardır.

2. Kitap - Eski Ustalar

Şöyle dedi usta programcı:

"Üç gün program yazma ve hayat anlamsızlaşır."

2.1

Eski zamanlarda yaşayan programcılar gizemliydi. Onların düşüncelerini takip edebilmemiz mümkün değil, bu yüzden sadece görünüşlerini tarif etmekte yetineceğiz.

Suyu geçen bir tilki gibi uyanık. Savaş meydanındaki general gibi dikkatli. Misafirlerini ağırlayan ev sahibi gibi nazik. Yontulmamış tahta blok gibi basit. Derin mağaralardaki sular gibi karanlık.

Onların kalplerindeki ve kafalarındaki sırları kim bilir?

Cevap sadece Tao'dadır.

2.2

Büyük usta Turing bir gün rüyasında bir makina olduğunu gördü ve uyandığında dedi ki: "Bilmiyorum ki acaba ben rüyasında bir makina olduğunu gören Turing miyim yoksa Turing olduğunu gören bir makina mıyım!"

2.3

Büyük bir firma için çalışan bir programcı bir yazılım konferansına gider ve sonra dönüp müdürüne rapor verir: "O firmalarda çalışan programcılar nasıl insanlar! Kötü davranıyorlardı ve dış görünüşleri ile ilgilenmiyorlardı. Saçları uzun, giysileri eski püskü, kırış kırıştı. En güzel odamızı batırdılar ve benim prezentasyonum esnasında gürültü yapıp durdular."

Müdür bunun üzerine dedi ki: "Seni oraya asla göndermemeliydim! O programcılar fiziksel dünyanın ötesinde yaşarlar. Hayatı saçma, bir tür tesadüf kabul ederler. Sınır tanımaksızın hareket ederler. Sadece programları için yaşarlar. Neden toplumsal kurallara uysunlar ki?...

Onlar Tao'nun içinde yaşarlar."

2.4

Bir çırak ustaya sordu: "Bak şurada bir programcı var, hiç tasarım yapmadan program yazıyor, dokümantasyon hazırlamıyor ve test etmiyor. Ancak kimi gördüysem onun dünyadaki en iyi programcı olduğunu söylüyor. Bu nasıl olabilir?"

Usta cevap verdi: "O programcı Tao'yu bilir. Tasarım kaygısını aşmıştır, sistem göçtüğünde öfkelenmez, evreni olduğu gibi kabul eder. Dokümantasyon kaygısın aşmıştır, bir başkasının onun koduna bakıp bakmaması umurunda değildir. Test etme kaygısını da aşmıştır çünkü yazdığı her program kendi içinde mükemmel, şık ve rahattır, amaçları hemen belli eder kendini. Evet, gerçekten de o Tao'nun gizemlerine ermiştir."

Devam edeyim mi? ;-)

Görüşler

0
butch
etmelisin
0
tongucyumruk
Kesinlikle devam... Daha birkac gün önce Unofficial Delphi Developer's FAQ'da aynı metnin ingilizcesine rastlamıştım... daha yeni başlamıştım okumaya bir anda bu haberi girdin... İngilizcesini zaten okuyorum türkçesi de sanıyorum ki çok iyi bir kaynak olacaktır...
0
ebola
çook güzel, devamini merakla bekliyoruz..
0
python
devam etmelısın ewt ewt devam et bencede ...
0
Tone

14 Yıl sonra Devam Edermi Acep ?.

0
Tone

Ben -manasız bir şekilde nedendir bilmiyorum ama -14 yıl önceki posta yorum yazarak tozunu almak istemiştim. :) Sonu.ta 14 yıllık bir blog yazısı. Her zaman görülmüyor. Neyse.. Bu arada diğer seriyide öğrenmiş oldum. Onlarıda okuyacağım hemen. Teşekkürler..

0
butch

İyi yaptınız. Sayenizde etraflıca tozunu almış olduk serinin :)

Görüş belirtmek için giriş yapın...

İlgili Yazılar

NVU - web tasarım aracı

anonim

Artık Linux için de Frontpage ve Dreamwever gibi WYSIWYG web sitesi hazırlamayı sağlayan bir program var. Kahramanımızın adı NVU.
Her ne kadar henüz download aşamasına bile gelememiş olsa da GPL olması açısından önemli bir adım.

Not: Ben yine de Quanta'yı öneririm. :)

0x7D3, Perl, NTP, vs.

FZ

Yeni yılda FM için yazacağım ilk makaleye başlamadan önce tüm okurlara ve katılımcılara barış dolu bir ömür diliyorum.

Bilen bilir zaman konusunda biraz hassasımdır. Hayır yani aşırı değil ama benimle "adama bak, ofisteki PC saatini California'daki bir atom saatine göre senkronize ediyor, deli midir nedir?" şeklinde dalga geçilmesine yol açacak kadar hassasım :).

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri

FZ

Geçen sene Eylül ayında, Volkan Yazıcı programlama dünyasının sıcak konularından biri olan tasarım şablonlarına yani 'design patterns' konusuna değinmişti:

Merhaba, comp.lang.lisp listesinde "This may be a nonsensical question, but I was wondering if it is idiomatic to apply common design patterns to lisp applications." kaşıntısı ile başlayan bir tartışmalar dizisi oldukça ilgimi çekti -- şüphesiz ki bunda bu dönem almaya başladığım Aspect-Oriented Software Development dersinin de etkisi olmuştur -- ve sizin ile oradan çok ufak bir mesajı paylaşmak istedim.


Tasarım Şablonları, nam-ı diğer Design Patterns mevzusu epey bir süredir sıcak konular arasında. Bu gibi durumlarda sık sık karşılaştığımız gibi konu basit bir teknik konu olmaktan çıkıp pek çok yanlış anlamayı, çok çeşitli felsefi bakış açılarını, alakasız yerlere dallanıp budaklanmayı, düpedüz mantıksal hataları, politik ve ekonomik savaşları bünyesinde barındırmaya başlıyor. Acaba neden?

NZemberek 0.1 Çıktı

FZ

Zemberek blogundaki habere göre .NET için C# ile geliştirilen açık ve özgür kodlu yazım kılavuzu NZemberek çıktı:

"17 Kasım 2006'da Mehmet'e gönderdiğim bir e-posta ile başlayan çalışmamızın ilk ürününü bugün ortaya çıkardık. Zemberek projesinin .NET "port"u olan NZemberek'in 0.1 sürümü bugün itibariyle yayınlandı. 17 Kasım'dan sonra kodların .NET (C#) karşılıklarını oluşturduk. Bu iş, bazı araçları ya da otomatikleştirilmiş komutları kullanarak ne kadar hızla yapılsa da birçok zorlukla karşılaşılabiliyor. Zemberek ekibinin de desteğiyle şu anda Zemberek2 projesinin işlevlerini neredeyse tamamıyla yerine getiren bir sürüm mevcut.

Google MapReduce İlerleme mi Gerileme mi?

FZ

Geçenlerde Yahoo'da veri analizi üstüne güzel bir sunum veren Facebook veri anali şefi Jeff Hammerbacher günlüğünde Google MapReduce'u feci eleştiren bir makaleye yer vermiş: MapReduce: A major step backwards.