Mojo भाषा (Modular द्वारा, अब Qualcomm) अब ओपन-सोर्स है

LLVM और Swift के निर्माता Chris Lattner द्वारा बनाई गई और अब Qualcomm के स्वामित्व वाली नई systems programming language Mojo को वर्षों की आंशिक उपलब्धता के बाद अंततः Apache 2.0 के तहत पूरी तरह open-source कर दिया गया है। टिप्पणीकार इसे CPUs, GPUs, और AI accelerators पर high-performance heterogeneous computing के लिए Python-जैसी, MLIR-आधारित भाषा के रूप में इसकी संभावनाओं, तथा देर से open-sourcing, अस्पष्ट दीर्घकालिक governance, और Rust, C++, CUDA, और Triton जैसी स्थापित भाषाओं/टूल्स के बीच वास्तविक ecosystem बनाने की क्षमता को लेकर चिंताओं के बीच तौल रहे हैं। कई लोग Qualcomm की इस चाल में रणनीतिक मकसद देखते हैं—खासकर एक anti-NVIDIA कदम के रूप में—जबकि अलग-अलग developers इसे आज़माने को लेकर उत्साह और Mojo के स्थायी traction पाने को लेकर संशय के बीच बँटे हुए हैं.

Mojo का दायरा और मूल्य प्रस्ताव

  • इसे एक आधुनिक सिस्टम्स भाषा के रूप में रखा गया है, जिसमें Python-जैसी syntax, मज़बूत SIMD support, compile-time features, और heterogeneous compute (CPUs, GPUs, accelerators) पर ध्यान है।
  • मुख्य बिक्री बिंदु: एक ही भाषा और compiler जो NVIDIA/AMD/Apple GPUs, TPUs, Trainium, और CPUs को target करता है, बिना अलग CUDA/ROCm/Metal stacks के।
  • उपयोगकर्ताओं का कहना है कि वे CPU पर C++/Rust के करीब performance पा सकते हैं, फिर workloads को GPU पर आसानी से ले जाकर बड़े speedups देख सकते हैं।
  • कुछ लोग इसे numerics और systems tasks के लिए Python के संभावित statically typed विकल्प के रूप में देखते हैं; दूसरों का कहना है कि यह अभी Rust या Zig के ऊपर इसे चुनने को उचित नहीं ठहराता।

Performance, Design, and Roadmap

  • मौजूदा performance benchmarks पर कुछ आलोचना है: बताया गया है कि कुछ GEMM examples work को skip करके “cheat” करते हैं, जिन्हें “vibe-coded” कहा गया है।
  • यह सवाल उठाया गया: जब आप Triton/CUDA kernels को auto-tune कर सकते हैं, तो नए compiler में निवेश क्यों करें?
  • जिन मुख्य गायब या अपरिपक्व features की ओर इशारा किया गया है: async support, algebraic data types + pattern matching, बेहतर trait system, और अधिक ergonomic tagged unions।
  • Mojo MLIR के साथ tightly integrated है, जिसे कुछ लोग library-level optimizations और “MLIR++” अनुभव के लिए एक शक्तिशाली foundation मानते हैं।

Python संबंध और ecosystem

  • इसे Python superset के रूप में शुरुआती marketing ने अपेक्षाएँ बना दीं; मौजूदा वास्तविकता पूरी तरह compatible Python से अधिक “Pythonic language” जैसी है।
  • कुछ लोग अब इसलिए अधिक रुचि रखते हैं क्योंकि यह strictly Python subset नहीं है; अन्य लोग full Python interop की कमी को व्यापक adoption के लिए एक blocker मानते हैं।
  • static Python → Mojo transpilation में रुचि है और pattern matching को Python की तुलना में Rust (expression-based) जैसा बनाने में भी रुचि है।

Open-Sourcing, Governance, और Qualcomm

  • कई लोगों का कहना है कि compiler को closed रखना adoption को काफ़ी नुकसान पहुँचा गया; Apache 2.0 के तहत open-sourcing का व्यापक स्वागत हुआ है।
  • open source देर से करने के कारण पर असहमति है:
    • एक पक्ष: देरी ने शुरुआती design churn, community breakage, और “Swift-style” stress से बचाया।
    • दूसरा पक्ष: इसे कमज़ोर या बाद में गढ़ी गई दलील मानता है; उनका कहना है कि असली कारण openness को कम प्राथमिकता देना था।
  • कुछ लोगों को डर है कि Qualcomm का acquisition Mojo को stagnate कर सकता है या purely strategic “anti-NVIDIA” tooling बना सकता है; दूसरों का कहना है कि open-sourcing acquisition से पहले ही planned था और Qualcomm की open-source posture बेहतर हो रही है।

Adoption, LLMs, और Language Landscape

  • छोटे ecosystems सीखने लायक हैं या नहीं, इस पर बहस है; एक विचार कहता है कि communities के बिना languages बेकार हैं, दूसरा नोट करता है कि अब LLMs niche languages भी लिख सकते हैं, जिससे यह बाधा कम हो जाती है।
  • Rust और C++ से तुलना: Mojo का memory model Rust-like बताया गया है, लेकिन surface अधिक procedural/Pythonic है; कुछ लोग इसे “what C++ could have been” मानते हैं, जबकि अन्य कहते हैं कि Rust पहले से ही वह भूमिका निभाता है।