Han – Rust में लिखा गया Korean-आधारित compiled programming language
(github.com/xodn348)- Korean keywords के साथ लिखा जाने वाला static type वाला compiled language है, जो LLVM IR के माध्यम से native binary बनाता है
- Rust में implement किया गया compiler और interpreter दोनों देता है, और
hglCLI के जरिए build·run·REPL·LSP features को support करता है hamsu,manyak,banbok,byeonsuजैसे सभी keywords Korean में हैं, और variable names व function names भी Korean में define किए जा सकते हैं- file I/O, JSON, HTTP, regex, date/time, system calls जैसी practical features built-in हैं, और 18 examples शामिल हैं
- Hangul की वैज्ञानिक संरचना और सांस्कृतिक प्रसार को programming language में लागू करके, Korean सीखने और coding को जोड़ने की नई कोशिश के रूप में ध्यान खींचता है
Han भाषा का अवलोकन
- Han एक Korean keywords के साथ लिखा जाने वाला static type compiled language है, जो LLVM IR के जरिए native binary बनाता है
- इसमें Rust में लिखा गया compiler toolchain और tree-walking interpreter शामिल है
hglकमांड से interpreter चलाना, build करना, REPL और LSP server चलाना संभव है
- सभी keywords Korean में हैं, उदाहरण:
hamsu,manyak,banbok,byeonsu,chulryeokआदि - Hangul की वैज्ञानिक लिपि संरचना को programming language में लागू करके, भाषाई सुंदरता और तकनीकी सटीकता के संयोजन को लक्ष्य बनाया गया है
मुख्य फीचर्स
- Korean keywords और identifiers support: variable names, function names, struct names आदि Korean में लिखे जा सकते हैं
- Static type system:
jeongsu,silsu,munjayeol,bul,eopseumके 5 basic types देता है - Compile और interpreter modes: LLVM IR → clang → binary generation या immediate execution
- REPL और LSP server:
hgl repl,hgl lspकमांड से interactive execution और code completion support - Built-in features
- arrays, structs, closures, pattern matching, exception handling, generics
- file I/O, JSON, HTTP, regex, date/time, system calls
- format strings, hash maps, built-in math functions
- 18 example programs शामिल: Hello World, HTTP API calls आदि
इंस्टॉलेशन और निष्पादन
- ज़रूरी dependencies: Rust(1.70+), clang
- installation steps
git clone https://github.com/xodn348/han.gitcd han && cargo install --path .
- VS Code extension उपलब्ध: syntax highlighting और LSP support
- CLI commands
hgl interpret <file.hgl>— interpreter चलाएँhgl build <file.hgl>— native binary compile करेंhgl run <file.hgl>— compile करने के बाद तुरंत चलाएँhgl repl— interactive modehgl lsp— LSP server चलाएँ
मौजूदा implementation स्थिति
- पूरी तरह काम करने वाले features
- data types, control flow, functions, strings, arrays, hash maps, structs, error handling, type checking
- JSON, HTTP, regex, date/time, system, file I/O, math functions, modules, generics
- आंशिक रूप से implemented features
hgl buildमें closures·strings·array methods के लिए code generation अभी अधूरा है
- अभी implement न किए गए features
- Null safety (
Optiontype नहीं है), async/parallel processing, garbage collection, tail recursion optimization
- Null safety (
Hangul और programming
- Hangul एक ऐसी वैज्ञानिक लिपि प्रणाली है जो ध्वन्यात्मक संरचना को दृश्य रूप में व्यक्त करती है, जिसे King Sejong ने 1443 में बनाया था
- Han, Hangul की इसी संरचनात्मक स्पष्टता को code grammar में दर्शाता है
- दुनिया भर में 1.6 करोड़ से अधिक लोग Korean सीख रहे हैं, और Han coding के माध्यम से Korean सीखने का साधन देता है
- उदाहरण keywords
hamsu(function),manyak(if),banbok(for),banhwan(return),byeonsu(variable),chulryeok(print) आदि
डिज़ाइन और संरचना
- Rust-आधारित compiler pipeline
- Lexer → Parser → AST → Interpreter / CodeGen → LLVM IR → clang → Binary
- Project structure
src/— core compiler और interpreter codeeditors/vscode/— VS Code extensionexamples/,spec/,tests/शामिल
- डिज़ाइन choices के कारण
- LLVM C API की जगह text-based IR generation से build को सरल बनाया गया
- interpreter तेज़ execution के लिए, compiler performance-केंद्रित
- Rust का pattern matching और memory safety language implementation के लिए उपयुक्त है
टेस्ट और लाइसेंस
cargo testसे 46 tests (41 unit, 5 integration) चलाए जा सकते हैं- MIT license के तहत जारी किया गया है
सांस्कृतिक महत्व
- Han एक प्रयोगात्मक language है जो Hangul की सुंदरता और programming की सटीकता को जोड़ती है
- यह Korean learners और developers दोनों के लिए भाषा और code की सीमाएँ मिटाने वाला नया दृष्टिकोण प्रस्तुत करता है
12 टिप्पणियां
इससे मुझे उपयोगी जानकारी मिली। GeekNews, जो मुख्य और अहम खबरों को चुनकर प्रस्तुत करता है, रोज़ विज़िट करने की खुशी देता है। मैं भी इस समय एक Korean-language programming language विकसित कर रहा हूँ, इसलिए ऐसे प्रयासों का जारी रहना मुझे बहुत सकारात्मक लगता है.
लंबे समय तक विदेश में रहने के दौरान कोरिया के बदलावों को देखते हुए, रोज़मर्रा की ज़िंदगी और पूरे उद्योग जगत में अंग्रेज़ी का ज़रूरत से ज़्यादा घुसपैठ करना हमेशा खलता रहा है। Pangyo dialect, मुश्किल apartment नाम, MSGR जैसे विकृत menu, और अंग्रेज़ी से भरे signboard हमारी भाषा की स्वाभाविक जीवंतता को नुकसान पहुँचाते हुए लगते हैं। भले ही शुरुआती शिक्षा के कारण अंग्रेज़ी की बाधा कम हुई हो, लेकिन मातृभाषा से मिलने वाली सहजता का कोई विकल्प नहीं है। जैसे विदेश में Korean signboard तुरंत नज़र खींच लेते हैं, वैसे ही हमारा दिमाग मातृभाषा को प्रोसेस करते समय सबसे कम ऊर्जा खर्च करता है।
print("Hello, world!");
आउटपुट "नमस्ते!"
इनमें से कौन-सा ज़्यादा सहज और असरदार लगता है?
AI भाषा की दीवारें तोड़ रहा है, लेकिन Korean-language programming language पर शोध हमारे सोचने के ढाँचे में मौजूद अनावश्यक 'translation layer' को हटाकर दिमागी दक्षता को अधिकतम करने का काम है।
printकी तुलना में output के लिए Korean शब्द का अधिक सहज लगना स्वाभाविक है। सार्वभौमिक उपयोगिता या नौकरी बाज़ार के तर्कों के कारण यह तुरंत मुख्यधारा में आना मुश्किल हो सकता है, लेकिन उम्मीद है कि भविष्य में और अधिक परिपक्व तथा विविध Korean-language भाषाएँ सामने आएँगी और इस ecosystem को समृद्ध बनाएँगी।हंगुल है... मैं
밯망히질को रोक नहीं सकता।मुझे Seed प्रोजेक्ट याद आ रहा है।
लगता है कि यह व्यक्ति लंबे समय से डेवलपमेंट नहीं बल्कि अकाउंटिंग का काम करते रहे हैं, लेकिन फिर भी इन्होंने एक compiler बना दिया और GitHub पर 100 से ज़्यादा स्टार्स भी हासिल कर लिए..
सचमुच AI का युग आ गया है
async-awaitकी जगह비동기-대기लिखकर कोडिंग करने के बारे में सोचूँ तो, यह काफ़ी सहज लगता है।लेकिन प्रोग्रामिंग भाषा में सामान्य उपयोगिता ज़्यादा महत्वपूर्ण होती है..
हैकर न्यूज़ की प्रतिक्रिया का इतना दोस्ताना होना मज़ेदार है lol
वाह, कमाल है।
नमस्ते, ताकतवर और शानदार सुबह!
वाह
वाह, Hacker News पर ऐसा कुछ देखना भी अच्छा है। राजा सेजोंग का धन्यवाद।
Hacker News की राय
अगर आपको कोरियाई प्रोग्रामिंग भाषा में रुचि है, तो मैं functional language ‘Nuri’ की सिफारिश करूंगा
Nuri GitHub लिंक
यह सिर्फ keywords का अनुवाद करने तक सीमित नहीं है, बल्कि वास्तविक कोरियाई व्याकरणिक संरचना को कोड में दर्शा सकती है
उदाहरण के लिए, अगर आप लिखें “10 को 5 से भाग देकर print karna”, तो परिणामस्वरूप “2” प्रिंट होता है
एक और उदाहरण के तौर पर ‘Yaksok’ नाम की भाषा भी है। 2048 गेम उदाहरण कोड पूरी तरह कोरियाई में लिखा गया है
मुझे यह सचमुच बहुत शानदार विचार लगता है। Hangul एक तार्किक रूप से डिज़ाइन की गई लिपि प्रणाली है, इसलिए इसे आधे दिन में सीखा जा सकता है
Hangul सीखने के लिए StackExchange उत्तर
Hangul में अक्षरों की संख्या English alphabet जैसी ही है, इसलिए इसे जल्दी सीखा जा सकता है, लेकिन शब्द याद करना थोड़ा कठिन है। इसलिए मैं Anki और अपने बनाए गेम-आधारित learning app का साथ में उपयोग कर रहा हूँ
एक native Korean speaker के रूप में मैं संक्षेप में अपनी राय साझा करना चाहता हूँ
संज्ञाएँ तो स्वाभाविक रूप से अनूदित हो जाती हैं, लेकिन English imperative verbs को कोरियाई में ले जाते समय सावधानी चाहिए। उदाहरण के लिए “find” को ‘chatda’, ‘chatgi’, ‘chajeum’ आदि में बदला जा सकता है, लेकिन संदर्भ के अनुसार यह अटपटा लग सकता है
एक और समस्या plural form की है। English में singular और plural स्पष्ट रूप से अलग होते हैं, लेकिन कोरियाई में ऐसा नहीं है। “daneodeul” की तरह plural को स्पष्ट करना कई बार उल्टा अस्वाभाविक लगता है
अगर सिर्फ keyword replacement के बजाय English और कोरियाई के संरचनात्मक अंतर को ध्यान में रखा जाए, तो यह कहीं अधिक शक्तिशाली project बन सकता है
जब मैं विश्वविद्यालय में computer science पढ़ रहा था, तब मुझे लगा कि programming languages का English-आधारित होना English speakers के लिए बहुत बड़ा फ़ायदा है
international student दोस्त, जिन्हें English की आदत नहीं थी, सीखने में ज़्यादा कठिनाई झेलते थे। इसलिए यह मज़ाक कि programming को foreign language credit मिलना चाहिए, काफ़ी मज़ेदार लगता था
असली कठिनाई programming खुद सीखना है। लेकिन advanced topics या documentation का सिर्फ English में होना ESL learners के लिए बड़ा barrier है
मुझे कोरियाई नहीं आती, लेकिन इस thread की वजह से मैंने बहुत सी भाषावैज्ञानिक अंतर्दृष्टियाँ सीखी हैं
Hangul की phonological design(लिंक),
कोरियाई plural forms की विशेषताएँ(लिंक),
LLM tokenizer और कोरियाई की token compression समस्या(लिंक),
और व्यंजनों व स्वरों के हाथ की पोज़िशन के अनुसार बँटी Hangul keyboard की rhythm(लिंक) विशेष रूप से दिलचस्प लगी
मुझे लगता है कि ऐसी कोशिशें भाषाई fragmentation पैदा कर सकती हैं।
अगर हर कोई अपनी-अपनी भाषा में programming language बनाने लगे, तो collaboration या hiring कठिन हो जाएगी, और तकनीकी ज्ञान साझा करना भी मुश्किल होगा
व्यक्तिगत रूप से मुझे लगता है कि अगर पूरी दुनिया एक ही भाषा इस्तेमाल करे, तो युद्ध और ग़लतफ़हमियाँ कम हो सकती हैं। बेशक cultural diversity कम होगी, लेकिन communication efficiency बढ़ेगी
सिर्फ keywords का अनुवाद करने वाला दृष्टिकोण दिलचस्प है
उदाहरण कोड की तरह
इस तरह लिखने पर कोड और अधिक संक्षिप्त हो सकता है। हालांकि, uppercase/lowercase distinction का लाभ खो जाएगा
मैंने सुना है कि language density चाहे जो हो, information processing speed लगभग समान रहती है
संबंधित ब्लॉग पोस्ट
लेकिन वह सफल नहीं हुई। क्योंकि ज़्यादातर computer environments पहले से ही Latin character input की माँग करते हैं, और कुछ keywords याद करना मुश्किल नहीं है
LLM के युग में भी, training data का अधिकांश हिस्सा English code है, इसलिए English code अब भी अधिक efficient रहने की संभावना है
शानदार project है। लगभग 190 साल पहले(!) मैंने कोरिया की एक university में पढ़ाई की थी, और अब मेरी कोरियाई बहुत बुनियादी रह गई है, लेकिन sample code देखते हुए ऐसा लगता है जैसे मैं नए शब्द सीख रहा हूँ
मुझे यह project सच में बहुत पसंद आया। code samples देखते हुए मैं कुछ भी समझ नहीं पाया, फिर भी मुझे एहसास हुआ कि non-English-speaking developers जब पहली बार English-आधारित language देखते होंगे तो कैसा महसूस करते होंगे
Lisp अब भी parentheses का स्वर्ग है :-)
इससे चीन की Easy Programming Language याद आ गई
EPL wiki लिंक
लगभग 15 साल पहले चीन के बहुत से बच्चों ने पहली बार programming इसी भाषा से सीखी थी