Saya mencari versi Skema atau bahkan LISP yang dapat saya gunakan untuk memulihkan beberapa keterampilan pengembangan Lisp yang hilang. Beberapa kemampuan web akan bagus tetapi tidak penting.
Saya telah melihat skema Plt dan MIT dan, meskipun keduanya terlihat cukup bagus, Plt tampaknya lebih kaya fitur. Saya juga telah melihat implementasi Lisp tetapi semuanya tampak cukup mahal.
Saya menyukai implementasi yang gratis / tidak mahal karena kemungkinan besar ini hanyalah pemrograman hobi sesekali. Rekomendasi apa yang akan Anda miliki?
Jawaban:
Saya akan pergi dengan Racket. Ini mungkin tidak secepat SBCL, tetapi memiliki perpustakaan dan dokumentasi yang sangat baik, serta lingkungan terintegrasi yang dirancang untuk membantu Anda mengembangkan dan menjalankan program Skema langsung dari gerbang. Apa yang saya sangat suka tentang IDE Racket, DrRacket, adalah apa yang tidak perlu Anda lakukan — Anda tidak perlu mempelajari Emacs, Anda tidak harus mempelajari SLIME, Anda tidak perlu khawatir tentang mencari ketiga- perpustakaan partai, karena hampir semua perpustakaan yang dimaksudkan untuk Racket dapat ditemukan dalam paket . Secara keseluruhan, ini benar-benar mengurangi kurva pembelajaran dan memungkinkan Anda untuk fokus pada tugas aktual yang ada: menulis kode yang hebat.
Juga, ia hadir dengan server web jika Anda ingin membuat situs web yang didukung Racket (yang saat ini saya cari).
sumber
Saya melakukan sedikit percobaan dengan ini.
Clozure Common Lisp (née Open MCL) sejauh ini adalah yang tercepat; 25-30 persen lebih cepat dari pesaing berikutnya di intel Mac Mini saya.
Skema MIT bekerja dengan cukup baik di Mac. Saya pikir saya akhirnya mengkompilasi sendiri, tetapi ada binari di situs itu. Skema PLT juga bagus, dan mungkin sedikit lebih terintegrasi dengan dunia Mac. (Skema PLT sekarang dikenal sebagai Raket , tetapi saya belum bereksperimen dengannya setelah perubahan.)
sumber
loop
makro yang berat.Saya penggemar berat Clojure, SBCL, dan Clozure CL. Mereka semua fantastis, tetapi mereka juga berlebihan jika yang ingin Anda lakukan hanyalah menyegarkan daging Lisping Anda. Mereka semua membutuhkan perburuan info yang tidak masuk akal, pencarian milis, penginstalan paket, irc mengintai, dll.
Skema Dr hanya menginstal dan menjalankan. Saya menyelesaikan 3 bab pertama SICP empat setengah tahun lalu menggunakan Dr Scheme. Tidak ada yang lebih mendalam daripada mendefinisikan evaluator Skema itu sendiri. Setelah Anda menyadari bahwa Anda akan memiliki lebih banyak kesabaran untuk saudara-saudara kekuatan industri.
sumber
Untuk Skema, DrRacket luar biasa (termasuk dalam Racket ).
Untuk Common Lisp, Ready Lisp sangat bagus. Satu dmg dengan SBCL, Aquamacs, dan Slime bekerja di luar kotak.
Dari situs web:
sumber
Saya baru saja mulai bermain dengan Clojure . Ini rupanya memiliki kerangka web yang bagus , dan dikompilasi ke bytecode JVM.
Saya juga cukup sering menggunakan DrScheme . Ini adalah IDE yang sederhana namun berguna.
sumber
Tergantung bagaimana Anda mendefinisikan "Lisp", Clojure mungkin sesuai dengan kebutuhan Anda. Ini berjalan di OS X dengan baik (berjalan di mana saja JVM berjalan). Ini memiliki kemampuan web dan gratis.
Ini juga memiliki keuntungan menjadi baru dan segar dan menyenangkan untuk digunakan. Mungkin ideal untuk pemrograman hobi. Sangat mudah untuk menulis aplikasi web atau aplikasi GUI (menggunakan Java's Swing atau bahkan Qt).
sumber
Saya sendiri belum pernah menggunakannya, tapi Steel Bank Common Lisp telah menerima beberapa kabar baik di reddit. Ini open source dan gratis jadi harganya cocok untuk beberapa hobi pemrograman.
Di masa lalu, saya memiliki GNU Common Lisp yang berjalan di macbook pro saya.
sumber
Jika Anda mencari Skema, Anda dapat melihat JazzScheme yang baru saja dirilis .
sumber
Saya merekomendasikan Racket untuk pendatang baru, karena ini menyediakan salah satu IDE terbaik untuk pemula Skema (atau lebih tepatnya, pemula pemrograman yang kebetulan menggunakan Skema, atau lebih baik lagi, bekerja melalui HtDP).
http://racket-lang.org/
Pilihan lain, bagi orang-orang yang lebih tertarik pada sistem Skema kecil untuk memodifikasi sendiri atau membaca kode sumbernya, adalah Skema Larceny, yang menarik terutama karena kompiler JIT-nya, Twobit, sendiri diimplementasikan sepenuhnya dalam Skema.
http://www.larcenists.org/
Pembaruan: Selain itu, Skema Chez baru-baru ini telah bersumber terbuka:
https://github.com/cisco/ChezScheme
(Ini mungkin tidak sekecil Larceny, tetapi ia memiliki kompiler pengoptimalan yang sangat agresif.)
sumber
Anda mungkin ingin melihat apa yang ada di Association of Lisp Users atau Common Lisp Wiki untuk melihat apa yang ada di sana. Saya mengatur diri saya dengan Steel Bank Common Lisp dan Emacs, tetapi sejauh ini hanya sedikit yang saya lakukan.
sumber
Jika Anda hanya hobi pemrograman, LispWorks memiliki versi pribadi gratis yang cukup kuat dan canggih. Masalah terbesarnya adalah batas waktu berjalan beberapa jam. Jadi, Anda tidak akan menulis server yang berjalan lama di dalamnya, tetapi itu tidak berarti itu bukan alat yang berguna.
CLISP berjalan di hampir semua hal, dan sebenarnya cukup bagus, CLISP tidak melakukan utas. (Penting jika Anda ingin menulis server yang sebenarnya, tetapi seperti yang ditunjukkan PHP dan Perl kepada kita, Apache + [masukkan bahasa] adalah platform yang sangat layak.)
sumber
Clozure CL tersedia gratis dari toko mac!
http://itunes.apple.com/us/app/clozure-cl/id489900618
sumber
Saya telah menemukan bahwa Chicken bekerja dengan baik untuk Scheme dan tersedia melalui homebrew.
Sebagian besar kode dari SICP berfungsi dengan sedikit modifikasi.
sumber
Saya telah menanyakan diri saya pertanyaan yang sama belakangan ini. Setelah menggunakan DrScheme di OS X, ini akan menjadi pilihan distribusi Skema pertama saya untuk platform apa pun. IDE yang sangat bagus, fitur debugging, dan kumpulan library / framework yang bagus (termasuk toolkit GUI yang sangat bagus yang 'hanya berfungsi ... bahkan di Mac' ;-))
Namun, sekarang saya sedang mencari lingkungan yang sama nyamannya untuk Common Lisp. Itu turun ke CCL (OpenMCL) versus SBCL. SBCL tampaknya menjadi pilihan yang populer tetapi saya membaca bahwa di OS X tidak mendukung threading. (Apakah ini benar-benar menjadi masalah?). Clozure CL, di sisi lain, menawarkan dukungan yang baik untuk utas asli, jembatan obcj, dll ...
Saya menemukan CCL agak aneh tetapi saya akan tetap menggunakannya untuk sementara waktu - Ini masih terlihat seperti pilihan logis untuk integrasi.
Saya menggunakan Emacs 23 (dibangun dari sumber menggunakan --with-ns) dan Slime sebagai lingkungan dan ini bekerja dengan baik untuk saya. :-)
sumber
Pergilah dengan Racket . Saya sangat senang dengan itu!
sumber