August 26, 2009

Bu yazıyı daha önce bir blogda (http://sevalunver.blogspot.com/2009/01/bilgisayar-duayenleri-ile-yapilmi-gzel.html) okumuştum. Blog sahibi tarafından Türkçeye çevrilmiş.Tekrar bu yazıya denk gelince paylaşmak istedim. Yazının aslına burdan (http://www.stifflog.com/2006/10/16/stiff-asks-great-programmers-answer/) ulaşabilirsiniz.

Ilık ve sıkıcı bir yaz öğleni, kendi kendine düşünen bir üniversite öğrencisinin aklına şahane bir fikir gelmiş. Aklına gelen bir kaç soruyu önemli bilgisayarcılara postalamış. Ve bir çoğundan ilginç cevaplar almış. İşte o 2006 yazında bilgisayar ve programlama camiasının cevaplanmış olduğu sorular ve cevapları..

Okurken hem çok eğlenecek ve bilgilenecek hem de çok şaşıracaksınız. Öğrencimiz soruları seçerken "Eğer yüzyüze konuşsaydım, neler sorardım?" diye düşünmüş ve ortaya da işte bu güzel ve ilginç röportaj çıkmış. Programlamayı nasıl öğrendiklerinden geleceğin teknolojilerine, favori kitaplarından müzik gruplarına kadar çeşitli sorular ve cevaplarını okurken çok seveceksiniz. Önce cevapları veren o başrol insanlarını tanıyalım:

Linus Torvalds - "Linux" çekirdeğinin (kernel) yazarı, web sayfası: www.linux.org

Dave Thomas - “Pragmmatic Programmer”, “Programming Ruby” ve daha birçok harika programlama kitaplarının yazarı. Programlama ile ilgili düşünceleri de şu adreste mevcut: http://blogs.pragprog.com/cgi-bin/pragdave.cgi

David Heinemeier Hansson - "the Rails Framework - the new hot web development framework"'un yazarı. Onun weblog adresi: http://www.loudthinking.com/

Steve Yegge - Muhtemelen buradaki en son tanınan kişi o, fakat en ilginç cevapları veren de o. Kendisi çok ünlü bir bloga sahip: http://steve-yegge.blogspot.com/ . Ayrıca “Wyvern” adlı bir oyunun da yazarı.

Peter Norvig - Google'da araştırmacı yönetmen (Research Director), peltek konuşması ile bilinen bir kişi, AI hakkındaki ünlü kitapların da yazarı. Web sayfası: http://www.norvig.com/

Guido Van Rossum - "Python" dilinin yaratıcısı : http://www.python.org/

Bjarne Stroustrup - "C++" dilinin yaratıcısı, web sayfası: http://www.research.att.com/~bs/

James Gosling - "Java" dilinin yaratıcısı : http://java.sun.com/

Tim Bray - XML ve Atom belirtimlerinin yazarlarından biri vede bir blog yazarı : http://www.tbray.org/ongoing/

Gelelim asıl içeriğe:

'- Programlamayı nasıl öğrendiniz? Herhangi bir okulda mı? Veya belki de bir okul bitirmekle alakalı olmadığını mı düşünüyorsunuz?'

Steve Yegge:

17 yaşımdayken, kendi kendime HP hesap makinesi üzerinde RPN yığın dili ile program yazmayı öğrendim. Bundan önce bir kaç kez programlama öğrenmeye çalışmıştım fakat gerçekten "anlama"mıştım. HP 28c and 48g bilimsel hesap makineleri oldukça güçlü ve ayrıca harika belgelere sahip. Nasıl çalıştığını anladığım zaman, 48g için bir 3D wireframe izleyici yazdım. Pascal'dan RPN yığın diline bin zahmetle çevrilen bir örnek ve 3D grafikleri üzerine yazılmış bir kitap aldım. O örneği çalıştırmak benim için çok eğlenceliydi. Bir PC ve Turbo Pascal satın aldıktan sonra programlamaya daha ciddi çalışmaya başladım. Üniversitede Bilgisayar Bilimleri(Computer Science) bölümüne başladığımda, ben zaten adam gibi oldukça iyi bir programcıydım.
Ben Washington üniversitesine gittim ve bölümümde iyi bir dereceyle bitirdim. Buna tamamiyle değdi, ve bütün programcılara eğer mümkünse böyle bir bölümden diploma almalarını tavsiye ederim.

Linus Torvalds:

Ben okulda programlama öğrenmedim, fakat genellikle kendi okuduğum kitaplardan ve sadece deneyerek(başlangıçta Commodore VIC-20 üzerinde, daha sonraları Sinclair QL üzerinde) öğrendim.
Bence özellikle üniversite çok faydalı. Ben bir mühendislik okuluna gitmek yerine, daha çok teorik bilgiler veren Helsinki Üniversitesine gittim. Bu yüzden öğretim programımızda programlamadan çok(çok küçük bir bölümü programlama ile ilgiliydi), ana kavramlar ve karmaşıklık analizi ile ilgili dersler vardı.
Bu sanki sıkıcı ve zaman kaybı gibi gözükse de, bence çok faydalıydı ve bir çoğu eğlenceliydi. Bence, ben muhtemelen bu dersler sayesinde iyi bir programcıyım.

David Heinemeier Hansson:

Kendi ilk web sayfamı HTML içine koymaya başlayarak programa öğrendim. Sonra dinamik bazı şeyler yapmak istedim ve ilk ASP sonra PHP aldım. Nasıl program yapılır öğrendikten sonra, Bilgisayar Bilimleri ve İşletme bölümlerine girdim.

Peter Norvig:

Lisede ve üniversitede dersler aldım, fakat her zaman kendi kendime daha çok öğrendiğimi hissetmişimdir.

Dave Thomas:

Liseden sonra, bir yerel teknik üniversitede bilgisayarlar üzerine bir derse girdim. Bu beni programlamaya tamamen bağladı: programlamaya aşık oldum, ve etraftan yazılım üzerine dersler veren üniversiteleri araştırmaya başladım. Nihayet, London Üniversitesinin bir parçası olan Imperial College'a gittim. Sadece ikinci yıl yazılım dersleri vardı, ve o dersler kesinlikle harikaydı: Öğretmenler ve öğrenciler materyalleri daha iyi yapmak için hep beraber çalışıyor ve elimizden geleni yapıyorduk. sonuçta herkes bir sürü şey öğrendi. Üniversitedeki eğitim hayatım bana yazılım geliştirme üzerine inanılmaz güçlü bir altyapı sağladı. bir PhD'nin başlangıcında kaldım, fakat başlangıcından bile bir tat aldım.
Fakat genel soru "Programlamayı nasıl öğrendin?". Bu soruya gerçek cevabım "Hala Programlama öğreniyorum.". Bence iyi bir geliştirici bütün kariyeri boyunca öğrenmeye devam eder. Bu sadece yıllar içinde yeni diller ve kütüphaneler öğrenmekle ilgili bir soru değil, iyi geliştirici bunların tekniklerini ve uygulamalarını da inceler.

Guido Van Rossum:

Ben, büyük bir anabilgisayarı olan ve çeşit çeşit bilgisayar dersleri olan bir üniversiteye gittim. Bu benim için çok önemlidir.

James Gosling:

Başlangıçta, kendi kendime öğrendim. Üniversiteye gitmeden önce ilk kendi programlama işimi aldım. Fakat bunu yaptığım için çok memnunum. Çok eğlendim. PhD sahibi olana kadar bu işe devam ettim.

Bjarne Stroustrup:

Üniversitede (Aarhus and later Cambridge). Üniversite bana, gelecekteki işime taban oluşturacak çok yararlı şeyler öğretti. Buna ek olarak, programlama öğrenmemin asıl nedenini para oluşturuyordu ki gerçek dünyanın problemleri, doğruluk, dayanıklılık, zamanında teslim, ve benzeri şeyler eğitim hayatından daha çok baskı yapıyordu bana.

Tim Bray:

Aslında ben matematik öğretmeni olacağımı düşünüyordum. Üniversitede Matematik bölümünde bir kaç bilgisayar bilimleri dersi zorunluydu.

'- Her programcının sahip olması gereken en önemli yeteneğin ne olduğunu düşünüyorsunuz?'

Steve Yegge:

Yazılı ve sözlü iletişim yeteneği. Düşüncelerini insanlara etkili bir şekilde aktaramadıkça, programcı olarak asla hiç bir alanda daha ileriye gidemezsin.
Programcılar çok fazla okumalı, yazma alıştırması yapmalı, yazma kurslarına gitmeli, ve hatta topluluk önünde konuşma alıştırmaları yapmalıdır.

Linus Torvalds:

Bu benim "lezzet" diyerek adlandırdığım şey.
Ben birlikte çalıştığım insanları nasıl verimli oldukları gibi şeylerle yargılamaya eğilimli değilim.Bazı insanlar çok sayıda kod üretebilirler, fakat ben daha çok onların diğer insanların kodlarına nasıl tepki verdiklerine dikkat ederim. Sonra kendi kodlarını incelerim ve nasıl bir yaklaşım seçmişler incelerim. Bu bana onların "lezzet"i hakkında bilgi verir; iyi mi, kötü mü? Eğer kişi iyi bir "lezzet"e sahip değilse, genellikle başkalarının kodlarını doğru yargılamıyor ve bu yüzden kendi kodlarını mükkemmelliğe ulaştıramıyordur.

Ama hey, sadece bu değil. Çok kullanışlı bir şey daha var, özellikle açık kaynaklı projelerde. O da yapmak istediğiniz şeyle ve nasıl yapacağınızla ilgili iyi ileşim yeteneği. Başkalarına niçin bir şeyi emin bir yolla yapmanız gerektiğini açıklayabilme yeteneği çok önemlidir, ve herkes bu yeteneğe sahip değildir.

Sonuçta sadece çok iyi kod yazan insanlar da var. Fakat onlar bunu açıklamakta iyi olmayabiliyorlar, ve hatta iyi bir "lezzet"e bile sahip olmayabiliyorlar. Fakat onların kodları gerçekten iyi çalışıyor. Bazen farklı bir insana(açıklaması zor olan bu "lezzet"e sahip birine) ihtiyaç duyarsın. Onların kodları gerçekten daha büyük bir manzarada yararlı olabiliyor. Lakin, çok zor problemler için net yani açık ve anlaşılır kod yazmak kesinlikle bir programcının sahip olması gereken ana özelliktir.

David Heinemeier Hansson:

Çok güçlü bir değer duygusu. Kendi kendine şu soruyu sorabilme yeteneği: Acaba şu anda yaptıklarım, yapmaya değer mi? O kadar çok programcı var ki okyanuslar kadar geniş zamanlarını değmeyecek ve yetersiz şeyler üzerinde harcıyorlar.

Peter Norvig:

Bir tane vardır diyemem, fakat konsantrasyon yeteneği diyelim.

Dave Thomas:

Tutku.

Guido Van Rossum:

Sorduğun sorun genel olmasına rağmen, cevaplaması çok zor. :-) Sanırım kahvaltı için yumurta pişirebilme yeteneği önemsiz bir şeydir.

