Untuk aplikasi dunia nyata apa orang menggunakan Clojure?
Saya menggunakan Groovy untuk lem, Java untuk sistem besar, skrip Python / Perl untuk parsing dan lem. Saya dapat melihat diri saya memanggil Clojure dari Java, tetapi saya tidak dapat melihat di mana saya akan menggunakannya dengan sendirinya. Menurut saya, akan lebih mudah menggunakan hampir semua bahasa skrip untuk tugas-tugas adhoc.
Saya bukan ahli Groovy atau fanboy dengan cara apa pun, tetapi menurut saya ia memiliki kerangka kerja dukungan yang lebih baik, alat, dan banyak konstruksi bahasa (penutupan, pemrograman fungsional). Hal yang sama bisa dikatakan untuk Scala.
Mungkinkah masa depannya adalah sebagai bahasa yang tertanam di sistem lain?
(sandwich me BLT)
?Jawaban:
Saya telah menggunakan Clojure untuk:
Itu hal yang praktis / menyenangkan.
Tetapi Clojure juga memiliki banyak kedalaman teoretis. Ide yang akan menjadi semakin relevan saat arus utama datang untuk benar-benar memahami potensi Pemrograman Fungsional.
Pendapat pribadi, tetapi Clojure memberikan konstruksi bahasa yang lebih baik untuk mengatur perangkat lunak dengan benar (tanpa menyebabkan rasa sakit yang tidak semestinya bagi pemrogram yang bekerja) dari semua bahasa yang saya gunakan sejauh ini secara akademis dan profesional - C, C ++, Objective-C, Java, JavaScript, Python, Ruby.
Bukan berarti Clojure sempurna. Tetapi bagi saya, tampaknya itu dibangun di atas fondasi yang lebih baik daripada kebanyakan yang ada di luar sana.
sumber
Mungkin mulai dengan alasan Rich Hickey .
Sedangkan untuk aplikasi dunia nyata, bagaimana dengan roll call penggunaan produksi dari grup google ini?
sumber
Clojure digunakan secara ekstensif untuk memproses data dalam volume besar. Ini sangat cocok untuk data mining / komersial-AI (yaitu: Runa) dan prediksi skala besar (alias WeatherBill). Kisah konkurensi Clojure sangat membantu dalam domain padat data ini di mana pemrosesan paralel hanyalah satu-satunya jawaban.
sumber
Nah, itu pertanyaan yang sulit dijawab. Apa yang ingin kamu lakukan? Tidak banyak yang Clojure tidak cocok untuk itu. Maksud saya, itu tidak terlalu bagus untuk satu dari skrip baris perintah karena waktu startup JVM (kecuali Anda menggunakan kue atau yang serupa), tetapi itu dapat dikatakan untuk bahasa JVM apa pun.
Clojure sangat cocok untuk tugas konkurensi. Itu dibangun dari bawah ke atas untuk menjadi bahasa yang luar biasa untuk konkurensi, dan sistem STM-nya fantastis. Jika Anda perlu melakukan beberapa hal yang berhubungan dengan konkurensi hardcore, Clojure mungkin sangat cocok untuk tugas itu.
Namun, orang harus ingat bahwa Clojure adalah bahasa tujuan umum. Ini tidak hanya cocok untuk ceruk tertentu, dan cenderung berguna untuk banyak atau semua hal yang mungkin cocok untuk bahasa JVM lainnya.
Clojure dirancang untuk menjadi bahasa yang fantastis dalam dirinya sendiri, dan tidak harus menjadi bahasa perekat. Anda dapat membangun sistem dari awal di Clojure tanpa harus menyentuh kode Java secara langsung. Bukan berarti itu tidak menjadi bahasa perekat yang bagus, saya tahu banyak orang telah menggunakannya seperti itu.
Jika Anda memiliki sesuatu dalam pikiran, hal terbaik yang harus dilakukan adalah mempertimbangkan seperti apa solusinya dalam bahasa apa pun yang merupakan opsi. Jika terlihat / terasa lebih baik di Groovy, gunakan Groovy. Keduanya adalah bahasa yang sangat berbeda, dan keduanya memiliki tujuan.
sumber
Anda dapat menggunakan Clojure di mana pun Anda akan menggunakan Groovy atau java. Mengapa Anda ingin melakukan itu? Beberapa orang menyukai cadel. Mereka akan memilih clojure daripada Groovy. Beberapa orang tidak menyukai cadel. Mereka akan memilih Groovy.
sumber