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

Common Lisp ile Oyun Programlama

FZ

Frank Buss, Common Lisp kullanarak Aqueaduct isimli bir mantık bulmaca oyunu (puzzle) geliştirmiş.

Bir grafik kullanıcı arayüzü de olan oyun MS Windows, GNU/Linux ve Mac OS X ortamlarında (kodda bir değişiklik gerektirmeden) çalışabiliyor. Kaynak kodu meraklısı için öğretici olabilir.

Avrupa Common Lisp Buluşması: Sunumlar ve Videolar

FZ

Bu sene 24 Nisan tarihinde, Amsterdam'da, 19 ülkeden 80'i aşkın katılımcıyla gerçekleşen ECLM2005 (European Common Lisp Meeting) pek çok ilginç sunuma ve konuşmaya ev sahipliği yaptı.

Daha önce burada sık sık adı geçen Practical Common Lisp kitabının yazarı Seibel'in "Lispçi olmayanlara Lisp'i nasıl anlatırsınız" başlıklı eğlenceli konuşmasından tutun António Menezes Leitão'nun "Lispçiler için Java" sunumuna dek pek çok videoya Weitz'in sitesinden veya İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri bölümü yansısından erişmeniz mümkün.

Yeni Allegro Common Lisp Eğitim Videoları

opheus

Franz Inc. Allegro Common Lisp eğitimleri bölümü altında "Specialized Components of Lisp" başlığında yeni eğitim videolarını yayınladı. Aynı sayfada bir önceki konu ve videolara ulaşılabilmekte. Dosyaların boyutları 25 - 40 MB arasında değiştiginden dolayı kotalı ADSL kullanıcıları içinde sorun olmayacağını düşünmekteyim.

Son olarak daha önce yayınlanmış olan video dosyaları ve Allegro CL eğitim videolarını bir çalışma gurubu kurarak alt yazı ile türkçemize kazandırmak güzel olmaz mı?

newLISP

bk

Bu kadar Lispçinin gözünden kaçmış olabilir mi bilemiyorum ama ben bulamadım: newLISP for BSDs, GNU/LINUX, MacOS X, Solaris, Win32.

newLISP, yapay zekâ ve istatistik gerektiren alanlarda web uygulamaları ve diğer türden yazılımlar için geliştirilmiş genel amaçlı bir betik dilidir. FAQ belgesi ve Common Lisp ile Scheme'den farklılıkları daha detaylı bilgi vermektedir.

Lisp ile TILSIMLI ve Renkli Programlama: Lisperati

FZ

Tüm zamanların en renkli Common Lisp programlama kılavuzlarından Lisperati artık anadilimizde.

Söz konusu belge İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü öğrencisi Seda Çelebican tarafından Türk diline çevrildi. Belgenin Türk kültürüne uyarlanmasında ve genel editörlük işlemlerinde İstanbul Bilgi Üniversitesi eMBA Yazılım Geliştirme ekibinden Emre Sevinç emek harcadı. Bu süreçte çok titiz eleştirileri, geri beslemeleri ile bize yardımcı olan Bilkent Bilgisayar Mühendisliği bölümü öğrencilerinden Hayrettin Gürkök'e ve Lisp konusunda yardımcı olan Bülent Murtezaoğlu'na teşekkürü bir borç biliriz. Belgedeki hatalardan çevirmen ve editör sorumludur. Orjinal belgenin yazarı Dr. Conrad Barski hiçbir maddi hatadan ötürü sorumlu tutulamaz. Belgeyle ilgili tartışma ve her türlü soru için bu haberin altına yorum yazabilir, iletişim kurabilirsiniz.

Lisperati belgesindeki kodları denemek için hiçbir şey kurmanıza gerek yok. Belgede anlatıldığı gibi uzaktaki bir telnet servisine kolayca bağlanıp kodları hemen derleyebilirsiniz ancak bu konularla daha ciddi ilgileniyor ve kendi Lisp ortamınızı kurmak istiyorsanız daha önce FM'de yayınlanan Common Lisp Geliştirme Ortamı Kurulumu kılavuzundan faydalanabilirsiniz.

Güncelleme (2/5/2005): Kılavuzu PDF olarak hazırlayıp Ayhan Barış'a çok teşekkür ederiz.