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

0
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...
Bir kez daha Perl camiasının bakış açısı ve kültürü kendini hissettirmişti. Yeni fikirlere açık olan bu camia Perl 6'yı geliştirmek ile uğraşırken enteresan bir şey olmuştu: Sıkı bir Perl "hacker"ı olan Autrijus Tang, Perl 6'yı Haskell ile yazacağını duyurmuş ve Pugs isimli bir Perl 6 implementasyonunu birçok insanı şaşırtacak kadar kısa sürede ve az kod ile halletmişti! (Kendisi ile yapılmış eğlenceli bir röportajı buradan okuyabilirsiniz.)

Yazışmalarımızdaki bir başka ilginç URL ise bir Lisp kodunun nasıl da adım adım Haskell'e çevrilebileceğini gösteren bir e-posta idi.

Yine Common Lisp ve Java arakesitinden, programlama kültürüne ve camiadaki süreçlere dair bir bakış açısı, bir sisteme bir özellik ekleme ile ilgili durum düşünüldüğünde, insanların neyi neden kabul ettikleri çarpıcı şekilde ortaya çıkabiliyordu. Mesela mevcut dilin sözdizimine yeni bir özellik eklemek istediğinizde bunu yapma yönteminiz ne olacaktı? Richard Cook son blog girdilerinden birinde bu konuya değiniyor ve Java ile Lisp dünyasının bir kıyaslamasına dair alıntılar yapıyor, aylarca süren bürokratik JCP (Java Community Process) ile Common Lisp'teki yüksek soyutlama gücüne sahip makroları kıyaslıyordu.

Belki de hiç düşünmeden kabul ettiğimiz bazı şeyleri tekrar tekrar sorgulamamız gerekiyor. Böylece yapılmış olan şeyleri daha iyi ve pratik şekilde yapmak, yenilikçi olmak, yaratıcılığı hızlı şekilde hayata geçirmek ve dünya ile rekabet etmek üstüne daha geniş bir vizyona sahip olabiliriz.

Daldan dala atlayan ama satır aralarını okuyanların odak noktasını sezebileceği bu kısacık "sesli düşünme"yi Autrijus Tang'ın okuduğu iki kitabın adresini vererek sonlandırmak istiyorum, belki birilerinin hayatını gerçekten değiştirir bu kitaplar: Types and Programming Languages ve Advanced Topics in Types and Programming Languages

Görüşler

0
yilmaz
James Turner abimizin şikayeti sanırım sonunda bahsettiği üzere externel kütüphanelerin kullanımındaki zorluk. Ki kendisinin zamanında struts projesinde yaptığı iş bu.
JCP , rakip olarak MS i düşündüğünüz zaman oldukça yavaş işleyen bir süreç. Ama tüm JSR lar aynı yavaşlıkta işlemiyor. Milyonlarca sistemde gömülü java uygulamaları var herkes kafasından bir java yazsa ortada java diye birşey olmaz. Zaten siz yeni bir şey ortaya koyduğunuzda java bunu içine alıyor. Log4j olayında görüldüğü üzere.
perl6 da 3 satrı kod ile yaptığım işi java ile 5 satırda yapıyorum demiş yine yazısının sonunda. Binlerce satırlık bir proje de pgp koyucam bunun içine ah perl ile yazsam daha kolay yapardım mı diyor? O kadar kolaylıkdan yanaysa alsın Sun Studio kullansın derler adama hemde ücretsiz.
0
FZ
James Turner Microsoft ile herhangi bir kıyaslama yapmıyor ki, bunu nereden çıkardınız? Tabii ki değişik şeylerin süreçleri değişik hızlarda işleyebilir ancak biraz da o süreçlerin ortalamasına bakmak lazım.

Bahsedilen şeyi iyi kavramak lazım, adam değişik yazılım camialarının ve bakış açılarının pratiklerine dikkatleri çekmeye çalışıyor. Konu Sun Studio kullan konusu değil.

Benim yazıyı yazma ve o linkleri verme amacım, verileni kabullenip piyasa koşullarında iş güç yapan para kazanan insanlara laf etmek değil, amacım verilenin ötesine geçmeyi düşünen insanların nerelere bakabileceğine dair birkaç öneride bulunmak idi. Yoksa gidip dice.com'daki iş ilanlarına bakar, 60.000 Javacı aranıyor, maaş ortalaması da fena değil, daha ne isteyeyim, demek ki ben Java öğreneyim, iyi ekmek var hatta belki pasta parası da çıkar bu platformdan deyip yolunuza devam edersiniz. Bunun da kötü bir şey olduğunu söylemiyorum, lütfen bir yanlış anlama olmasın. Bu dünyada kendisine verileni olduğu gibi kabul edip kullanan çoğunluğa da yer var, bunu kabul etmeyip yepyeni yaklaşımlar getiren ve farklı bir rekabet gücüne sahip olan öncü azınlığa da.
0
yilmaz
yazıda dişe dokunur pek birşey yok. iki dili geliştiren topluluğun olaya bakış açısı ele alınmış biraz. Geliştirme zorluğundan bahsetmiş buda ideler ile çözülebilir durumda bir zorluk (şahsi kanaatim pek gerçeği yansıtmıyor).
James Turner Microsoft ile herhangi bir kıyaslama yapmıyor ki, bunu nereden çıkardınız?
demişsiniz ama MS ürünlerini karşılayabilen bir dil bizim bahsettiğimiz. o yüzden hatırlatmakta fayda var dedim.
JAVA yazmak da bir özgürlük değil mi? 2 ay sonra başka bir dil çıkarsa ona mı geçelim daha iyi diye? ondan daha iyisi çıktı 4 ay sonra o zaman ne yapacağız? Java ile bir çok proje kolaylıkla gerçeklenebiliyor. Java ölmediki. LG3D gibi bir proje yapılabilmiş değilmi demekki javadan daha çok iş çıkar. Sınırlı bir dilmiş gibi ifade ediliyor java. Pek gerçeği yansıtmıyor bu.
0
ttk
Merhaba
En azından kendi açımdan bir misal vereyim. Uzun zaman Delphi ile program yazdım. Ama Python'u öğrenmeye başladıktan sonra, sağladığı bakış açısı ile Delphi ile çok daha rahat ve daha kısa kodlama yapabilmeye başladığımı farkettim. Ayrıca c# ile program yazmam gerekince yine Python deneyiminin çok faydasını gördüm. Anlatılmaz yaşanır diye bir şey var işte öyle bir durum.
Mesela Lisp için burada tavsiye edilen online bir kursa devam etmiştim bir süre, diğer programlama dillerinde hiç kullanmadığım (kendim hazırlamadım, o tip fonksiyonları hazırda kullanmış olabilirim) recursive fonksiyonları neredeyse ta başta kullanıcıya hem de hiç yadırgatmadan dili öğretirken anlattıklarını ve öğretebildiklerini gördüm.

Yine çenem düştü ama bir misal daha vereyim, küçükkene bir film seyretmiştim, yün kırpan ve bu işi de kendi çevresinde en hızlı yapan bir kişi arkadaşının ihtiyacı olan parayı kazanmak için diğer bir yerden gelen yün kırpıcı ile yarışıyor ve açık ara yarışı kaybediyordu. Yarışı kazanan adam kaybedene, "arkadaşlarım arasında en yavaş ben olduğum için beni yarışmaya soktular" şeklinde bir söz söylüyordu. Yani bakış açısı, yaklaşım, tarz ya da ekol mü ne derler, bir işi yaparken beklenmedik farkların ortaya çıkmasına sebep olabiliyor.
0
ripper
java ile 5 satırda yapıyorum dememiş, yapabilmeliyim demiş, yani iki satır da avans vermiş ama hala olmamış. ne kadar iyi javacı da olsa 10 satırın altına düşürebileceğini de ben zannetmiyorum. javanın diğer bir mükemmel yönü de uzun syntax ı olmalı herhalde... :)
0
myavuzselim
Bana kalirsa java'nin syntax'indan degil de java programcilarinin herseyi genel olsun diye karmasiklastirmalarindan dert yanmis.
0
roktas
Espri şu:
Aynı cadde boyunca yerleşmiş Perl cafe ve Javahut'ı hayal edelim. Javahut'a giriyor ve oturmak için bir yer soruyorsunuz. Kapıdaki kişi "Üzgünüm" diyor. "Gerçek garson ben değilim, ben bir Fabrika[1] sınıfıyım sadece. İstediğiniz yer tipini bana söylerseniz, size bir garson ayarlayabilirim." Sigara içilmeyen bir yer istediğinizi söylüyorsunuz ve o da SigaraİçilmeyenYerGarsonu'na sesleniyor. Garson sizi masanıza götürüyor ve; kahvaltı, öğle veya akşam yemeğinden hangisini istediğinizi soruyor. Öğle yemeği sipariş ediyorsunuz ve o da ÖğleYemeğiGarsonu'na işaret ediyor. Öğle yemeği garsonu siparişinizi alıyor, yemeğinizi getiriyor, fakat o da ne: yemeği koyacak servis tabağı yok, zira bir TabakÇatalBıçakFabrikası sınıfı almayı ve getirTabakları yöntemini çalıştırmayı unutmuşsunuz. Sonuçta Garson bir boş işaretçi (null pointer) istisnası atıyor ve siz de oradan dışarı atılıyorsunuz. Üzerinizdeki tozları silkeledikten sonra cadde boyunca ilerleyerek Perl cafe'ye giriyorsunuz. Kapıdaki kişi ne tip bir yerde oturmayı, istediğiniz yemeği ve ödemeyi ne şekilde yapmayı arzuladığınızı soruyor. Masanıza oturtuyor, siparişinizi getiriyor, ücreti alıyor ve huzur içinde yemek yemeniz için sizi yalnız bırakıyor. Bu yaşadığınız en zarif deneyim değil şüphesiz, fakat karnınızı az zahmetle doyurmuş oluyorsunuz.