James Gosling:

Hevesli olmak.Gerçekten iyi olmak, yaptığın işe aşık olmak zorundasın.

Bjarne Stroustrup:

Açık ve net düşünebilme yeteneği: Bir programcı, problemleri anlamalı ve çözüm bulabilmelidir.

Tim Bray:

kanıtları sezgilerine tercih etme yeteneği.

'- Bir programcı için matematik ve/veya fizik gibi dersler önemli bir beceri midir? Neden?'

Steve Yegge:

Ayrık matematik ("discrete math” veya “concrete math") bir programcı için önemli derslerden biridir. İçinde olasılık, kombinasyon, grafik teori, ispat yöntemleri, ve daha başka yararlı bir sürü araç vardır. Ben bütün programcılara, ayrık matematikte olabildikleri kadar iyi olmalarını öneririm. Birazcık öğrenseler bile hiç yoktan iyidir.
Geleneksel matematik, sık sık kullandığım bir şey değil, fakat eğer ihtiyacım olursa, hemen elimin altında bulunması iyi. Örneğin, mesleğimin bir parçasında bir zamanlar Calculus kullanmıştım. O zamanlar, trafikteki en yoğun saatte "güneş izleyicileri" yükleyen bir servisin yükünü tahmin etmek zorundaydım. Yaklaşık bir sinüs eğrisinin 1/24 civarındaki integralini alarak belirli zamanı tahmin etmeye çalıştım. Eğer Calculus bilmiyor olsaydım, kesin bir tahmin yapamamış olacaktım.

