Programlamanın Tao´su 5. ve 6. Kitap

0
FZ
5. Kitap - Bakım

Ve şöyle dedi usta programcı:

"Bir program üç satırı geçtiyse bir gün mutlaka bakıma ihtiyaç duyar."
5.1

İyi kullanılan bir kapıya yağ gerekmez.
Akan su kir tutmaz.
Ne düşünceler ne de sesler boşlukta hareket edebilir.
Kullanılmayan yazılım çürür.

Bunlar büyük sırlardır.

5.2

Bir müdür bir programcıya üzerinde çalıştığı programı ne kadar sürede bitirebileceğini sordu. "Yarın bitecek," diye cevapladı programcı tereddüt etmeden.

"Bu bana pek gerçekçi gelmedi açıkçası," dedi müdür. "Açık konuş, ne kadar sürer?"

Programcı durup biraz düşündü. "Eklemek istediğim bir iki özellik daha var. İki hafta alır," dedi.

"Bu bile iyimser bir beklenti!" diye ısrar etti müdür, "Bana kısaca programın ne zaman tamamlanacağını söyler misin?"

Programcı bunu kabul etti.

Yıllar sonra, müdür emekli oldu. Emekliliğini kutlama yemeğine çıkarken programcıyı bilgisayarı başında uyurken gördü. Sabaha kadar program yazmıştı.

5.3

Bir gün bir çırak programcıya bir muhasebe paketi yazma görev verildi.

Çırak günlerce deliler gibi çalıştı ancak usta programı incelediğinde sistemde bir ekran editörü, genelleştirilmiş grafik rutinleri, bir tür yapay zekâ arabirimi bulunduğunu gördü. Muhasebeye yönelik hiçbir şey yoktu.

Usta bu noktaya dikkat çekince çırak biraz bozuldu, "Lütfen bu kadar sabırsız olmayın, süreç içinde muhasebe fonksiyonlarını da ekleyeceğim."

5.4

İyi bir çiftçi ekinini ihmal eder mi?
İyi bir öğretmen en aptal öğrenciye bile kötü davranır mı?
İyi bir baba bir çocuğunu açlığa makhum eder mi?
İyi bir pogramcı programının bakımını yapmayı reddeder mi?

6. Kitap - Yönetim

Ve şöyle dedi usta programcı:

"Programcılar çok ve yöneticiler az olsun - o zaman herkes çok daha üretken olur."

6.1

Yöneticiler bitmek bilmeyen toplantılar yaparken programcılar oyun yazar. Muhasebeciler son dönem kârlarından bahsederken programcıların bütçesi kesilmek üzeredir. Bilimadamları gökyüzünden bahsederken ortalığı bulutlar kaplar.

Gerçekten de programlanın Tao'su bu değildir.

Yöneticiler kendilerini adadıklarında, oyun programları ihmal edilir. Muhasebeciler uzun dönemli plan yaptıklarında uyum ve düzen geri döner. Bilimadamları eldeki problemleri incelemeye başladıklarında problemler çözülür.

Gerçekten de programlamanın Tao'su budur.

6.2

Programcılar neden üretken değildir?
Çünkü vakitleri toplantılarda harcanır.

Programcılar neden isyankardır?
Çünkü yönetim işlerine çok fazla karışır.

Programcılar neden tek tek istifa ederler?
Çünkü kendilerini tüketilmiş hissederler.

Kötü yönetim için çalışmışlardır ve artık işlerine değer vermiyorlardır.

6.3

Bir yönetici kovulmak üzere iken onun için çalışan bir programcı yeni bir program geliştirdi, bu meşhur olup çok sattı ve yönetici yerini korudu.

Yönetici programcıya prim vermeye çalıştı ancak programcı reddetti ve dedi ki "O programı yazdım çünkü fikir hoşuma gitmişti, bu yüzden de ödül beklemiyorum."

Bunu duyan yönetici, "Bu programcı bir çalışanın görevlerini mükemmel bir şekilde anlamış durumda, o halde onu yönetici danışman yaparak onurlandıralım!" dedi.

Bunu duyan programcı bir kez daha reddetti ve dedi ki: "Benim varlık amacım programlamak. Terfi edersem herkesin vaktini çalarım. Şimdi bana müsaade. Üzerinde çalıştığım bir program var da."

6.4

