Bağlı Listeler, C, Lisp, Scheme...

0
FZ
Bağlı listeler programcıların kullanabilecekleri soyutlama araçları arasında önemli yer işgal ederler. Bu veri yapılarını kullanarak veri işleme süreçlerini kolayca yönetmek mümkündür.

Jonathan Bartlett, IBM developerWorks sitesindeki Techniques for using linked lists in C and -- smarter still -- Scheme makalesinde bağlı listelere dair önce C programlama örnekleri vermekte ve daha sonra liste yapısını dilin doğal parçası olarak ele alan Lisp benzeri Scheme dilinde benzer işlerin nasıl daha kolayca ve soyut seviyede yapılabileceğini göstermektedir.

Görüşler

0
malkocoglu_2
Google'da kazara su baglantiya denk geldim: MIT'de bir hocanin unlu bir dersi imis, ve MPED video dersleri indirilebilir halde paylasiliyor:

Ders ismi: "Programlama Dilleri, Yapilari ve Yorumlanmalari (Structure and Interpretation of Computer Programs)".

LISP'de derste isleniyor goruldugu kadariyla.

http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/

Uyari: Video derslerinin buyuklukleri dehset seviyelerde. Indirmesi gunlerce surebilir.





0
bm
Evet bu MIT'de CS birinci siniflara okutulan ders. Kitabi da acik bunun

http://mitpress.mit.edu/sicp/full-text/book/book.html

O filimlerin eski olduguna bakmayin, bugun de o isler ayni. Dil bilenler indirsinler, pisman olmazlar.

Sussman sonra bir de 'Mekanik iyi ogretilmiyor, bunu duzeltmek lazim' diye mekanik kitabi yazdi. 'Structure and Interpretation of Classical Mechanics'

http://mitpress.mit.edu/SICM/book.html

Bu Sussman YZ calisanlarin belki hatirlayacagi 'Sussman Anomaly'de adi gecen Sussman.
0
FZ
Ünlü bir değil, iki hocanın dersi.

ADSL bağlantısı olan biri 20 bölümlük dersi bir iki günde indirebilir.

Ders, bu yazıda bahsedilen Scheme isimli Lisp benzeri dil ile anlatılıyor.

Düzelteyim: Ders, Scheme isimli güzel programlama dili kullanılarak mükemmele yakın şekilde anlatılıyor.

Uyarı: İlk 5 bölümü izledim ve hayran kaldım! Bağımlılık yapabilir! Matematik yüksek lisansı yapmış ve son birkaç yıldır profesyonel yazılım geliştirme işi ile uğraşan bir dostum da benimle birlikte izledi, o da hayran kaldı. Arada videoyu kesip aramızda tartıştık, hoca filanca yerde ne demek istiyor, yeni açılımlar, vizyon genişlemeleri, aa bu enteresan hadi gel buna benzer bir mevzuyu bir de Emacs+SLIME+Common Lisp ortamında deneyelim diye... sonra tekrar videolara döndük, kaldığımız yerden devam ettik, ikimizin tepkileri benzerdi: Vay be, çok acayip adamlar ve olağanüstü bir ders anlatımı.

Bir başka not: Tahta bizdeki üniversitelerin tahtası gibi. Tebeşir de. Masa da, sıradan bir masa. Bilgisayar sistemleri desen yıllar öncesinin, şimdi bizde çok daha gelişmişleri var. Ama öyle detaylar, öyle bir atmosfer, öyle nüanslar var ki, insana bir kez daha "evet bir kurumu kurum yapan, bir üniversiteyi üniversite yapan, farklı kılan duvarı, mobilyası, tahtası, bilgisayarı değil oradaki insanların karizması, çapı, kalitesi, yaratıcılığı, entelektüel derinliği ve hoca öğrenci ilişkisi, hoca hoca ilişkisi" dedirtiyor.
0
bm
Turkiye'deki universitelerde de var boyle hocalar. Zaman icinde 20-30 tanesine boyle bir seri hazirlatmanin maliyeti de boyyuklerimizin bir universite acma toreninden fazla olmasa gerek. Yani biraz gayretle bu tip dersler ve fazlasi Turkce olarak da nete cikar, bunun icin devletin ne icazeti ne yardimi gerekir -- biz yapariz. Zaten farkindaysaniz bu insanlarin Karstaki cocugun evine misafir olup ufkunu acmalarina engel olan seylerin asagi yukari hepsi kendi kendimize getirdigimiz engeller. Teknoloji sayesinde oyle bir ucuzluk ve bolluk olabiliyor ki ufku capi belli insanlarin ufkuyla sinirlandirilmis ufuklar bile iyilesmeninin engellenemez oldugu esigi asmak uzere.
0
malkocoglu_2
||Zaman icinde 20-30 tanesine boyle bir seri
||hazirlatmanin maliyeti de boyyuklerimizin bir
||universite acma toreninden fazla olmasa gerek.