Oyunumu(Wyvern) yazarken, katı cisimler üzerinde basit geometri bilgisi bana inanılmaz yardımcı oldu. Cebir ve lineer cebir de genellikle kullandıklarımdandır. Trigonometriyi veya diferansiyel eşitlikleri işimde nadiren kullanıyorum, Calculus'u da aynen öyle.
Ana matematik bilgimin beni %5-%10 daha iyi bir programcı yaptığını söyleyebilirim. Eğer daha çok matematik bilseydim, şüphesiz ki şu anda daha iyi bir programcı olurdum. bu yüzden haftada bir kaç saat matematik çalışıyorum.

Fizik'i çok severim fakat işim çevresinde pek bir yararını göremiyorum.

Linus Torvalds:

Ben kişisel olarak iyi bir matematik altyapısının çok iyi olacağını düşünüyorum.Fizik konusunda emin değilim ama köklü bir matematik bilgisinin size iyi bir programcı olmada çok yardımcı olacağına eminim.

David Heinemeier Hansson:

Önemli değil. En azından programlama mesleğinde web uygulamalarına ihtiyacın var. Bence birinin iyi bir yazar olması çok daha önemlidir.

Peter Norvig:

Evet. Bir çok fikir kalıtsal olarak matematik kökenlidir: tümevarım, özyineleme, mantık, vb.

