Jika Anda menelusuri pertanyaan kode golf di StackExchange , Anda melihat satu ton bahasa dunia non-standar tetapi dunia nyata (Misalnya bukan otak-f * ck) seperti F # , Scala , R , J dan Clojure . Mengunjungi situs web mereka, beberapa bahasa terlihat menarik untuk memecahkan masalah dalam bahasa apa pun yang sudah Anda gunakan.
Namun ada coding di waktu luang, dan coding untuk uang. Hal yang paling dekat dengan kebenaran tentang siapa yang menggunakan bahasa adalah Indeks TIOBE , yang tidak mencantumkan bahasa di atas dalam 10-15 besar. Yang membuat saya bertanya-tanya apakah saya akan pernah menggunakannya.
Haruskah saya repot-repot mempelajari beberapa bahasa niche kecil? Sepertinya saya tidak akan menghasilkan uang, dan beberapa mungkin akan gagal juga.
sumber
Jawaban:
Hipotesis Sapir-Whorf . Ini menyatakan, kurang lebih, bahwa apa yang dapat Anda pikirkan dibatasi oleh apa yang Anda miliki untuk menggambarkan bahasa. Konsekuensi dari ini adalah bahwa orang multi-bahasa dapat berpikir dengan cara yang tidak bisa dilakukan oleh penutur satu bahasa.
Banyak orang (termasuk saya) berpikir ini juga berlaku untuk pemrograman. Belajar Lisp, misalnya, mengajarkan Anda cara berpikir yang sama sekali baru tentang masalah yang dapat Anda terapkan ke C # atau Java atau Python. Semakin banyak paradigma bahasa yang Anda pelajari, semakin banyak alat yang ada di kotak alat mental Anda, terlepas dari bahasa apa yang sebenarnya Anda gunakan.
sumber
Saya akan belajar bahasa apa pun yang memperkenalkan saya pada konsep dan paradigma yang belum pernah saya lihat sebelumnya. Itu sebabnya saya belajar haskell dan skema - mereka memperkenalkan saya ke pemrograman fungsi dan pemrograman sebagian besar fungsional masing-masing. Saya tidak akan terlalu peduli apakah skema dan haskell digunakan secara luas, selain dari bagaimana itu akan mempengaruhi dokumentasi dan sumber daya yang tersedia.
Jadi pada dasarnya, jika bahasa niche kecil memperkenalkan Anda pada konsep dan paradigma baru (terutama yang dapat Anda terapkan ke bahasa lain), maka pelajarilah!
Alasan lain Anda mungkin ingin mempelajari bahasa 'kecil / niche':
Bahasa ini memungkinkan Anda untuk memecahkan masalah (jenis) tertentu yang 'lebih baik' (lebih cepat, dengan solusi yang lebih baik, lebih mudah dibawa, dll) daripada bahasa lainnya
Bahasa ini memungkinkan Anda untuk memecahkan masalah seperti halnya bahasa populer, tetapi memiliki beberapa fitur keren yang Anda sukai (mis. Clojure)
sumber
Yah saya menggunakan Clojure (salah satu "bahasa khusus" yang Anda sebutkan) dan menemukan bahwa itu adalah pengalaman yang sangat berharga.
Saya pribadi memberi perhatian terbatas pada hal-hal seperti TIOBE - mereka tidak benar-benar memberi tahu Anda banyak hal di luar apa yang telah populer di masa lalu. Berguna mungkin jika Anda ingin pekerjaan mempertahankan sistem lama, kurang jika Anda ingin belajar dan memperluas wawasan Anda.
sumber
Alasan untuk mempelajari bahasa khusus jarang harapan bahwa Anda akan menggunakannya secara langsung (untuk uang atau sebaliknya). Biasanya untuk mempelajari beberapa aspek atau gaya pemrograman baru. Melakukannya cenderung membuat Anda menjadi programmer yang lebih baik (dan ya, mungkin lebih berharga), bahkan jika Anda tidak pernah menggunakan bahasa itu untuk menghasilkan kode "produksi".
sumber
Berbicara sebagai pengembang profesional dalam bahasa khusus , dimungkinkan untuk mencari nafkah. Ada kelebihan dan kekurangan, meskipun.
Hal-hal yang lebih sulit:
Hal-hal yang lebih mudah:
Hal-hal yang adil adalah :
Secara keseluruhan, jika karier adalah urusan Anda, Anda tidak boleh menjadi kuda poni satu trik, arus utama, atau niche.
sumber
Saya saat ini belajar Ruby dengan menggunakannya untuk memecahkan masalah Project Euler , hanya karena saya menghabiskan sebagian besar hari saya pemrograman dalam C atau PHP (dan kadang-kadang C #) dan saya ingin memperluas wawasan saya. Sejauh ini benar-benar membuka mata saya untuk apa yang bisa dilakukan. Bahkan jika saya tidak pernah menggunakannya untuk pekerjaan "nyata", saya percaya waktu yang dihabiskan untuk mempelajarinya akan bermanfaat.
sumber
Setuju dengan semua poin yang disebutkan. Motivasi lain untuk mempelajari bahasa khusus adalah kemungkinan bahwa suatu hari bahasa tersebut akan menjadi sangat populer. Dalam situasi ini, investasi awal Anda dalam bahasa tersebut dapat memberi Anda petunjuk tentang kerangka kerja yang berpengaruh, dan elemen-elemen bahasa yang mungkin banyak diminati di masa depan.
Jika bahasa tersebut menjadi populer, Anda sudah akan terampil di dalamnya, dan karena itu Anda akan banyak diminati.
Peluang rendah, berpotensi imbalan tinggi.
sumber
Seperti yang hampir dikatakan orang lain, mempelajari bahasa khusus hanya karena itu bahasa khusus tidak masuk akal. Namun, sering kali, bahasa khusus mengeksplorasi konsep lebih jauh / lebih dalam daripada yang bisa dilakukan atau diinginkan oleh bahasa umum.
Dan terkadang bahasa khusus sudah ada jauh, jauh lebih lama daripada bahasa umum mana pun - Smalltalk, Prolog, dan bahasa Lisp melompat ke pikiran. Mereka mungkin tidak populer, tetapi mereka juga tidak menghilang.
sumber