9 पॉइंट द्वारा GN⁺ 2025-04-15 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Fennel एक प्रोग्रामिंग भाषा है जो Lua runtime पर चलती है
  • Lua एक सरल लेकिन शक्तिशाली प्रोग्रामिंग भाषा है, जिसे दूसरे प्रोग्रामों में आसानी से integrate किया जा सकता है ताकि उपयोगकर्ताओं को reprogramming की क्षमता मिल सके
  • Fennel Lua की कमियों को पूरा करता है और अधिक स्पष्ट, कम त्रुटियों वाला विकल्प देता है
  • Fennel Lisp-परिवार के syntax का उपयोग करता है, जिससे syntax की जटिलता घटती है और code readability बढ़ती है
  • Fennel variable reassignment, table notation, और function argument checking जैसे क्षेत्रों में Lua से बेहतर सुविधाएँ देता है

Fennel क्या है?

  • Fennel एक प्रोग्रामिंग भाषा है जो Lua runtime पर चलती है
  • Lua एक सरल लेकिन शक्तिशाली भाषा है, जिसे दूसरे प्रोग्रामों में आसानी से integrate किया जा सकता है ताकि उपयोगकर्ताओं को reprogramming की क्षमता मिल सके
  • Fennel Lua की कमियों को पूरा करता है और अधिक स्पष्ट, कम त्रुटियों वाला विकल्प देता है

Lua के फायदे

  • Lua एक छोटी और तेज़ भाषा है, जो लगभग 19,000 पंक्तियों के C code से बनी है और 278kb में compile होती है
  • यह वैचारिक सरलता बनाए रखते हुए भी शक्तिशाली सुविधाएँ देती है
  • इसे दूसरे प्रोग्रामों में आसानी से integrate किया जा सकता है, जिससे उपयोगकर्ता प्रोग्राम को फिर से प्रोग्राम कर सकते हैं

Fennel की प्रमुख विशेषताएँ

  • Fennel Lisp-परिवार के syntax का उपयोग करता है, जिससे syntax की जटिलता कम होती है और code readability बढ़ती है
  • इसमें हर चीज़ expression के रूप में संभाली जाती है, इसलिए operator precedence या early return को लेकर कोई अस्पष्टता नहीं होती
  • variables: global variables का उपयोग कठिन बनाकर गलतियाँ कम की जाती हैं, और variable reassignment के समय var का उपयोग करके स्पष्टता बढ़ाई जाती है

टेबल और लूप

  • Fennel table notation को बेहतर बनाता है, जिससे arrays और key/value tables में अंतर किया जा सकता है
  • loops में for और each का उपयोग करके स्पष्ट syntax दिया जाता है

फ़ंक्शन और अन्य सुविधाएँ

  • Fennel function argument checking को support करता है, और arguments कम होने पर error देता है
  • यह destructuring और pattern matching को support करता है, जिससे अधिक declarative conditional expressions लिखे जा सकते हैं
  • इसमें macro system शामिल है, जिससे नए syntax forms को आसानी se extend किया जा सकता है

2 टिप्पणियां

 
GN⁺ 2025-04-15
Hacker News टिप्पणियाँ
  • नई भाषाओं को Lua runtime को target करते देखना अच्छा लगता है

    • हाल ही में SSE server को Lua में programmable बनाया
    • Lua और mlua-rs Rust bindings की ज़ोरदार सिफारिश करता हूँ
  • Fennel अच्छा है

    • neovim config को Fennel में बदलने के बाद कोई पछतावा नहीं हुआ
  • Forth, Lisp, Lua के अलावा Tcl भी एक छोटे embedded language के रूप में ज़िक्र के लायक है

    • v8 version से यह जटिल हो गया, लेकिन शुरुआती versions बहुत सरल थे
    • Ousterhout की किताब पढ़कर प्रभावित हुआ और इसे खुद implement किया
  • मुझे LISPy भाषाओं का आकर्षण समझ नहीं आता

    • parser सरल और elegant है, लेकिन मेरा मानना है कि developers को users की सुविधा को प्राथमिकता देनी चाहिए
    • code लिखना झंझटभरा है और symbols बेवजह ज़्यादा हैं
    • C जैसी syntax को parse करना इतना भी मुश्किल नहीं है
  • Fennel का Lua में compile होते हुए meta programming features बनाए रखने का तरीका elegant है

    • syntax Clojure की याद दिलाती है, लेकिन JVM overhead नहीं है
    • यह embedded systems या game development के लिए अच्छा संयोजन है
  • Fennel काफ़ी अच्छा है

    • काश यह gradual typing support या static tools के लिए type annotations की अनुमति देता
    • dynamic typing एक वैध विकल्प है, लेकिन gradual typing support वाली भाषाएँ ज़्यादा इस्तेमाल करने के बाद वापस जाना कठिन लगता है
  • Lua पर बने अन्य languages खोजने वालों के लिए जानकारी

  • जो लोग parentheses की शिकायत करते हैं, शायद उन्होंने Lisp में पर्याप्त coding नहीं की है

    • parentheses की आदत पड़ जाने पर भाषा की एकरूपता चमकने लगती है और समझ आता है कि लोग Lisp को क्यों पसंद करते हैं
  • casual और मज़ेदार game development के लिए अच्छा है

    • TIC-80 इसे सीधे support करता है, और Fennel से PICO-8 में आसानी से स्विच किया जा सकता है
 
nemorize 2025-04-15

MoonScript का लिंक गलत जुड़ा हुआ है~
https://moonscript.org/