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

EVPL -->Türkçe Programlama Dili....

Debugger

Bir sabah kalkıp dünyayı değiştirebilir misiniz ? Bir programlama dili yazmaya soyunmaya, dahası paylaşmaya, paylaştırmaya ne dersiniz ?

\r\r \r\r Genç bir arkadaşımızın bu feryadı hakkında sözü olanlar eminim vardır. Umarım o da yaptığı işler hakkında bir URL verir bize ;) (Sundance)

StarLogo artık OpenStarLogo

FZ

StarLogo ekibinden Eric Klopfer'in dünkü bir e-posta iletisine göre 8 Haziran 2006 itibariyle StarLogo artık OpenStarLogo adı altında kamuya açık kodlu olarak sunulmaktadır.

OpenStarLogo web sitesinde sistemin hem kaynak kod dosyalarını hem de derlenmiş hallerini bulmak mümkün. Böylece tüm dünyadaki programcı camiasının OpenStarLogo ve dolayısı ile StarLogo'ya katkıları kabul edilirken StarLogo ekibi de StarLogo TNG üzerindeki çalışmalarına odaklanmaya devam edecek.

Java ve .NET : Derin Rekabet

FZ

Son günlerdeki anketleri inceleyen, yazışmalara,sorulara kulak ve göz misafiri olan FZ dayanamadı ve bulduğu bir röportajı tercüme ederek FM camiası ile paylaşmaya karar verdi. Söz konusu röportaj Java dünyasındaki en kıvrak ve yetkin firmalardan biri olma özelliğini halen koruyan BEA'nın Baş Teknoloji Sorumlusu (Chief Technology Officer - CTO) Dr. Scott Dietzen ile 13 Aralık tarihinde gerçekleştirilmiş. Dr. Dietzen Java camiasında, sunucu tarafındaki Java standartlarının geliştirilmesinde yani J2EE (Java 2 Enterprise Edition) teknolojisinin olgulaşmasındaki öncü rolü ile saygı duyulan bir isim. Kendisi aynı zamanda Java Community Process kurucularından. Bu röportajın ana konusu: Java, .NET, web servisleri, vs.

Relink: Temiz Bir Sistem, Temiz Bir Dünya

FZ

Relink her türlü UNIX ve uyumlu sistem üzerinde yazılım paketleriyle boğuşan yazılımcılar, sistem yöneticileri ve kullanıcılar için geliştirilmiştir. Evet bazı paketleme sistemleri iyidir (RPM), bazıları çok iyidir (DEB), bazıları ise değildir. Bazıları, yazılımı kaldırdığınıza ya da güncellediğinizde ortada bir sürü çöplük bırakır. Bazılarının betik dosyaları rezalettir. Bazıları ise kendi içinde bile eski sürümlerle uyumsuzluk gösterir. make uninstall her zaman mükemmel çalışmaz. Bazı kişiler zaten paket yönetim sistemleri ile uğraşmak istemez... Ama üzülmeyin çünkü Relink var, bunalımdaki ruhları içine düştükleri kaostan çıkarmaya aday bir yazılım!

Video: Smalltalk, bir video, bir IDE ya da test-driven development üstüne...

FZ

Eski Smalltalkçulardan Kent Beck, Test-Driven Development By Example kitabında genellikle Java ve çok az bir yerde de Python kullanıyor. Lakin üstadın zaman zaman hayıflandığını görüyoruz, "ah şimdi elimin altında Smalltalk, Smalltalk IDE ve Refactoring Browser" olsaydı diye.

Neden?

Belki de cevabı burada yatıyor: