RSS

C# 2.0, anonymous methods ve gözünü sevdiğimin Lisp'i

03 Jun

Diyen boşuna demiyor, üç beş Lisp çalıştı iseniz illa ki başka yerde de işinize yarar diye. C# 2.0’a bakan bir grup programcı “hmm, demek anonymous methods, FindAll’a delegate mi geçiyoruz, ismi ne, isimsiz, ne, niye, nasıl, niçin, generics…” şeklinde bakınırken insanın aklına, Lisp, lambda, vs. gelince hiç öyle “a-aa, Ruby’ye benziyor bak” filan demeden “ha tamam demek buymuş” deyip geçiyor.

Tabii acı çekmiş ve bir süre daha çekmeye devam edecek olan programcı kitlesi The power of closures in C# 2.0, C# 2.0 Anonymous Methods ve Instructions on implementing Perl map and grep with C# 2.0 gibi şeyleri görünce bir seviniyor, bir seviniyor sorma gitsin. 😉

Son durum ne mi?

Görebildiğim kadarı ile Java ve C# ufaktan Common Lisp ve C++ ortamlarında onyıllardır bulunan fikirleri “aman ürkütmeyelim ortalama ve korkak programcıyı” düsturu ile yavaş yavaş, alıştıra alıştıra suya ayak değdirir misali dile katıyorlar (“eh bu tür yapıları çok sık kullandığınızı gördük, size kıyak geçelim dedik, hayır bu tür kıyak geçmeleri ancak biz yapabiliriz, siz dili öyle hamur gibi yoğuramazsınız, cız!”)

Gönül isterdi ki daha az rezalet bir söz dizimi olsun, delegate gibi saçmasapan bir anahtar sözcük kullanılıp zaten kafası karışık ve anlam yüklü C# programcılarının kafası biraz daha karıştırılmasın, isimsiz metodlar biraz daha rahat sözdizim ile sunulsun, generics konusu biraz daha güçlü ve anlamlı söz dizim ile sunulsun (yahu allah aşkına, C++ geleneği filan iyi de ArrayList, SortedList yazabiliyorken neden Person<List> yazamayayım da <List> Person yazmak zorunda kalayım, neden buna müdahale edemeyeyim, programcıların mazohist olduğu sadece bir espri olarak kalsa olmaz mı? Tanrı aşkına!)

Gel de Philip Greenspun’ı tekrar tekrar anma!

Greenspun’s Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.

Advertisements
 
Leave a comment

Posted by on June 3, 2006 in .NET, General, Lisp, Programlama

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: