Saya tidak cukup tahu Lisp untuk mengatakan apakah itu baik atau buruk. Sepertinya semua orang yang telah menggunakan Lisp menyukainya, namun bahasa yang paling populer saat ini berasal dari C.
Jadi, ada apa dengan Lisp yang begitu hebat dan mengapa tidak lebih sering digunakan? Apakah ada sesuatu yang buruk tentang Lisp (selain jumlah tanda kurung yang tak henti-hentinya)?
Jawaban:
Lisp adalah Chuck Norris dari bahasa pemrograman.
Lisp adalah batasan yang digunakan untuk mengukur bahasa lain.
Knowing Lisp mendemonstrasikan pencerahan pengembang.
Saya pernah mendengar tentang 3 kelemahan (dan argumen balasannya):
Pengetikan dinamis.
Ada argumen untuk bahasa yang diketik secara statis di luar sana yang berputar di sekitar memberikan informasi yang cukup kepada kompiler untuk menangkap kelas kesalahan tertentu sehingga tidak terjadi pada waktu proses. Tapi Anda masih perlu menguji.
Artikel ini membahas pengetikan dinamis bersama dengan lebih banyak pengujian: Pengetikan Kuat vs. Pengujian Kuat .
Sulit untuk diambil.
Sebenarnya ada dua bagian untuk ini: pembelajaran dan alat.
Lisp membutuhkan upaya untuk benar-benar "mendapatkan", tetapi itu sepadan, karena mempelajari Lisp benar-benar akan membuat Anda menjadi programmer yang lebih baik dalam bahasa lain. Misalnya, setelah Anda benar-benar "mendapatkan" penutupan, Anda akan memahami kelas-kelas dalam Java. Dan begitu Anda "mendapatkan" fungsi kelas satu, Anda akan tertekan setiap kali Anda menggunakan bahasa tanpa fungsi tersebut.
Saya telah membaca The Little Schemer dan sedang membaca Practical Common Lisp , yang keduanya sangat baik.
Berikutnya adalah alatnya. Saya menggunakan Mac, jadi saya memusatkan perhatian pada Aquamacs Emacs (membuat Emacs layak huni untuk pemula) dan Steel Bank Common Lisp (SBCL).
Kurangnya perpustakaan.
Saya belum bisa memastikannya, tapi saya meragukannya. Untuk membangun situs web, sepertinya Hunchentoot dan Elephant menyediakan seperangkat alat yang bagus. Tapi sungguh saya tidak melihat Lispers mengeluh tentang kurangnya perpustakaan (mungkin karena Lisp sangat kuat sehingga mereka tidak dibutuhkan?).
sumber
Inilah pandangan saya:
Di permukaan, Lisp adalah bahasa pemrograman fungsional sederhana yang bagus. Hampir tidak ada sintaks, dan semua bagian cocok secara logis.
Jika Anda menggali lebih dalam, membaca SICP , dan menulis evaluator metacircular, Anda akan menemukan dua hal: Satu, seluruh penafsir (diberikan hanya beberapa primitif) hanyalah hampir satu halaman kode, dan dua, hubungan antara kode dan data memungkinkan teknik pemrograman yang elegan.
Setelah Anda sepenuhnya menyerap ini, rasanya seperti bahasa lain ditetapkan di batu ketika mereka hanya memungkinkan Anda untuk mengatakan beberapa hal. Lisp dapat membangun abstraksi apa pun jika Anda dapat mendefinisikan sintaks dan semantik untuknya.
sumber
Lisp bagus karena memiliki sintaks yang sangat minimal, sederhana, dan teratur.
Lisp buruk karena memiliki sintaks yang sangat minim, sederhana, dan teratur.
sumber
"Program C atau Fortran yang cukup rumit berisi implementasi setengah dari Common Lisp yang bersifat ad hoc, ditentukan secara informal, penuh bug, dan lambat."
Aturan Kesepuluh Greenspun
sumber
Berikut beberapa tautan bermanfaat:
sumber
The bab pertama Peter Seibel ini sangat baik Praktis Common Lisp mencakup alasan untuk menyukai Lisp. Intinya adalah frasa "bahasa pemrograman yang dapat diprogram" - kemampuan untuk menyesuaikan bahasa dengan domain Anda atau gaya yang disukai.
sumber
Sumber: http://www.gigamonkeys.com/book/introduction-why-lisp.html
sumber