Bir yönetici programcılarına gidip dedi ki: "İş saatlerinizle ilgili olarak, artık sabah 9'da gelecek ve akşam 5'te çıkacasınız." Bunu duyar duymaz çoğu programcı hemen oracıkta bastı istifayı.

Bunu gören yönetici dedi ki: "Pekala, pekala. O halde iş saatleerinizi kendiniz ayarlayın, proje zamanında yetiştiği sürece özgürsünüz." Tatmin olan programcılar öğlen gelip sabahın erken saatlerine dek çalışmaya başladılar.

Görüşler

0
elrond
Yaw FZ Win2K Azerice topikinde Her S/W de Bug olur olmazsa olmaz diye yazdığımda, kimin patchleri fazla kimin az s***k yarışı başladığında neredeydi bu yazı ;-)

Bir kerede oturup dairenin alanını hesaplayan program yazın, kod ilk bittiğinde çalışırsa bir şeyler yanlış gidiyordur.
0
sundance
Hadi len orada haksızsın alenen :) Tabi ki her S/W`de bug olur ama bizim burada bahsettigimiz ısrarla koskocaman bir Bug`da (WinDos) S/W kırıntıları aramak :) O olmuyor işte.
Programcılıgın TAO`suna gelince, COBOL hakkındaki satırı Windows`a uygulayıver ;)
0
FZ
Tarih: 2002, şubat.
Yer: Bir tanıdığın ablasının evi. Abla ile diyalog.

-Hmm, demek Hacettepe Matematik'te okudun. Ne güzel. Nerede çalışıyorsun?
-Türkiye İş Bankası'nda. Programcı olarak.

Kahvesinden bir fırt çeken FZ dayanamayıp sorar:

-Hmm, peki hangi programlama dilini kullanıyorsunuz?
-COBOL

Kahvesinden çektiği fırtı püskürtmemek için kendini zor tutan FZ'nin şaşkınlığı yüzünden okunmaktadır. Genç kız ise sakindir.

-Nasıl yani? COBOL mu?
-Evet.
-Peki ya veritabanı falan?
-COBOL ile yazılmış bir veritabanı kullanıyoruz. Büyük IBM Mainframe sistemler falan.

FZ sessizce kahvesini içerken derin bir tefekküre dalar...
0
conan
cobol'un yaraticisi bilim kadininin adina yapilan bir parkin arkasinda oturuyorum :)
0
FZ
Ben de bazen okuldaki Ada Lovelace bilgisayar laboratuvarının önünden geçiyorum ;-) [Alan Turing laboratuvarından az ileridee ;-) ]
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Mac OS X için Rebol

FZ

Rebol Technologies, REBOL programlama ortamının Mac OS X sürümünü çıkardığını duyurdu. REBOL dili ve IOS (Internet Operating System) ile ilgili daha detaylı bilgiyi buradaki belgelerden edinebilirsiniz.

C Kodlarınız Assembly Dilinde Nasıl Görünür?

Soulblighter

Kodlarınızın Assembler karşılığını görmek isterseniz gcc'ye -S anahtarını girmeniz yeterli. Sonucu merak edenler, bu haberin kaynağı olan bu siteye bakabilir.

Squeak by Example: Açık Squeak Kitabı

zekzekus

Smalltalk-80 programlama dilinin ve ortamının açık kaynak kodlu bir gerçekleştirimi olan Squeak için açık bir kitap projesi ilk çıktısını vermek üzere.

Ruby Nesnelerine Kalıcılığı Öğretmek

anonim

Dünyada en çok sevilen programlama dili olduğu söylenen Ruby ile sunucu taraflı uygulama geliştirmek için elimizde RoR gibi kullanması çok kolay ve işlevsel bir arayüz var.

Peki ya masaüstü uygulamalarımız için Hibernate benzeri kalıcık araçları karşısında Ruby'de alternatif yok mu?

Tabii ki var. Og (Object Graph) ile Ruby nesnelerine nasıl kalıcı olacaklarını öğretmek çok kolay olsa da, bu makale ile daha kolay olacak.

Hoş Bir TGE

anonim

C için pek çok geliştirme ortamı var bilinen ancak ben karşılaştığım bu hoş TGE yi (Tümleşik Geliştirme Ortamı) paylaşmak istedim. Adı Code::Blocks. GPL 2.0 lisanslı bu TGE pek çok gelişmiş özelliği içinde barındırıyor. Code::Blocks GNU/Linux ve Windows ortamlarında çalışabiliyor. Ayrıntılı bilgi için buraya bakabilirsiniz.