Saya suka pemrograman dalam bahasa yang tampaknya diarahkan untuk para programmer hardcore. (Favorit saya adalah Python dan D.) MATLAB diarahkan untuk insinyur dan R diarahkan untuk ahli statistik, dan sepertinya bahasa-bahasa ini dirancang untuk orang-orang yang bukan programmer hardcore dan tidak berpikir seperti programmer hardcore. Saya selalu menemukan mereka agak canggung untuk digunakan, dan sampai batas tertentu saya tidak tahu mengapa. Berikut adalah beberapa masalah yang berhasil saya identifikasi:
- (Keduanya): Penekanan ekstrem pada vektor dan matriks sejauh tidak ada primitif sejati.
- (Keduanya): Kesulitan manipulasi string dasar.
- (Keduanya): Kurang atau canggung dalam mendukung struktur data dasar seperti tabel hash dan "nyata", yaitu tipe-parametrik dan nestable, array.
- (Keduanya): Mereka sangat, sangat lambat bahkan oleh standar bahasa yang ditafsirkan, kecuali Anda membungkuk ke belakang untuk membuat vektor kode Anda.
- (Keduanya): Mereka tampaknya tidak dirancang untuk berinteraksi dengan dunia luar. Sebagai contoh, keduanya adalah program yang cukup besar yang membutuhkan waktu cukup lama untuk diluncurkan dan tampaknya tidak dirancang untuk membuat program filter teks sederhana mudah untuk ditulis. Selain itu, kurangnya pemrosesan string yang baik membuat file I / O dalam bentuk apa pun tetapi sangat standar hampir mustahil.
- (Keduanya): Orientasi objek tampaknya memiliki perasaan yang sangat melesat. Ya, Anda bisa melakukannya, tetapi tidak terasa jauh lebih idiomatis daripada OO dalam C.
- (Keduanya): Tidak ada cara yang jelas dan sederhana untuk mendapatkan jenis referensi. Tidak ada referensi kelas atau referensi. Misalnya, saya tidak tahu bagaimana Anda menggulung daftar tertaut Anda sendiri dalam salah satu bahasa ini.
- (MATLAB): Anda tidak dapat menempatkan beberapa fungsi tingkat atas dalam satu file, mendorong fungsi yang sangat panjang dan pengkodean cut-and-paste.
- (MATLAB): Integer tampaknya tidak ada sebagai tipe kelas satu.
- (R): Struktur data dasar yang dibangun tampaknya terlalu tinggi dan tidak terdokumentasi dengan baik, dan tampaknya tidak pernah melakukan apa yang saya harapkan mengingat pengalaman saya dengan struktur data yang serupa tetapi tingkat lebih rendah.
- (R): Dokumentasi tersebar di semua tempat dan hampir mustahil untuk dijelajahi atau dicari. Bahkan D, yang sering mengetuk untuk dokumentasi yang buruk dan masih cukup alpha-ish, jauh lebih baik sejauh yang saya tahu.
- (R): Setidaknya sejauh yang saya ketahui, tidak ada IDE yang bagus untuk itu. Sekali lagi, bahkan D, bahasa yang cukup alfa-ish dengan komunitas kecil, lebih baik.
Secara umum, saya juga merasa seperti MATLAB dan R dapat dengan mudah digantikan oleh perpustakaan lama biasa dalam bahasa yang lebih umum, jika ada perpustakaan yang cukup komprehensif. Ini terutama benar dalam bahasa tujuan umum yang lebih baru yang mencakup banyak fitur untuk penulis perpustakaan.
Mengapa R dan MATLAB tampak aneh bagi saya? Adakah masalah besar lain yang Anda perhatikan yang mungkin membuat bahasa-bahasa ini terasa aneh bagi para programmer hardcore? Ketika penggunaannya diperlukan, apa saja kiat bertahan hidup yang baik?
Sunting: Saya melihat satu masalah dari beberapa jawaban yang saya dapatkan. Saya memiliki preferensi pribadi yang kuat, ketika saya menganalisis data, untuk memiliki satu skrip yang menggabungkan seluruh pipa. Ini menyiratkan bahwa bahasa tujuan umum perlu digunakan. Saya benci harus menulis skrip untuk "membersihkan" data dan meludahkannya, lalu yang lain untuk membacanya kembali di lingkungan yang sama sekali berbeda, dll. Saya menemukan gesekan menggunakan MATLAB / R untuk beberapa pekerjaan saya dan sepenuhnya bahasa yang berbeda dengan ruang alamat yang sama sekali berbeda dan cara berpikir untuk yang lain menjadi sumber gesekan yang sangat besar. Selain itu, saya tahu ada lapisan lem yang ada, tetapi mereka selalu tampak sangat rumit dan sumber gesekan.