Dave Thomas:

Belki. Ama dürüst olmak gerekirse, henüz ben bu disiplinlerle iyi yazılım geliştiricileri arasında fazla bir bağdaşma göremedim.
Öte yandan, müziksel yeteneği olan insanlar ile programlama arasında hep bir bağ görmüşümdür. Neden olduğu hakkında bir fikrim yok, fakat insanı müziksel olarak yetenekli kılan beyindeki o parçanın sizi yazılımda da iyi yaptığından şüpheleniyorum.

Guido Van Rossum:

Matematik, evet (bazı bölümlerde; diferansiyel eşitlikleri pek takmıyorum ama mantık ve cebir önemli). fizik ise, herzaman yararlı olduğunu düşünmüyorum.

James Gosling:

Evet! Onlar bize mantık ve çıkarım öğretir.. analizci bir göze sahip olmak. Ve algoritmaları analiz etmede matematiğin yerini hiç bişey tutamaz.

Bjarne Stroustrup:

Programına ve programcısına göre değişir. Matematiğin bazı kalıpları çoğunlukla yararlı; fizik biraz daha az, ama fizik öğrenmek, matematik öğrenmenin yollarından biridir.

Tim Bray:

Fikrimce, üniversite seviyesindeki matematiğimi hiç kullanmadım.

'- Bilgisayar programlama alanında bundan sonraki en büyük gelişme ne olacak dersiniz? X-oriented programlama, y dili, quantum bilgisayarları, veya ne?'

Steve Yegge:

Bence, istemci taraflı en önemli gelişme web uygulamaları olacaktır. Bence kesin başka istemci taraflı toolkitler olacaktır: GTK, Java Swing/SWT, Qt, ve elbette bütün Cocoa and Win32/MFC/etc gibi platformlar.

Bütün bunlar bir gecede olmayacaktır. Bunların yön bulması onlarca yılda yavaş yavaş olur. Araçlar, diller, APIler, protokoller, ve tarayıcı teknolojisi şu andaki durumlarına göre çok çok gelişeceklerdir. Velakin her yıl onlar çok küçük kaynaşıyorlar. Sonunda şu anda, ben de kendi bütün app geliştirme işlerimi, tarayıcı-tabanlı programlamaya değiştirdim.

Microsoft ve Apple kesinlikle bunun olmasını istemiyor. O yüzden en önemli adımlar önce açık kaynaklı tarayıcılarla mesela firefox ile alınıyor.

Linus Torvalds:

"Büyük bir atlama" yaşanacağını sanmıyorum. Ben kişisel olarak "visual basic"in object-oriented dillerden daha büyük işler başardığı kanısındayım. İnsanlar VB'ye gülseler ve kötü bir dil olduğunu söyleseler bile, bence VB içineki basit veritabanı arayüzleri , object oriented dillerden daha önemli.

David Heinemeier Hansson:

