• Clojure सिंटैक्स और LLVM-आधारित नेटिव परफॉर्मेंस को जोड़ने वाली प्रोग्रामिंग भाषा, जो C++ के साथ सहज interoperability प्रदान करती है
  • Clojure की functional और value-oriented विशेषताओं को बनाए रखते हुए, JVM की जगह LLVM को host environment के रूप में उपयोग करती है
  • सभी data structures immutable (persistent & immutable) हैं, और C++ standard library के साथ सीधे एकीकृत हो सकती हैं
  • फिलहाल Alpha चरण में है, और आधिकारिक दस्तावेज़ व उदाहरण jank book में उपलब्ध हैं
  • Clojure ecosystem और C++ native performance को जोड़ने की कोशिश के रूप में, यह functional language और system language के बीच की दूरी कम करने का महत्व रखती है

jank का परिचय

  • jank Clojure के सिंटैक्स और दर्शन पर आधारित एक LLVM-hosted language है
    • JVM की बजाय LLVM पर आधारित है, और C++ interoperability को सपोर्ट करती है
    • Clojure की functional, interactive, और value-centric विशेषताओं को बनाए रखती है
  • इसका लक्ष्य Clojure के साथ उच्च संगतता है; जिस तरह Clojure Java के साथ interoperate करता है, उसी तरह jank C++ के साथ एकीकृत होता है
  • वर्तमान में alpha version में विकसित किया जा रहा है, और विस्तृत जानकारी आधिकारिक दस्तावेज़ में देखी जा सकती है

भाषा की विशेषताएँ

  • सभी built-in data structures immutable (persistent & immutable) रूप में हैं
    • उदाहरण: (def george {:name "George Clooney"})
  • ज़रूरत पड़ने पर side effect को स्पष्ट रूप से किया जा सकता है
    • उदाहरण: (defn say-hi [who] (println (str "Hi " (:name who) "!")) (assoc who :greeted? true))
  • C++ standard library के साथ direct integration संभव है
    • उदाहरण: (cpp/std.this_thread.sleep_for (cpp/std.chrono.milliseconds ms))
  • functional data processing के लिए कई core functions उपलब्ध हैं
    • उदाहरण: (apply + (distinct [12 8 12 16 8 6])) ; => 42

विकास और दस्तावेज़

  • आधिकारिक दस्तावेज़: jank book
  • प्रोजेक्ट LLVM 22 आधारित है और नवीनतम C++ standard के साथ संगत है
  • AOT compilation, GC profiling, CMake build options आदि का समर्थन करता है
  • Nix environment और CI automated build कॉन्फ़िगरेशन भी शामिल है

समुदाय और समर्थन

  • प्रोजेक्ट को GitHub Sponsors के माध्यम से समर्थन दिया जा सकता है
  • सहयोगी कंपनियाँ और व्यक्ति: Clojure Together, nubank, multiply.co, modulr-software आदि
  • community channels: Slack (Clojurians), Twitter

संबंधित प्रस्तुतियाँ और परिचय

  • Clojure Conj 2023 प्रस्तुति वीडियो
  • The REPL Interview और Compiler Spotlight में भाषा का परिचय
  • YouTube: Language Introduction वीडियो उपलब्ध

सारांश:
jank एक ऐसी भाषा है जो Clojure के functional दर्शन को LLVM और C++ native environment में लाती है, और Clojure की productivity तथा C++ की performance को जोड़ने की कोशिश करती है। यह अभी alpha चरण में है, लेकिन Clojure डेवलपर्स और system programmers दोनों के लिए एक नए एकीकृत development experience का प्रस्ताव रखती है.

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.