Emacsen परिवार, एक Emacs का डिज़ाइन, और Lisp का महत्व (2023)
Common Lisp में बना Lem नाम का एक नया Emacs-जैसा संपादक अपनी गति, SDL2-आधारित UI, और अंतर्निहित LSP support के कारण रुचि खींच रहा है, लेकिन साथ ही Org mode, Magit-स्तरीय git tooling, और विशाल extension ecosystem जैसी Emacs की मूल खूबियों की कमी पर सवाल भी उठ रहे हैं। टिप्पणीकार permissive (MIT) और copyleft (GPL) licensing की तुलना editor के संदर्भ में करते हैं, व्यक्तिगत बनाम सामुदायिक स्वतंत्रता तथा यह कि licenses समय के साथ user rights को वास्तव में कितना बचा सकते हैं, इस पर विचार करते हैं। चर्चा Emacs/Vim बनाम VS Code की लंबे समय से चली आ रही बहस तक भी फैलती है, जहाँ Emacs की Lisp-आधारित extensibility और “editor as platform” दर्शन को वह मुख्य कारण बताया जाता है कि कई उपयोगकर्ता VS Code की ओर मुख्यधारा के झुकाव के बावजूद उससे जुड़े रहते हैं।
Lem: Common Lisp Emacs-जैसा संपादक
- Lem को Common Lisp-आधारित Emacs-शैली के संपादक के रूप में रेखांकित किया गया है, और इसके साइट व रेपो के लिंक दिए गए हैं।
- इसमें SDL2 (ग्राफ़िकल) और ncurses (टर्मिनल) दोनों UI हैं; SDL2 को “मज़ेदार” और प्रतिक्रियाशील बताया गया है, और इसका स्टार्टअप तेज़ है (≈1s)।
- Nix/NixOS उपयोगकर्ता बताते हैं कि एक flake मौजूद है, लेकिन वह Lem के वर्तमान संस्करणों से पीछे है।
लाइसेंसिंग: GPL बनाम MIT और सॉफ़्टवेयर स्वतंत्रता
- कुछ लोग इस बात से निराश हैं कि Lem GPL नहीं है; कुछ अन्य पूछते हैं कि यह “उदास” क्यों होना चाहिए।
- एक पक्ष GPL को समुदाय की स्वतंत्रता को बनाए रखने के रूप में देखता है (सुधारों को proprietary enclosure से बचाना)।
- दूसरा पक्ष permissive लाइसेंस (MIT) को व्यक्तिगत स्वतंत्रता को अधिकतम करने वाला मानता है, और तर्क देता है कि GPL अधिक प्रतिबंधात्मक है तथा व्यवहार में लागू करना कठिन है।
- इस पर बहस है कि क्या copyleft समर्थक अंततः software copyright को समाप्त करना चाहते हैं, और क्या वह लक्ष्य संगत है।
- व्यावहारिक बातें: GPL की कानूनी प्रवर्तनीयता, copyleft के प्रति कॉर्पोरेट risk aversion, और MIT code के साथ “कॉर्पोरेशनों के लिए मुफ़्त में काम करने” की चिंता।
Emacs, Vim, VSCode, और “Editor Wars”
- कुछ लोग दावा करते हैं कि लोकप्रियता में Vim और Emacs, VSCode से “हार” गए; दूसरे जवाब देते हैं कि ऐसी ही बातें पहले Sublime, Atom, TextMate, आदि के बारे में भी कही गई थीं।
- कई लोग तर्क देते हैं कि Emacs और Vim का उद्देश्य बाज़ार प्रभुत्व नहीं है, और इनके समुदाय स्थायी हैं।
- एक दृष्टिकोण: किसी भी शक्तिशाली संपादक (Emacs या Vim) में गहराई से जाना, हर नए चलन के पीछे भागने से अधिक महत्वपूर्ण है।
Emacs: संपादक से ज़्यादा एक प्लेटफ़ॉर्म
- Emacs को एक सामान्य प्लेटफ़ॉर्म के रूप में वर्णित किया गया है (PIM, email, IRC, Mastodon client, web scraping, spreadsheets, literate programming, PDF annotation, आदि), न कि केवल एक code editor के रूप में।
- VSCode को एक मज़बूत IDE माना जाता है, विशेष रूप से LSP के साथ, लेकिन वह कम लचीला है: Emacs उपयोगकर्ताओं को configuration के रूप में arbitrary Lisp चलाने देता है, और वे चल रहे process के भीतर ही रहते हैं।
- कुछ लोग programming के अलावा workflows में Emacs के मूल्य पर ज़ोर देते हैं (org-mode, Magit, task management), भले ही कुछ क्षेत्रों में coding ergonomics VSCode से पीछे हों।
Lem की विशेषताएँ, कमियाँ, और UX
- Lem में एक LSP client, Emacs-शैली और Vim-शैली modes, SDL-आधारित image-capable UI, एक directory/filer mode, और staging तथा rebasing के साथ एक WIP Git interface है।
- इसमें अभी Emacs के core “killer apps” जैसे org-mode, Magit-स्तरीय maturity, और rich ecosystem tools (treemacs, vertico, आदि) नहीं हैं, जिससे migration कठिन हो जाता है।
- Modal editing मौजूद है; leader-key शैली setups (Doom/Spacemacs की तरह) अभी नहीं हैं और कुछ लोगों के लिए यही एक blocker माना जाता है।
- एक टिप्पणीकार को built-in graphics/charting अधिक मज़बूत चाहिए; Lem की SDL क्षमताएँ इसका संकेत देती हैं, लेकिन अभी यह पूरी तरह नहीं देतीं।
वेबसाइट और मीडिया डिलीवरी
- EmacsConf वेबसाइट की सराहना की गई कि वह बिना JavaScript के अच्छी तरह काम करती है और हल्की है।
- Apple/Safari पर कुछ उपयोगकर्ताओं को WebM/VP9 playback में दिक्कत होती है, जिससे JS की बजाय codec support पर चर्चा होती है।
इतिहास और संबंधित परियोजनाएँ
- स्पष्टता: मूल EMACS एक MIT AI Lab परियोजना थी; बाद में Gosling Emacs का एक commercial version था, जिसने GNU Emacs को प्रभावित किया।
- Emacs-प्रेरित अन्य परियोजनाओं का उल्लेख है: Rune (Rust), Pimacs (Go), Helix/Kakoune-शैली के संपादक, और ऐतिहासिक Deuce architecture को एक कम आँके गए प्रेरणा-स्रोत के रूप में।