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

Quantum bilgisayarlar için programlama dili...

lalapoo

Bilim Teknik ya da herhangi bir bilgisayar dergisinde mutlaka quantum bilgisayarlarla ilgili bir yazı okumuş bir fikir sahibi olmuşuzdur.

Mesela bit kavramı yerine Qubitlerin kullanıldığı,şimdiki bilgisayarlardan 1,000,000,000 kez daha hızlı olacağı, çok daha az enerji harcayacağı ve bunun gibi daha birçok şey.Ama bütün bu bilgiler havada duruyor ve quantum bilgisayar kavramı bizim için soyut olmaktan öteye geçemiyor.Bu yetmezmiş gibi şu sıralarda quantum bilgisayarlar için bir de programlama dili geliştiriliyor.

Quantum Computation Language

Javacılar İşleri Neden Zorlaştırıyor? (Ya da Perl, Haskell ve Lisp Üstüne)

FZ

Değerli FM üyelerinden ve editörlerinden Recai Oktaş ile programlama dilleri üzerine yazışırken bazı enteresan yazılarla karşılaştım. Konu dillerin bir araç olarak kullanımından bir kültür olarak nasıl bir bakış açısı sunduklarına geldi.

Söz gelimi 5 yılı aşkın süredir Java kodlayan, Java ile ilgili 2 kitabı bulunan ve Jakarta Struts projesinde aktif katılımcı olan James Turner'ın Why Do Java Developers Like to Make Things So Hard? başlıklı yazısı ilk paragraftaki duruma güzel bir örnek teşkil ediyordu. Turner kendince basit olan bir işi, FTP ile dosya yollamayı şifreli hale getirme işini Java ile yapmaya çalışmış ve ciddi bir karmaşa ile karşılaşmıştı. Aynı işi daha az deneyimli olduğu Perl ile yapmaya kalktığında ise...

Lux Render: Özgür, Fiziksel Tabanlı Render Sistemi

Tarık

Windows ortamında üç boyutlu grafik işiyle iştigal edenlerin GNU/Linux dağıtımlarını tercih 'edememelerinin' birinci nedeni çoğu zaman, yüksek gerçekçilikte görsel çıktı sağlayabilen ve piyasayla yarışabilecek kalitede render sistemlerinin mevcut olmamasıdır.

Fakat durum artık eskisi gibi değil ve ortalık kızışacak gibi. Zira işte tam bu noktada Lux Render dediğimiz alet devreye giriyor ve Maxwell Render gibi paralı akranlarıyla boy ölçüşebilecek kalitede, ışığın fizikteki kurallarını benzetimleyerek çalışıyor ve gerçekten işe yarıyor gibi görünüyor. Hem de bedava. Hem de açık kaynak kodlu.

CD Player ararken...

conan

Demin monster`ıma CD Player arıyordum (monster benim penguenin adi) console based olmayan, grafik arabirimli, CDDB ozelliği olan ekranda da fazla yer tutmayacak bi program bakınıyordum. grip ile karşılaştım. Çok cici bir arabirimi var. Sonra bir baktım CD-RiP, RiP+Encode gibi özellikleri de varmış. lame, cdparanoia gibi toolları toparlayıp, güzel bir arabirimde sunmuşlar. binary dosya stripped halde 454 K. GUI yaratmak için GTK kullanılmış. İçinde built-in Help menüsü de çıkıyor ki bu beni şaşırttı biraz :) Help`i çalıştırdım şimdi... Nautilus açıldı! Ne alakaysa. :)) [Naklen yayın oldu biraz]

Neyse en sevdiğim yönü ise küçük bir şekilde bi kenara koyup da sakin sakin çalmasını sağlayabiliyorsunuz. Bence oldukça güzel bir program. Herkeslere tavsiye ediyorum. Özellikle benim gibi CD dinlemeyi seviyorsanız. blackbox menüme hemen ekledim :) Sayfada screenshot`lar var.

Müzikli günler.

Rakun XML Uygulama Platformu 0.3.2 Çıktı

evolution

Web tabanlı kurumsal uygulamaları (ERP, MRP, CRM, v.b.) XML yapısında geliştirme altyapısını sunan Rakun Platformu 0.3.2 sürümüne ulaştı. Detaylı bilgi için buraya tıklayabilirsiniz.