EDIT: Pertanyaan ini pada awalnya tampaknya bashing Java, dan saya kira pada titik ini agak. Namun, poin yang lebih besar yang saya coba utarakan adalah mengapa satu bahasa tunggal dipilih sebagai ujung semua semua solusi untuk semua masalah. Java adalah yang digunakan sehingga yang harus saya kalahkan di sini, tapi saya tidak sengaja merobek Java yang baru :)
Saya tidak suka Java di sebagian besar pengaturan akademik. Saya tidak mengatakan bahasanya sendiri buruk - ia memiliki beberapa aspek yang sangat diinginkan, yang paling penting kemampuan untuk berjalan tanpa kompilasi ulang pada sebagian besar platform apa pun. Tidak ada salahnya menggunakan bahasa untuk Aplikasi Berikutnya Anda ^ TM. (Bukan sesuatu yang secara pribadi akan saya lakukan, tapi itu lebih karena saya memiliki lebih sedikit pengalaman dengannya, daripada desainnya yang buruk)
Saya pikir itu sia-sia bahwa kursus CS tingkat tinggi diajarkan menggunakan Java sebagai bahasa. Terlalu banyak rekan siswa saya yang tidak dapat memprogram apa pun, karena mereka tidak tahu bagaimana bekerja di dunia yang tidak dikoleksi sampah. Mereka pada dasarnya tidak memahami mesin yang mereka pemrograman. Ketika seseorang dapat bekerja di luar dunia pengumpulan sampah, mereka dapat bekerja di dalam satu dunia, tetapi tidak sebaliknya. GC adalah alat, bukan penopang. Tetapi cara itu digunakan untuk mengajar siswa ilmu komputer adalah sebagai penopang.
Ilmu komputer tidak seharusnya mengajarkan seluruh rangkaian program yang dirancang untuk satu bahasa. Siswa pergi dengan gagasan bahwa semua desain yang baik adalah desain Java idiomatik, dan bahwa Desain Berorientasi Objek adalah SATU CARA YANG BENAR YANG HANYA CARA HANYA DAPAT DILAKUKAN. Bahasa lain, setidaknya salah satu dari mereka bukan bahasa sampah yang dikumpulkan, harus digunakan dalam pengajaran, untuk memberikan lulusan pemahaman yang lebih baik tentang mesin.
Sangat memalukan bahwa seseorang dengan PHD di CS dari lembaga yang disegani tidak bisa memprogram jalan keluar dari kantong kertas.
Yang lebih buruk, adalah ketika saya berbicara dengan para profesor CS yang benar-benar memahami bagaimana berbagai hal beroperasi, mereka berbagi perasaan seperti ini, bahwa kami melakukan tindakan yang merugikan siswa kami dengan melakukan segala sesuatu di Jawa. (Perhatikan bahwa di atas akan sama jika saya menggantinya dengan bahasa lain, umumnya menggunakan satu bahasa adalah masalahnya, bukan Java itu sendiri)
Secara total, saya merasa saya tidak bisa lagi menghormati gelar apa pun - ketika saya tidak bisa melihat orang-orang di sekitar saya bisa memprogram jalan keluar dari masalah fizzbuzz.
Kenapa / bagaimana bisa seperti ini?