Saya telah membiasakan diri dengan LISP untuk tujuan peningkatan diri. Salah satu hal yang saya perhatikan adalah bahwa LISP jauh lebih dalam paradigma Matematika daripada mengatakan C. Sintaks dan struktur desain tampaknya menggemakan langsung model matematika sebenarnya dari suatu algoritma. Tidak masuk akal bagi saya mengapa bahkan program CS berbasis Matematika yang bagus belajar C daripada LISP. Saya berpikir bahwa LISP lebih langsung menggunakan konsep matematika yang lebih tinggi daripada C. Saya tidak mengatakan bahwa Anda tidak dapat memodelkan struktur matematika dalam C. Saya hanya memperhatikan bahwa LISP tampaknya terprogram untuk matematikawan.
Saya telah membaca banyak ocehan Joel Spolsky di sekolah-sekolah JAVA dan apa yang tidak - dan saya setuju dengan penilaiannya -, tetapi sekolah saya tidak mengajar JAVA karena alasan itu. Mereka ketat dalam mengajarkan konsep-konsep dasar seperti pointer, desain algoritma, rekursi, dan bahkan instruksi perakitan. Namun, mereka melakukan ini semua dalam C dan c ++. Adakah yang tahu alasan untuk ini dan / atau sejarahnya?
sumber
Jawaban:
BAIK. Jadi, jawaban yang membosankan adalah bahwa, pada akhirnya, sebagian besar sekolah mengajarkan apa yang nyaman dengan profesor, dan sebagian besar profesor tidak tumbuh menjadi peretas Lisp; mereka menghabiskan tahun-tahun awal mereka di lapangan dengan bahasa berbasis Algol. Karena itu, bertahun-tahun kemudian, ketika mereka sedang membangun kurikulum, Anda berakhir dengan sekolah yang mengajarkan CS dengan yayasan di Pascal, lalu C, lalu C ++, dan kemudian Jawa.
Kemudian Anda memiliki sekolah yang tingkatnya lebih rendah dan beberapa tahun lebih muda. Dan mereka melihat ke bar yang ditetapkan oleh sekolah-sekolah yang memimpin, dan mereka melihat bahwa siswa meninggalkan sekolah-sekolah itu mengetahui C, dan mereka melihat bahwa siswa mereka sendiri mengharapkan hal yang sama - jadi mereka mulai mengajar C, lalu C ++, lalu Jawa.
Akhirnya, Anda memiliki beberapa lembaga teknis atau 'ujung bawah' yang hanya mengajarkan serangkaian teknologi apa pun yang akan cocok dengan kata kunci yang diinginkan siswa pada resume mereka - sehingga Anda cukup banyak mendapatkan Java.
Yang sedang berkata, beberapa sekolah memang mengajarkan Lisp, meskipun mungkin lebih dari pilihan bahasa daripada dasar. Dan bahkan sekolah-sekolah yang tidak mengajarkan Lisp sebagai bahasa mandiri, menggunakannya secara luas dalam kursus AI, jadi kursus AI pemula mendapatkan konsentrasi dalam memulai pemrograman Lisp.
sumber
Ini sangat tergantung pada universitas. Skema (dialek bahasa Inggris) telah menjadi bahasa untuk kursus pengantar dalam ilmu komputer di MIT selama berabad-abad, meskipun telah digantikan oleh python baru-baru ini. Saya mendapatkan gelar BS di CS di sebuah sekolah teknik, di mana saya terpapar C, Skema, Prolog, dan C ++ selama tahun pertama saya. Saya pikir itu campuran yang baik.
Saya sangat percaya bahwa bahasa apa yang Anda mulai dengan jauh lebih penting daripada terkena berbagai paradigma sejak awal, sebelum otak Anda membeku menjadi satu cara memandang dunia.
sumber
Pada dasarnya, teori ilmu komputer adalah matematika. Namun, rekayasa perangkat lunak tidak. Pemodelan konsep-konsep matematika secara langsung bukan merupakan keuntungan yang melekat - saya berpendapat itu sering dapat merugikan.
Teori yang baik dan program yang baik belum tentu terkait.
sumber