Yazar, Java programcılarının (kendi ifadesiyle) ekseriyetinde bulunan bir programlama mantalitesini eleştiriyor. Dikkat buyurun, Java dilini eleştirmiyor! Yanlış okuma yapmayalım. Çevirisini yaptığım esprileri çok ciddiye almayın, bu yazı bir Perl/Java karşılaştırması değil. Şimdi ısrarla falan dilin, filan dile üstünlüğü lakırdılarına girmenin bir alemi yok[2]. Ha şöyle bir düzey olabilir tabii: programlama dillerinin programlama tarzlarına, düşünce yapılarına etkileri nelerdir? "Hırsızın hiç mi suçu yok yoksa?"...

Benim kanaatim o ki, dilin bizatihî kendisinin bunda aslî bir kabahatı yok. Fakat programcının kafasındaki kabullerin, yazılım geliştirdiği platformun, kullandığı araçların (bk. VisualStudio tartışması), içinde bulunduğu yazılım ikliminin/alt kültürün (bk. Perl mongers), yaşadığı dönem içindeki yazılım akımlarının (OOP, Tasarım Desenleri vb "hype" mertebesine ulaşmış herşey), ve tabii kesinlikle dik saçlı patronun büyük etkisi var.

Java ailesinde diller (Java ve C#) için basit bir örnek vereyim. Şu yıllarda ilginç bir gelişme oluyor meselâ: Mono. Bu platformu önemsiyorum, ilginç buluyorum. Tatlı suyun tuzlu suya karışmasından dolayı... Yani UN*X ve GNOME zihniyeti, yazarın yukarıda şikayetçi olduğu zihniyetin çokça göründüğü bir coğrafyaya (Javahut mı deseydik acaba?) ilerliyor. Sonuç ne olacak? Bir fetih mi, bir mağlubiyet mi, asimilasyon mu, yozlaşma mı, barış mı? Bunu hep beraber oturup göreceğiz. (İlk ürünleri kendi damak tadıma çok uygun bulduğumu belirteyim.)

[1] Fabrika (Factory) sınıfı, NYP'nin "Tasarım Desenleri" okulunda geçen ve, çok kabaca anlatacak olursak, kendi başına iş yapan bir sınıf olmaktan ziyade asıl işi yapacak nesneleri, bir fabrikanın yaptığı gibi, üreten bir "yaratıcı" (creational) sınıfıdır.

[2] Aşırı soyutlama -- Over abstraction olarak da bilinen bu hâl, Bjarne Stroustrup'un da (daha genel NYP düzeyinde) eleştirdiği bir "anti-pattern"dir (bu meselede ayrıntılı tartışmalar için Portland Wiki harika bir kaynaktır). Ragnor, FM'de bir yorumda, Stroustrup'la yapılan (yayınlanmamış) bir mülakat linki vermişti, şimdi bulamadım onu. Dili tasarlayan bir kişinin, o dili suistimal edenlere yönelik olarak ifade ettiği ironik beyanlar vardı o yazıda. Demek ki ne oluyor, bu yazıda olduğu gibi dili kullanan bir kişiden gelen eleştiriler bir yana, dili tasarlayan bir kişi bile son derece keskin eleştirilr getirebiliyor. Meseleyi başlıbaşına bir dil eleştirisine dönüştürmek anlamlı olmaz yani.

0
yilmaz
Tabiki dilin kendisinin bir dayatma yapıyor olup olmaması önemli. Dil ile değilde ide ler ile hayatımız iren boyle bir durum var. Örneğin MS kendi Solution Framework'unu ide leri ile bize şart koşuyor. MONO ile bu durum biraz aşılsada .net framework'un standartlarının sadece MS tarafından belirlenmesi MONU yu oluşturan çevreyi zora sokacaktır. Çünkü .net 2.0 ile gelen web bileşenlerinin bir kısmı iis 6 ve share point services desteği istiyor.
0
FZ
Benim anlamadığım konu neden sürekli Microsoft'a gelip dayanıyor? Yazıda Java diyoruz, Perl diyoruz, bunun ötesinde Haskell diyoruz mesela, Lisp diyoruz. Sıradışı uygulamalar, güçlü programlama paradigmaları ve yenilikçi bakış açıları diyoruz. Dil geliştirme teknolojilerinden ve verili olanı kabul etmenin ötesine geçmekten bahsediyoruz. Konu "Java versus MS" kadar kısır bir konu değil ki (tabii MS ArGe ortamında Haskell, Lisp, fonksiyonel programlama vs. konularına da hakkıyla eğilen araştırmacılar yavaş yavaş ortaya bir şeyler koymaya başlıyorlar, bu ayrı mesele).
0
yilmaz
java vs ms yokki orda. MONO dan bahsetmiş bende MONO nun yakın zamanda tarih olacağını soyledim java yazmadım o yorumda. Ama MS i iyi programcılar için tehdit olarak görüyorum. ve karşısında durabilecek platformun java olduğuna inanıyorum.
Bu arada .NET seminerlerine katılmanızı tavsiye ederim.
0
roktas
Ah şu farklı algılanan örnekler! Bakın ben o Mono örneğini şunun için verdim. Kötü kod/tasarım her dilde vardır, C#'da da var, Perl'de de var (istemediğiniz kadar hem de). Yazarın (ve benim de) _ekserî_ Java örneğinde vurguladığı nokta, _aşırı_ soyutlama merasimleri biçiminde bir tipik görüntünün hakim olması. Ama meselenin spesifik bir dili aşan tarafları var, bunu da (Java lehine niyetiyle kurgulanmış) bir örnek vererek anlatmak istedim. Bu tarz programlama, Miguel de Icaza gibi özgür yazılım geliştiricilerinin de pek sevmediği bir tarzdır. Şimdi bu arkadaşlar ne yapıyorlar? Java benzeri bir dille yani C# ile paşa paşa, kendi tarzlarında iş çıkartıyorlar. Demek ki kullanılan dilden (bir ölçüde/büyük ölçüde?) bağımsız bir hadise var ortada. Java yakînim olan bir camia değil, o yüzden o dünyadan örnekleme yapmadım, ama Mono cephesini biraz daha iyi tanıyorum. Java konusunda benden daha fazla malumat sahibi arkadaşlar eminim ki o dünyadan da doğru örnekler verecektir. Konu bir Perl/Java karşılaştırması değil. Mono'nun, .Net'in geleceği hiç değil. "Mono tarih olacak, MS iyi programcılar için bir tehdittir, vs". Niçin böyle refleksler üretiyoruz? Neden bu yargılar çok köşeli böyle? Hakikaten şaşırıyorum.
0
yilmaz
konunun baya dışına çıktık sizin örnekten buraya gelmedik mono geçiyor içinde diye bende onu örnek gösterdim.
MONO .net uyarlaması değil mi? 2.0 ı destekleyebilecek mi? hayır.
demekki tarih olacak.
ben böyle düşünüyorum. köşeli biraz ama böyle düşünüyorum.
0
FZ
"Dil hiçbir şeydir, dilin etrafında oluşmuş camia ve kültür her şey" (ya da hype her şeydir ve ekonomi rasyonel filan değildir) sloganını haykırdıktan sonra Perl Monks, Perl Mongers, comp.lang.lisp gibi gruplara dikkat çekiyor, roktas'a güzel yorumundan ötürü teşekkür ediyor ve sessizliğe gömülüyorum (bir sonraki gevezeliğe kadar).
0
anonim
Haberde gönderilen makaleyi ve yorumları okuduktan sonra bir Java programcısı (3-4 yıllık) olarak görüşlerimi bildirmek istedim; Java'yı ilk öğrenirken oldukça basit gelmişti, C ve C++'da karşılıştığım zorluklarla karşılaşmıyordum ve kütüphane ve yardım bulmak oldukça kolay gelmişti. Yazdığım masaüstü ve web programların linux, windows ve mac sistemlerinde çalışması beni çok memnun etmişti. Fakat işler ilerledikçe yani "Enterprise" seviyeye gelince işler karışmaya başladı. İlk J2EE specification'u okuduğumda ben bu kadar zamandır herhalde başka bir dil ile uğraşıyodum bu Java değil demiştim ve CMP, BMP ve Session Bean kavramlarını çözene kadar epeyi zorlanmıştım. Yine aynı şekilde Servlet'lerle web sayfası hazırlamak kolaydı fakat projeler büyüyünce işin içine JSP, JSTL, custom tags, Spring, O/R mapping, JSF, Struts (bu daha devam ediyor...) gibi kavramlar girince tamamiyle bir bataklığa saplandığımı hissetmiştim. Ama dikkatli bir kaç kitap seçip ve bu kitapların dikkatlice okuduktan sonra bu bataklıktan kurtulduğumu hissettim ve şu anda Java'nın "Enterprise" seviyedeki işler için en iyi seçimlerden biri olduğunu düşünüyorum. Zor ama oldukça eğlenceli ve zevkli.
Kısaca söylemek gerekirse Java ilk öğrenmek için kolay fakat üzerinde uzmanlaşmak ve büyük projeleri başarılı bir şekilde yapmak için oldukça emek isteyen bir dil.
Benim kanımca bir programlama dili öğrenip önünüze gelen her işi o dil ile yapmaya kalkmak pek doğru değil. Projemizi kolaylaştıracak bi programlama dili ile geliştirmeliyiz diye düşünüyorum.
Sevmeyenler olabilir ama ESR'ın How to become a hacker how to belgesinde ki aşağıdaki paragrafı oldukça beğeniyorum. "But be aware that you won't reach the skill level of a hacker or even merely a programmer if you only know one or two languages — you need to learn how to think about programming problems in a general way, independent of any one language. To be a real hacker, you need to get to the point where you can learn a new language in days by relating what's in the manual to what you already know. This means you should learn several very different languages."
0
turkishkernel
yazınızda bahsettiginiz bir kac kitabi(batakliktan kurtaranlari) acikca yazarsaniz sevinirim su an ayni sorun bende de varda ilginiz icin tesekkurler
0
anonim
Hangi konularda kitap tavsiyesi arıyorsunuz?
0
yilmaz
JSP, JSTL, custom tags, Spring, O/R mapping, JSF, Struts (bu daha devam ediyor...) gibi kavramlar girince tamamiyle bir bataklığa saplandığımı hissetmiştim. Ama dikkatli bir kaç kitap seçip ve bu kitapların dikkatlice okuduktan sonra bu bataklıktan kurtulduğumu hissettim
demişsiniz. o kitaplar herhalde
0
ahmetaa
Yazarin bu konuda sikayet etmesi bence biraz yersiz. Cunku Bouncy Castle PGP icin yazilmis bir sey degil , global devasa bir kripto kutuphanesi uygulamasidir. PGP icinde denizde damla gibi kalir, yazar kendi ozel isteginin kolayca nasil yapilacagini kendi kendine kesfetmeye hele Java tecrubesi olmadan kalkisinca cuvalliyor haliyle. Sonra sormadan etmeden Java uygulama gelistiricilerini genelleyiveriyor. buyrun buradan yakin. Once Google ile "PGP Bouncy Castle" seklinde bir arama yapsaymis keske. Bu arada, bu makale yayinlanali 1.5 yildan fazla oluyor.
0
FZ
Valla o zaman çok garip bir camia Java camiası, deneyimsiz adamlar gidip Struts projesine destek veriyor, 2 kitap yazmış oluyorlar filan. Biraz kıllandırıcı bir durum ;-)