Ben geleceği tahmin etmemeye çalışırım. Gelecek hakkında konuşulanlara inanan biri değilim. Geleceği tahmin etmenin en iyi yolu onu gerçekleştirmektir.

Peter Norvig:

Geniş-ölçülü yayılmış ilerleme.

Dave Thomas:

Bilgisayar programlama içinde gelecek en büyük şey bundan bir sonraki büyük şeyin gölgesinde kalacaktır, ve bu da bir sonrakinin, bu böyle devam eder. Ben biraz yoruldum büyük bir şey için böyle sonsuz araştırmalardan. Çünkü bizim asıl müşterilerimizi anlamaya, teslimatın değerine odaklanmaya, ve yaptıklarımızla gurur duymaya ihtiyacımız var. Harika bir yazılım teslim eden bir geliştirici, modayı izleme kaygısı duymayacaktır

Guido Van Rossum:

Üzgünüm, ben kristal topu olan bir adam değilim. CGI'yi tahmin etmiştim, fakat icat edildikten 5 yıl sonra. :-)

James Gosling:

En çok dikkate aldığım iki konu var: parallelizm ile uğraşmak ve karmaşıklık.

Bjarne Stroustrup:

Bilmiyorum, ve tahminde bulunmayı da sevmiyorum.

Tim Bray:

Fikrim yok.

'- Eğer yeni bir teknolojiyi öğrenmeniz için önünüzde üç ayınız olsaydı, bu ne olurdu?'

Steve Yegge:

