Komuniti pengaturcaraan sedang terlibat dalam perbincangan hangat mengenai salah satu tutorial bahasa pengaturcaraan yang paling popular dalam talian. Build Your Own Lisp berjanji untuk mengajar pengaturcaraan C dan pelaksanaan bahasa dalam hanya 1000 baris kod, tetapi pembangun berpengalaman membangkitkan kebimbangan serius mengenai nilai pendidikannya.
Tutorial Mengandungi Amalan Pengaturcaraan C yang Lemah
Pengkritik berhujah bahawa tutorial ini mengajar tabiat pengaturcaraan C yang buruk yang boleh memudaratkan pelajar dalam jangka panjang. Kebimbangan utama tertumpu pada kualiti kod dan amalan terbaik. Sesetengah pembangun bimbang bahawa pemula yang mengikuti panduan ini mungkin mengambil corak pengaturcaraan yang tidak dapat berkembang melampaui projek mainan.
Kritikan yang tajam datang daripada analisis terperinci yang menyerlahkan isu asas dengan pendekatan tutorial ini. Kritikan ini sangat biasa sehingga pembangun telah mencipta sumber khusus untuk menjelaskan mengapa tutorial khusus ini mungkin bukan pilihan terbaik untuk pelajar yang serius.
Konsep Teras Lisp yang Hilang
Satu lagi perkara utama perdebatan melibatkan apa yang sebenarnya menjadikan bahasa pengaturcaraan Lisp . Beberapa ahli komuniti menyatakan bahawa tutorial ini melangkau konsep penting Lisp seperti operasi CAR dan CDR, yang asas untuk memahami bagaimana bahasa Lisp tradisional berfungsi.
Ini JAUH lebih daripada 'Build Your Own Lisp'. Sehingga ke tahap hampir menjadi apa-apa sahaja kecuali itu.
Tutorial ini menggunakan perpustakaan parser siap dibina yang dipanggil 'mpc' bukannya mengajar pelajar bagaimana membina komponen teras ini sendiri. Pendekatan ini, walaupun lebih mudah, mungkin merampas pemahaman yang lebih mendalam yang datang daripada melaksanakan konsep asas ini dari awal.
Konsep Lisp yang Hilang dalam Tutorial:
- Operasi CAR dan CDR (operasi senarai asas)
- Pengoptimuman panggilan ekor
- Kesinambungan dan CPS (Continuation Passing Style)
- Call/CC (Call with Current Continuation)
- Pelaksanaan S-Expression yang betul menggunakan senarai terpaut
Alternatif yang Lebih Baik Disyorkan
Komuniti telah bersatu mengenai beberapa sumber alternatif untuk mereka yang berminat membina bahasa pengaturcaraan. MAL (Make A Lisp) kerap disebut sebagai pendekatan yang lebih komprehensif, walaupun ia memerlukan lebih banyak usaha daripada pelajar. Crafting Interpreters juga menerima pujian sebagai sumber yang unggul untuk memahami pelaksanaan bahasa.
Bagi mereka yang khusus berminat dengan pengaturcaraan C , pembangun mencadangkan untuk mencari di tempat lain sepenuhnya. Konsensus nampaknya ialah walaupun tutorial ini mungkin memberikan sedikit nilai hiburan, ia gagal sebagai sumber pendidikan yang serius.
Sumber Pembelajaran Alternatif yang Disyorkan oleh Komuniti:
- MAL (Make A Lisp): Pendekatan yang lebih komprehensif tetapi kurang bimbingan langkah demi langkah
- Crafting Interpreters: Sangat dihormati untuk konsep pelaksanaan bahasa pengaturcaraan
- Writing a Lisp in OCaml: Tutorial langkah demi langkah dengan asas yang lebih baik
- mpc Parser Library: Parser siap bina yang digunakan dalam tutorial asal
Ciri Lanjutan yang Hilang
Pembangun Lisp berpengalaman menunjukkan bahawa tutorial ini berhenti tepat ketika perkara menjadi menarik. Konsep penting seperti pengoptimuman tail-call, kesinambungan, dan call/cc (call with current continuation) sama sekali tidak ada. Tanpa ciri-ciri ini, bahasa yang terhasil kekal sebagai mainan dan bukannya sesuatu dengan aplikasi praktikal.
Perdebatan ini menyerlahkan cabaran yang lebih luas dalam pendidikan pengaturcaraan: mengimbangi kebolehcapaian dengan ketepatan teknikal. Walaupun tutorial ini berjaya menjadikan pelaksanaan bahasa kelihatan mudah didekati, ia mungkin berbuat demikian dengan mengorbankan pengajaran teknik dan konsep yang betul yang diperlukan pelajar untuk pembangunan dunia sebenar.
Rujukan: Build Your Own Lisp