Evet. Bu fikri, sahsen ulasabildigim her yetkili/medya tiplerine soylemekten artik yorgun dustum! Devlet devletse, elini etegini herseyden cekmis ve bir tek sosyal konular ile ugrasmasi gereken bir "sey" ise, bence insanlara veebilecegi bundan daha iyi bir ve hizmet yontemi bulamaz. Konusunda en iyi olan 20-30 hocanin derslerini kayit ederiz (Turkce olarak tabii), ve o 20-30, birdenbire milyonlara olceklenebilir. Endustri uretiminin seri, yazilim uretimin ultra-seri oldugu gunumuzde (kopyalamak/cogaltmaktan bahsediyorum), egitim niye hala el işi hizinda ilerlesin ki?

0
bm
Aman devlet bunu yapmaya kalkarsa lutfen baskasini yasaklayarak yapmasin. Biz yapariz bunu, maliyetler muazzam degil. Bittorrent vs. gibi dagitim kanallari da var. Devlet memuru universite gorevlilerinin boyle islerde rol almalarinin kanuni durumu nedir bilmiyorum ama, bilen var mi? (Sebil dagitimdan bahsediyorum, Creative Commons tipi bir lisansla, para kazanmaktan degil).

0
malkocoglu_2
Devlet yapsin derken, "fon acilsin" demek istemistim, yani X universiteye(lere) verilen belli bir fon (grant) bu isi pek iyi gorur. Isin kontrol mekanizmasi arkasindaki burokrasi ne olur bilemem, uzmanligima girmiyor. Ama verimli bir sekilde yapilabilecek bir is gibi gozukuyor.

0
bm
Ben de oyle anladim. Yanliz devlet bu isleri yaparken baskalarinin yapmasini yasaklayarak da yapabiliyor (internet isinde oyle oldu, 'ben yapicam benden baska kimse yapamaz yapanin kanunla ustune giderim hapse atarim' dedi. Turkiye'nin en az 10 senesi kayboldu bu yuzden. YOK de yarin 'siz benim malimsiniz, ne o oyle internate karsi konusmak' der, kicimizin ustune otururuz. Korkum o.)
0
malkocoglu_2
Baglantinin ise yaramasina sevindim. Son paragrafa da katiliyorum: Iyi hocalar konularini oyle basitlestirerek, arka planini gosterek, sifirdan tureterek ve anektodlarla susluyorlar ki, insana bir anlamak kaliyor. Ve evet, eger iyi hocalar etrafta varsa, dort duvar arasi herhangi bir yer univesite olabilir (iyi bir kitapligi olma sartiyla) :)
0
bm
Bizim alanimizda yavas yavas kutuphane de gerekmemeye basladi. Evet, henus Knuth'un kitaplari acik degil, bir suru akademik yayin hala eski duzenin botudurugu altinda ama bu hizla degisiyor. Mesela FZ'nin enerjisini gomdugu Common Lisp'i tanitma cabalarina bakarsak, en onemli iki kaynagin (CLtL2 ve hyperspec) acik oldugunu, tali kaynaklarin bir kisminin da ulasilabilir oldugunu goruyoruz. FM okurlari arasinda acik dokuman yaratmaya muazzam sosyal destek var, ve kucuk buyuk bircok Turkce belge ortaya cikiyor. Gidisat fena degil, bugun TR'de 10 yasinda olan cocuklar lisede kendi baslarina birseyler ogrenmek istediklerinde bunu kolayca yapabilecekler. (Benim icimi sizlatan on sene evvel on yasinda olanlari bu imkanlardan devlet eliyle kanun yasak vs. marifetiyle mahrum etmis olmamiz.)
0
malkocoglu_2
Genel olarak bir universite kavramindan bahsediyorsak, gene diger kavram olan kitapligin bu okuldaki her ders icin yeterli olacagini soyleyemeyiz. Mesela su an matematikte ihtiyacim olan cogu kaynagi elektronik olarak bulmam mumkun degil.