Öte yandan vakti zamanında Java ve kriptografi ile uğraşmış biri olarak acı dolu günler geçirdiğim geldi aklıma. Sun "certified" birileri derdime derman olmaya çalışmış başaramamıştı, cevap bir Türk mühendisten gelmişti "hocam, Regional Settings'i USA/English yap, o zaman çalışıyor o şifreleme kütüphanesi" (Sun'ın resmi bir kütüphanesinden bahsediyorduk). Çok acayip hissetmiştim kendimi, Java ile uğraşanların neden daha çok maaş aldıklarını anlamıştım [şifreleme ile uğraşırken böyle bir şifreli muamma ile karşılaşmak da işin cabası idi] ;-)

Belki de problem Perl camiasındadır. Bu kadar kolay ve rahat kullanılan bir CPAN sistemi yapmamalıydılar! Sonra insanlar böyle garip garip makaleler yazıyor...
0
yilmaz
a problem installerlarda olan bir problem. i harfini buyuk harfe çevrince İ yapıyordu. sadece jar ile alırsanız library problem cozulur.
0
yilmaz
konuyu biraz sağa sola çekince yanlış anlamışsınız sizde. biraz bakış açısından bahsetmiş o kadar. bende 1 kitabı var çok sağlam bir kitap.
0
robertosmix
"Javacı", "Perlci", "Bakkalcı", "Manavcı" gibi terimleri kullanmayı bırakıp, Java, Perl gibi dillerin kullanım şekillerinden (yani programcıların onları ne şekillerde kullandıklarından) başka kullanılabilecek ve kullanılamayacak taraflarını ele alırsak daha faydalı sonuçlar elde edebileceğimiz kanaatindeyim.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Miranda, ICQ´ların en güzeli...

butch

Uzun çabalar sonunda Sundance muradına erdi. Diskte onlarca mb yer kaplayan, %3 işlemci gücü yiyen ve arka planda ne işler çevirdiğini bilemediğimiz Mirabilis ICQ´nun alternatifini buldu. Bana da haberini yazmak düştü... Konumuz Miranda, ICQ´ların en güzeli.

kernelguys.org: Türkçe Sistem Programlama

raistlinthewiz

Birsüre önce almış olduğum domain "kernelguys.org"u değerlendirmeye karar verdim. Aslında Mambo kurulumu yapmayı düşünürken bi anda kendimi vbulletin bir sistemle uğraşırken buldum.

Amaç?

http://kernelguys.org'un amacı Türkçe sistem programlama sunabilmek ve tabii ki eğer mümkün olursa bu konuyla ilgilenenleri bir araya getirebilmek.

Hiçbir şekilde kernelguys "hadi yeni bir forum kuralım" diyerek kurulmuş bir site değildir; vbulletin ihtiyaçlarımızı karşıladığı için seçilmiştir. Şu anda siteye aktif olarak içerik eklemekte ve bu süreçte diğer arkadaşlardan da destek beklemeyiz.

Bir programcı gözüyle DNA

tongucyumruk

"Eğer bir çekiçseniz, herşey bir çivi gibi gözükecektir".

Sanıyorum özellikle bu siteyi takip eden programcıların çoğu en az bir kez biyolojik yapılarla bilgisayarlar arasında bir bağlantı kurmaya çalışmıştır. Bu site DNA'dan başlayıp proteinlere uzanarak bilgisayar kavramları ile bu kavramların biyolojik karşılıkları konusunda oldukça detaylı bir inceleme içeriyor. Eğer kendini 4'lük sistemde (T, G, C, A) çalışan bir robot olarak ifade edenlerdenseniz bir uğramanızda fayda var.

GUI Tarihçesi

FZ

Windows 1.0 neye benziyordu? Peki ya Apple II'yi gören oldu mu? OS/2 V 1.1 ? Hmm peki ya Perq diye bir iş istasyonu duydunuz mu, grafik arabirimini gördünüz mü? 1968'de ilk demosu yapılan 'mouse' ne menem bir aletti? Bugün kullandıklarımıza ne kadar benziyordu? Acaba Xerox Alto sistemini ve Elixir Masaüstünü kullanmak (en azından görsel olarak) nasıl bir duyguydu?

Teknoloji Sivrisineğe karşı!

conan

Tayland'lı bir yazılımcı kardeşimiz sivrisinekleri bilgisayarımızdan 2 metre uzaklıkta tutan bir program yazmış. Yüksek frekansta ses üreten bu program'ın bir çok OS için sürümü mevcut. Yazın bilgisayar başında kaşınmaktan deliriyorsanız bir de bu programı deneyin ;)