Di jalan menuju Pencerahan: Skema, Common Lisp, Clojure? [Tutup]

26

Banyak orang yang lebih pintar dari saya terus menulis ketika Anda belajar Lisp itu membuat Anda seorang programmer yang lebih baik karena Anda "mengerti".

Mungkin semua yang saya dengar tentang Lisp (s) mengubah hidup Anda hanyalah lelucon praktis besar pada para pemula, tapi saya pikir tidak ada salahnya mengetahui lebih banyak tentang dunia, bahkan jika saya tahu saya telah dikirim setelah snipe atau sesuatu .

Saya ingin mengikuti buku SICP, dan atau ANSI Common Lisp, tetapi pada saat yang sama mempelajari dialek dan implementasi yang dapat saya gunakan untuk proyek-proyek pribadi.

SICP berfokus pada Skema, jadi itu satu suara besar. Paul Graham mengatakan bahwa jika dia mengajar pemula, dia akan melakukannya dalam Skema, tetapi kedengarannya Skema itu masih kalah dengan Common Lisp. Tapi kemudian ada Clojure - yang saya diberitahu terbatas dengan cara, tetapi lebih praktis dalam hal lain (perpustakaan JVM).

Sepertinya saya bisa mendapatkan materi Skema dengan lebih mudah, mencapai pencerahan "nyata" dari CL, atau cukup dekat dengan Clojure dan bisa menyelesaikan lebih banyak dengan itu dalam jangka panjang.

Berapa banyak dari semua itu yang benar? Kapan saya harus berhenti memikirkan tentang apa yang harus dipelajari dan pergi serta mempelajarinya?

Conrad.Dean
sumber
4
+1 tetapi hati-hati, mereka tidak semuanya baik di sini, lihat apa yang terjadi pada ini: programmers.stackexchange.com/users/39479
Cedric Martin
1
Hai Conrad, "bahasa apa yang harus saya pelajari selanjutnya?" bukan topik di sini.
@MarkTrapp Permintaan maaf saya. Saya pikir pertanyaan "Bahasa apa yang terbaik untuk [x]?" masih pada topik karena masalah memilih alat yang tepat untuk pekerjaan itu. Saya pikir ada banyak orang yang ingin mengetahui pertukaran mempelajari sesuatu dengan reputasi akademis versus alat serupa yang memiliki akses ke platform yang mapan. Apakah ini masih merupakan alasan untuk penutupan?
Conrad.Dean
2
@ MarkTrapp Saya kebetulan berpikir ini adalah pertanyaan yang bagus. Bentang lanskap dapat membingungkan untuk dinavigasi pada awalnya, dan OP memiliki beberapa kriteria khusus untuk membantu orang menilai jawaban yang tepat. Saya pikir pertanyaan ini hampir tidak samar seperti "Bahasa apa yang harus saya pelajari selanjutnya?".
benekastah

Jawaban:

19

Mungkin semua yang saya dengar tentang Lisp (s) mengubah hidup Anda hanyalah lelucon praktis besar pada pemula

Sama sekali tidak benar, Ini bukan lelucon.
Dengan Lisp Anda akan membangun apa pun yang Anda inginkan, bahkan bahasa pemrograman Anda sendiri.

Anda akan tercerahkan apa pun yang Anda pilih apakah itu CL, Skema atau Clojure.
Saya pribadi menyarankan agar Anda mempelajari Clojure karena itu adalah Lisp aktif, dialek praktis yang mendukung pemrograman bersamaan dengan cara yang elegan dan dijalankan pada JVM (titik penjualan sangat besar).

ClojureScript membawa Lisp ke pemrograman sisi klien yang benar-benar merupakan hal yang keren.

Dan omong-omong, SICP tersedia di Clojure .

Selamat bergabung :)

Chiron
sumber
Terjemahan Clojure dari SICP sangat menarik bagi saya. Terakhir saya memeriksa itu masih dalam proses, tetapi harus lebih jauh sekarang. Adakah yang bisa berkomentar tentang bagaimana terjemahan ini masih mempertahankan nirwana yang Anda dapatkan dari membaca SICP?
Conrad.Dean
@ Conrad.Dean: Yah, itu masih memiliki peringatan yang cukup menonjol: "Anda seharusnya belum berada di sini. Sebenarnya, Anda dipersilakan untuk melihat-lihat. Saya akan menghindari memasang gifs dari kerucut lalu lintas dan menghentikan rambu-rambu , tetapi situs ini sangat banyak dalam pembangunan, dan belum ada gunanya. "
Jerry Coffin
3
Penutupan untuk terjemahan SICP MATI sejak 2009, itu menyedihkan karena solusi ada di clojure ...
AndreasScheinert
jika Anda benar-benar ingin mengubah hidup Anda, pelajari sebagainya, skema, prolog, dan C, dalam urutan itu. Python juga bernilai satu atau dua hirupan. Kemudian, jika kepala Anda belum meledak, pergi dan desain bahasa pemrograman Anda sendiri, atau bantu menyempurnakan bahasa baru lainnya.
Sam Watkins
7

Sepertinya saya bisa mendapatkan materi Skema dengan lebih mudah, mencapai pencerahan "nyata" dari CL, atau cukup dekat dengan Clojure dan bisa menyelesaikan lebih banyak dengan itu dalam jangka panjang.

Jangan mengharapkan keajaiban. Bekerja dalam bahasa seperti Skema akan memperluas wawasan Anda dan mungkin mengajarkan Anda sedikit tentang bagaimana program dijalankan, tetapi itu bukan tiket ekspres ke Sphere of Infinite Consciousness.

Kapan saya harus berhenti memikirkan tentang apa yang harus dipelajari dan pergi serta mempelajarinya?

Sekitar 7 detik setelah Anda selesai membaca jawaban ini.

Caleb
sumber
5

Jika Anda ingin memulai dengan SICP, ikuti skema, hanya karena itulah yang diajarkan buku ini. Pindah dari Skema ke Clojure akan sangat mudah.

Zachary K
sumber
Bisakah Anda mengomentari jika poin utama SICP diterjemahkan ke dalam SICP di proyek Clojure , atau apakah ada yang hilang di antara skema yang ingin dikerjakan?
Conrad.Dean
1
Sejujurnya Sudah terlalu lama sejak aku melempar SICP dan tidak menghabiskan banyak waktu dengan Clojure. Yang penting tentang SICP bukan skema melainkan memahami model perhitungan yang sedang mereka kerjakan.
Zachary K