Bir de tabii, kitaplikta bir kitaba bakarken hemen yanindaki kitabi kesfetme hazzi var! :) Tabii sirf bunun icin e-kitap yapmayalim demiyorum.

Tum bunlardan sonra, hic kusku yok, ileride gidisat elektronik kitaplik oldugu suphesiz. Su video derslerini bir yapalim da! (Alt dallarda duran meyve. Koparmasi kolay).

0
bm
Haklisiniz ortam olarak iyi bir universiteyi yaratmamiz mumkun degil, ama merakliya/hevesliye bilgiyi ulastirmamiz mumkun. Hatta soyle diyeyim merakli ve heveslinin bilgiye ulasmasina engel olmak oldukca zor hale geliyor.

Bu arada matematik icin de yavas yavas acik kitaplar ortaya cikiyor. Mesela (Google'da ilk hit):

http://www.math.gatech.edu/~cain/textbooks/onlinebooks.html

ACM, IEEE ve USENIX'e dijital kutuphanelerini actirmak lazim ama kisa vadede cok zor tabi.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Lisp Resource Kit: Canlı Canlı Lisp ;-)

FZ

LispNYC ve ALU tarafından geliştirilmiş olan The Lisp Resource Kit boot edebilen Debian GNU/Linux tabanlı Knoppix kullanılarak hazırlanmış bir Lisp tanıtım, eğitim öğretim CDsi. Her türlü deneyimden insana Common Lisp programlama dilini ve teknolojilerini tanıtmak amacı ile hazırlanmış ve ekran görüntülerine buradan ulaşabileceğiniz bu CDdeki yazılımların birkaçına örnek vermek gerekirse:

Ruhan İkeda ile Müzik ve Lisp Üstüne

FZ

Bir sonraki Lisp toplantısının konuşmacısı Bilgi Üniversitesi'nde Müzik ve Linux dersini veren Ruhan İkeda.

Ruhan İkeda, gerçekleştirdiği müzik araştırmalarından ve bunlarla bağlantılı olarak kullandığı Common Lisp tabanlı araçlardan bahsedecek.

Düzeltme: Etkinlik 14 Ekim'de değil, 14 Kasım'da gerçekleşecek.

Meta-programlama sanatı

tongucyumruk

IBM DeveloperWorks'te yayınlanan makalesinde Jonathan Barnett meta-programlama ve makro işleme konularını incelemiş. Yazının içinde CPP ve M4 gibi çeşitli makro dillerinden örnekler ve son olarakta Scheme ile yazılmış makrolardan bahsediliyor. Özellikle diğer dillerdeki makrolar ile Lisp ailesindeki dillerin makroları arasındaki farkı anlayabilmek için okunması gereken bir makale.

Microsoft VisualLisp#'i Mi Duyuracak?

FZ

Bill Clementson, blog'undaki son girdide şöyle yazmış:

Don Box, XOM, XML ve SOAP üzerine yaptığı çalışmalardan ötürü Microsoft'a geçmeden önce de bir hayli tanınan bir isimdi. Epey akıllı bir adamdır ve blogunu düzenli olarak takip ederim. Ancak son yazılarından birinde "Lisp/Scheme Jobs" başlıklı bir şey görünce şok geçirdim:

GNU GO, AJAX ve Common Lisp

FZ

SWGo arka planda GNU Go isimli Go moturunu kullanan, Common Lisp ile geliştirilmiş AJAX tarzı bir web arayüzü. Kaynak kodlarına buradan erişmek mümkün. Kodu geliştiren yazılımcı sadece birkaç aydır Common Lisp ve JavaScript ile uğraştığını söylüyor.