Ben 3 aylık bir (part-time) işe sahibim ve bütün vaktimi Dojo(http://dojotoolkit.org), üst seviye AJAX ve DHTML öğrenmeye harcıyorum. Gerçekten iyi bir web uygulaması yazarak çalışıyorum. Dojo çok zevkli, ve eminim zamanla da gelişecektir.

Linus Torvalds:

Hmm. FPGA'yı çok severdim, ama oturup çalışmak için hiç vaktim olmadı.
Ben donanımla oynama kavramlarına aşığım: bir donanımı dizayn veya inşa etmeden, donanımla oynamayı anlamaya başladığımdan beri, kesinlikle bu nedenden dolayı işletim sistemleri yapmayı bıraktım.

David Heinemeier Hansson:

Mac için cocoa programlaması

Peter Norvig:

Javascript'i daha iyi bilmek isterdim. Bir de flash'ı.

Dave Thomas:

Eğer "yeni" demek "Dave Thomas için yeni" demekse, bence yoğun piyano dersleri almak isterdim.
Eğer "yeni" demek teknolojik bir şeylerse, o zaman sanırım engelli insanlar için erişilebilirlikle ilgili teknolojileri seçerdim.

Guido Van Rossum:

Karkızağı.

James Gosling:

Sırf eğlence için, üç boyutlu modellemede son şeyleri yakalamaya çalışırdım. Muhtemelen bir foton-haritası modeli yazmak isterdim.

Bjarne Stroustrup:

Üç ayda öğrenebileceğin önemli bir çok şey var. Bence, iyi tespit edilmiş bir alanda eğitim almayı düşünmelisin.

Tim Bray:

Güvenlik, şifreleme, dijital imza, kimlik, vs. Bunları daha önce hiç duymamış olmam benim için büyük bir problem.

'- Sizce bir programcıyı diğerlerinden 10 veya 100 katı daha verimli yapan şey nedir?'

Steve Yegge:

Bence şöyle bir düşünmek için durup, neden bütün atletler eşit düzeyde iyi değil? sorusunu cevaplamalısın. Thomas Edison'ın deha ile ilgili bir sözü vardır, o sana bazı ipuçları verebilir."Deha'nın %1'i ilham, %99'u alın teridir."
(Genius is one percent inspiration, ninety-nine percent perspiration.)

Linus Torvalds:

Gerçekten hiç bir fikrim yok. Bence bazı insanların iş üzerine daha iyi konsantre olabiliyor olması onları daha iyi yapıyor. Fakat birçoğu düşünmeden işi sadece yapıyor. Benim tanıdığım bir çok programcı çok genç yaşta böyle yapmaya başladı.

David Heinemeier Hansson:

Zor problemleri kolaya çevirebilme yeteneği.

Peter Norvig:

Bir kerede bütün bir problemi ana başlık altında toplama yeteneği.

Dave Thomas:

Onlar sadece yaptıkları şeyler ile ilgilenirler.

Guido Van Rossum:

Beyin yapısındaki genetiksel farklılıklar.

James Gosling:

Onlar ne yaptıkları hakkında düşünürler. Onlar bir şeylere atılmaz ve dokunamazlar. Onlar inşa edilecek şeyin bütünsel bir resmine sahiplerdir..

Bjarne Stroustrup:

İlk olarak Profesyonellik eksikliği ve yetersiz eğitim. Bu taban seviyesini en aşağıya çeker. İkinci olarak, Bazı insanlar zekanın kombinasyonlarına (net düşünebilme ve işi can yerinden anlama), deneyim, ve araç bilgisine sahiptirler. Programlama çok farklı alanlara ayrılır. Çünkü o aslında teorinin ve uygulamanın birleşiminden oluşur.

Tim Bray:

İnsan beynindeki şaşırtıcı çeşitlilik.

'- En sevdiğiniz araçlar nelerdir?(işletim sistemi, programlama/betik dili, metin editörü, kontrol sistem versiyonu, kabuk, veritabanı makinesi, ve onsuz yapamayacağınız diğer araçlar) ve neden onları diğerlerinden daha çok seviyorsunuz?'

Steve Yegge:

İşletim sistemi: Unix! Ben linux, cygwin, ve darwin'i eşit sıklıkta kullanıyorum şu anda. Üretkenlik araçları ile onu alt edemezsiniz. Her programcı bu toolları /bin ve /usr/bin içinde nasıl kullanıldığını öğrenmelidir.

Scripting(betik) dili: Ruby. Bunun dışında ben her ana betik dillerinde çok ustayım: Perl, Python, Tcl, Lua, Awk, Bash, ve unuttuğum diğerleri. ama ben tembelim, ve Ruby de en kolay dil. Bu yüzden o benim için bulunmaz bir nimet.

Programlama dili: Favorim diyebileceğim bir tane yok, çünkü bence hepsi boş. Javayı tercih etmeye eğilimliyim, çünkü java iyi araçlar ve iyi kütüphanelerle ortama uygun ve güçlü bir dil. Java dili evrim geçirecek veya ölecek; o, sonsuza kadar liderliği sürdürecek kadar iyi değil.

Metin editorü: Emacs, çünkü bugünkü en iyisi o.

Version control: SVN. Çalışması gerçekten iyi, fakat o çok pahalı.

Shell: Bash, çünkü başka bir tane öğrenmek için çok tembelim.

Database engine: MySQL, tabii ki. Başka bir şey onun yanına bile yaklaşamaz.

Others: Ben GIMP'i çok değersiz buluyorum ve ayrıca sezgisel olmayan bir sinir ediciliği var. Yıllardır kullanıyorum fakat hala çok nadir birşeyler yapabiliyorum onunla. Lakin onsuz da yapamıyorum. Tuhaf ama yeterli.
Firefox, araç dizimin kritik bir bölümünde gittikçe artıyor. Internet explorer veya Safari kullanırsam tıkanıp kalacağımı hissediyorum.
Burda bir de dipnot vermek istiyorum; benim bahsettiğim bütün araçlar(Unix, Emacs, Firefox, GIMP, MySQL, Bash, SVN, Perforce) genelde geliştirilebilir olanlar. Onların hepsi programlama API'larına sahip. Harika programcılar araçlarını sadece kullanmakla kalmaz, nasıl programlayacaklarını da öğrenirler.

Linus Torvalds:

Aslında çalıştığım araçları bitirmiş değilim, ve çoğunlukla kendi araçlarımı çalışır yapmakla vakit harcıyorum. İşletim sistemi net olarak en büyük olanı, ama bunun yanında kendi control sistem versiyonumu da yazdım (git). Kullandığım metin editörünü (micro-emacs) kendime özel uyarlamayı ve genişletmeyi bitirdim.
Bu üçünden başka, aşırı derecede düşündüğüm tek şey kendi eposta okuyucum. Ben "pine" kullanıyorum. Bu onun en harika eposta okuyucusu olduğu için değil, sadece onu kullanmaya alıştığım ve minimum ihtiyaçlarımı karşıladığı için.

David Heinemeier Hansson:

OS X, TextMate, Ruby, Subversion, MySQL. Bir de beni son zamanlarda mutlu eden bir combo var. İyi tat veren ve yapmak istediği işe odaklanmış araçları seviyorum.

Peter Norvig:

Ben, üç büyük işletim sistemini hiçbirini sevmiyorum: Windows, Mac, Linux. Python ve Lisp. Emacs'ı seviyorum.

Dave Thomas:

On yıldan fazladır Linux kullanan bir insan olmama rağmen bir kaç yıl önce Mac'e geçtim. Araçlar çok da iyi değil, fakat onların öyle çok sıksık yontulmasına veya bakımının sağlanmasına gerek yok. Sadece onları kullanmaya odaklanalım.
Sadece bir araca inanan biri değilim: Ben sık sık değiştirip olabildiğince farklı ve çok araç kullanmaya çalışırım. Şu anda kullandıklarım: OSX, Emacs, TextMate, Rails, Ruby, SVN, CVS, Rake, make, xsltproc, TeX, MySQL, Postgres, ve küçük katkıların hemen hemen hepsi. Kim bilir seneye ne kullanırım.

Guido Van Rossum:

Unix/Linux, Python, vi+emacs, Firefox.

James Gosling:

bu günlerde Netbeans'da yaşıyorum. O benim istediğim her şey, çok net bir basitliğe sahip ve etkili. Orası şimdiye kadar yaşadığım en hoş çevre.

Bjarne Stroustrup:

Unix, sam (çok basit bir metin editörü), ve iyi bir C++ compiler, elbette.

Tim Bray:

Ben Unix ve onun türünde işletim sistemlerini seviyorum. Sonra Python ve Ruby gibi dinamik dilleri ve Java(Bazı özel Java API'lerinde) gibi durgun yazılan dilleri, Emacs, bash, ve başka NetBeans'i seviyorum.

'- Bilgisayar programlama ile ilgili favori kitabınız nedir?'

Steve Yegge:

Adamım, gerçekten zor bir tane var. Belki Gödel, Escher, Bach: an Eternal Golden Braid (Hofstadter)? Bütünüyle bilgisayar programla ile ilgili olmamasına ragmen. Eğer özellikle "programlama ile ilgili favori kitabımı" soruyorsan, o halde belki SICP (mitpress.mit.edu/ sicp/).

Linus Torvalds:

Heh. Bu günlerde okuduğumda, genellikle macera kitaplarına eğilimliyim, veya bilgisayarla-ilgili-olmayan şeylere (Eski bir kitap ama iyi: “The Selfish Gene” by Richard Dawkins).

Programlamaya gelirsek, aklıma gelen tek gerçek programlama kitabı aslında klasik Kernighan & Ritchie “The C Programming Language” kitabı. Çünkü, kolay okunabilir ve "kısa" olmasıyla inanılmaz faydalı bir kitap. Bu kitaptan bizim zamanımızın en önemli programlama dilini temel olarak öğrenebileceğini düşünürsek, ince ve okunabilir olması hayrete düşürüyor.
Benim severek okuduğum kitaplar "programlama"dan ziyade daha çok donanım ve bilgisayar mimarisi ile ilgilidir. Güzel bir kitap var: Patterson & Hennessy'in bilgisayar mimarisi kitabı. Fakat benim kişisel görüşüme göre, Linux kullanmaya başladığım sıralarda kullandığım kitap daha iyi: Crawford & Gelsinger’in “Programming the 80386".Benzer nedenlerden, benim bir hafif kitabım daha var: Andrew Tanenbaum’in “Operating Systems: Design and Implementation”.

David Heinemeier Hansson:

Aşırı programlama açıklayan kitapları severim. Programlama praktikleri ve vurgulayıcı Enterprise Application Architecture kalıpları hakkındaki genel düşüncenin aksine soyut ve somut arasındaki dengeti dilen programlama kitaplarını severim.

Peter Norvig:

"Structure and Interpretation of Computer Programs"

Dave Thomas:

Bu senin "favori" derken ne demek istediğine göre değişir. Muhtemelen bu alanda yazılmış ve benim okuduğum en iyi kitap IBM’in “IBM/360 Principles of Operation.”

Guido Van Rossum:

Neil Stephenson’ın "Quicksilver".

James Gosling:

"Programming Pearls by Jon Bentley".

Bjarne Stroustrup:

"K&R".

Tim Bray:

"Bentley’s Programming Pearls"

'- Programlama ile ilgili olmayan favori kitabınız nedir?'

Steve Yegge:

Sadece bir kitap mı? Sen imkansızı soruyorsun. İçinden bir tane seçmek için bir sürü harika kitap var.
Benim bu ay okuduğum favori kitabım “Yıldıztozu(Stardust)” (Neil Gaiman) ve “The Mind’s I” (Hofstadter/Dennet).
Benim favori yazarlarım Kurt Vonnegut, Jr. ve Jack Vance.

Linus Torvalds:

Yani, daha öncede bahsetmiştim Dawkins'in Selfish Gene adlı kitabı. Bilimsel anlamda, okurken eğlendiğim bir sürü kitap olmuştur, fakat benim “favorilerim” bir kaç tanedir diyebilirim. Kitapları sıksık tekrar okumamaya meyilliyim, ve seçimlerim zamanla değişiyor. Genellikle bilimkurgu ve fantezi oluyor, örneğin Heinlein'in “Stranger in a Strange Land” kitabı, benim gençken favori kitabımdı ama bugünlerde pek önemsediğim bir kitap değil...

David Heinemeier Hansson:

1984, George Orwell.

Guido Van Rossum:

Neil Stephenson’ın “Quicksilver” kitabı.

James Gosling:

Jared Diamond'in kitabı “Guns, Germs & Steel”

Bjarne Stroustrup:

Zamanla değişiyor. Son zamanlarda O’Brian’s Aubrey/Maturin serisi. Bir de şurdan bakabilirsin:
http://www.research.att.com/~bs/literature.html.

Tim Bray:

One Day in the Life of Ivan Denisovich (Aleksandr Solzhenitsyn'ın yazdığı Rusça bir kitap )

'- Favori müzik grubunuz/ performansçınız/ bestekarınız kimlerdir?'

Steve Yegge:

Favori türler: klasik, anime soundtrack'ları, video-game müzikleri
Favori bestekarlar: Rachmaninoff, Chopin, Bach
Favori performansçılar: David Russell (klasik gitar), Sviatoslav Richter (piyano)
Favori anime OST'leri: Last Exile, Haibane Renmei

Linus Torvalds:

Aslında müzikle aram pek iyi değildir, fakat dinlediğim zaman, çeşitli klasik-rock karışık şeyler tercih ediyorum: Pink Floyd'dan Beatles'e ya da Queen'den The Who'ya kadar çeşitli..

David Heinemeier Hansson:

Bir çok türü severim. Beth Orton, Aimee Mann, Jewel, Lauryn Hill. Aslında, bütün bu örneklerde hep gitarda kızlar var:)

Guido Van Rossum:

Philip Glass.

James Gosling:

Ben halk müziğine eğilimliyim: Christine Lavin, Woody Guthrie, Pete Seeger…

Bjarne Stroustrup:

Müzik grubu: The Dixie Chicks. Bestekar: Beethoven.

Tim Bray:

Blogumdan okuyabilirsin.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 26, 2009

Teşekkür! :)

Güzel sohbetler...

Çoğunun Emacs kullandığına şaşırdım doğrusu.

Bir de, sırf geyik muhabbeti yapıyoruz diye :), o insanlardan iki buçuğunun konuşmasını dinlediğim ve ikisiyle akşam yemeğinde bulunduğum için şanslı olduğumu söylemek istedim: Bjarne Stroustrup, Guido van Rossum, ve buçuk olan :) Andrew Morton (Linus Torvalds'ın çok yakını Linux çekirdekçisi).

Her ay bir konuşmacı davet ediyoruz:

http://accu.org/index.php/accu_branches/accu_usa/past

Sonra da 5-10 kişi konuşmacılarla akşam yemeğe gidiyoruz. :)

Ali
Not: Yine sırf geyik muhabbeti devam ediyor diye ;) Eylül ayında da ben konuşuyorum; konu: D Programlama Dili Tanıtımı. Başka ne olabilirdi ki! :D Bunun için ayrı konu açacaktım ama o listedeki adamlardan ikisinin ismi geçince dayanamadım, buraya yazdım.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]