6 ms·
Show HN: Han – A Korean programming language written in Rust
A few weeks ago I saw a post about someone converting an entire C++ codebase to Rust using AI in under two weeks.
That inspired me — if AI can rewrite a whole language stack that fast, I wanted to try building a programming language from scratch with AI assistance.
I've also been noticing growing global interest in Korean language and culture, and I wondered: what would a programming language look like if every keyword was in Hangul (the Korean writing system)?
Han is the result. It's a statically-typed language written in Rust with a full compiler pipeline (lexer → parser → AST → interpreter + LLVM IR codegen).
It supports arrays, structs with impl blocks, closures, pattern matching, try/catch, file I/O, module imports, a REPL, and a basic LSP server.
This is a side project, not a "you should use this instead of Python" pitch.
Feedback on language design, compiler architecture, or the Korean keyword choices is very welcome.
https://github.com/xodn348/han https://github.com/xodn348/han
- themarogee 7mo ago[dead]
- raaspazasu 7mo agoI don't know Korean at all, but this looks cool and a fun project. I'm curious if this reduces typing or has any benefits being in Hangul vs Latin?
- xodn348 7mo agoThanks! One thing that motivated me was curiosity about prompt efficiency in the AI era. Hangul is beautifully dense — a single syllable block packs initial consonant + vowel + final consonant into one character. I wondered if Korean-keyword code might produce shorter prompts for LLMs. I actually tested this with GPT-4o's tokenizer, and the result was the opposite — Korean keywords average 2-3 tokens vs 1 for English. A fibonacci program in Han takes 88 tokens vs 54 in Python. The reason comes down to how LLM tokenizers work. They use BPE (Byte Pair Encoding), which starts with raw bytes and repeatedly merges the most frequent pairs into single tokens. Since training data is predominantly English, words like `function` and `return` appear billions of times and get merged into single tokens. Korean text appears far less frequently, so the tokenizer doesn't learn to merge Hangul syllables — it falls back to splitting each character into 2-3 byte-level tokens instead. It's a tokenizer training bias, not a property of Hangul itself. If a tokenizer were trained on a Korean-heavy corpus, `함수` could absolutely become a single token too. So no efficiency benefit today. But it was a fun exploration, and Korean speakers can read the code like natural language. It could also be a fun way for people learning Korean to practice reading Hangul in a different context — every keyword is a real Korean word with meaning.
- topce 7mo agoVery Interesting... I have similar idea to train LLM in Serbian, create even new encoding https://github.com/topce/YUTF-8 https://github.com/topce/YUTF-8 inspired by YUSCII. Did not have time and money ;-) Great that you succeed. Idea if train in Serbian text encoded in YUTF-8 (not UTF-8) it will have less token when prompt in Serbian then English, also Serbian Cyrillic characters are 1 byte in YUTF-8 instead of 2 in UTF.Serbian language is phonetic we never ask how you spell it.Have Latin and Cyrillic letters.
- xodn348 7mo agoReally interesting approach — attacking token efficiency at the encoding level is more fundamental than what I did. Even without retraining BPE from scratch, starting with YUTF-8 and measuring how existing tokenizers handle it would already be a worthwhile experiment. Hope you find the time to build it, good luck!
- oddmiral 7mo agoYou can look at Ukrainian LLM Lapa for inspiration: https://huggingface.co/spaces/lapa-llm/lapa https://huggingface.co/spaces/lapa-llm/lapa Best tokenizer for the Ukrainian language Thanks to a SOTA method for tokenizer adaptation developed by Mykola Haltiuk as part of this project, it was possible to replace 80,000 tokens out of 250,000 with Ukrainian ones without loss of model quality, thus making Lapa LLM the fastest model for working with the Ukrainian language. Compared to the original Gemma 3, for working with Ukrainian, the model requires 1.5 times fewer tokens, thus performing three times fewer computations to achieve better results.
- ralferoo 7mo agoI don't know how to read Hangul (I know the general idea about how the character is composed). To me just looking at the examples, it doesn't seem as obvious what the structure of the code is, compared to Latin letters and punctuation. Actually, most punctuation looked OK, but the first couple of examples used arrays and [ and ] seemed to just blend in with the identifiers wherever they appeared. I'm not sure how distinct they look with familiarity with Hangul characters. I'm sure it's also nothing that colour syntax highlighting wouldn't make easier.
- bbrodriguez 7mo agoKorean doesn’t reduce typing compared to English from my experience. What looks like a “character” is actually a syllable block called “eumjeol” that’s made up of consonants (moeum)and vowels (jaeum). You can’t have a vowel only syllable either so you always have to pair it with a null consonant no matter what (which kinda looks like a zero: ㅇ) and while nouns can be much more concise compared to English, verbs can get verbose. The main benefit of Korean actually comes from the fact that the language itself fits perfectly into a standard 27 alphabet keys and laid out in such a way that lets you type ridiculously fast. The consonant letters are always situated in the left half and the vowels are in the right half of the keyboard. This means it is extremely easy to train muscle memory because you’re mostly alternating keystrokes on your left hand and right hand. Anecdotally I feel like when I’m typing in English, each half of my brain needs to coordinate more compared to when I’m typing in Korean, the right brain only need to remember the consonant positions for my left hand and my left brain only need to remember the vowel positions.
- xodn348 7mo ago만나서 반가워요! What you talked is mostly right and I did not know about typing in Korean, the left-hand side and right-hand side. Btw, Consonant(Jaeum) and vowel(Moeum). In experience-wise, what you had would be precise.
- lunarboy 7mo agoIt's fascinating and lucky how well Korean fits into a keyboard designed for English. Japanese and Chinese are notoriously inefficient to type.
- numpad0 7mo agoThe modern Korean Hangul script is phonographic, meaning it encodes sounds rather than ideas. Apparently that's good enough, or at least works better than how pure phonetic transcripts work for Japanese and Chinese languages, both of which users rejected that idea. But it was also a result of a relatively recent switch from Hanzi-Hangul mixed script used under Japanese occupation.
- rnrjrjdei 7mo ago[flagged]
- danparsonson 7mo agoWonderful! What a cool idea. For anyone interested, you can learn the whole of Hangul in an afternoon; it's cleverly designed to be very logical and has some handy mnemonics: https://korean.stackexchange.com/a/213 https://korean.stackexchange.com/a/213
- xodn348 7mo agoThat is a deep knowledge that even Korean-natives would not know. I will add this site as a reference to Github. I am glad that I have you as a supporter!
- zdragnar 7mo agoReally? That's how it was taught to me by Korean teachers at University. Even if it isn't daily-useful bit of info, it's such a fundamental component of the written form that I would have expected it to be common knowledge.
- yorwba 7mo agoIt's part of the official origin story that was published alongside the introduction of the script, so students will learn about it at some point long after they're already fluent readers and writers, and then promptly forget about this bit of trivia. (Do you remember that A is an upside-down ox head?) It probably doesn't help that the original explanation covers Middle Korean for an audience literate in Chinese: https://ko.wikisource.org/wiki/%ED%9B%88%EB%AF%BC%EC%A0%95%EC%9D%8C#%E8%A8%93%E6%B0%91%E6%AD%A3%E9%9F%B3%E8%A7%A3%E4%BE%8B https://ko.wikisource.org/wiki/%ED%9B%88%EB%AF%BC%EC%A0%95%E... Meanwhile, "Korean writing is so easy and logical you can learn it in no time at all" has become a meme to the point where I suspect the number of people who've been exposed to the meme and don't remember a single character might be larger than the number of Koreans who've heard about the tongue shape thing and still remember it. Also, ㄹ is obviously anatomically impossible for human tongues. It does however closely resemble similar letters in some Brahmic scripts. I'm partial to ʼPhags-pa ꡙ https://en.wikipedia.org/wiki/Origin_of_Hangul#%CA%BCPhags-pa_hypotheses https://en.wikipedia.org/wiki/Origin_of_Hangul#%CA%BCPhags-p...
- apt-apt-apt-apt 7mo agoA simple translation of keywords seems straightforward, I wonder why it's not standard. # def two_sum(arr: list[int], target: int) -> list[int]: 펀크 투섬(아래이: 목록[정수], 타개트: 정수) -> 목록[정수]: # n = len(arr) ㄴ = 길이(아래이) # start, end = 0, n - 1 시작, 끝 = 0, ㄴ - 1 # while start < end: 동안 시작 < 끝: Code would be more compact, allowing things like more descriptive keywords e.g. AbstractVerifiedIdentityAccountFactory vs 실명인증계정생성, but we'd lose out on the nice upper/lowercase distinction. I hear that information processing speed is nearly the same across all languages though regardless of density, so in terms of processing speed, may not make much difference.
- xodn348 7mo agoGood point about compactness — 실명인증계정생성 vs AbstractVerifiedIdentityAccountFactory is a real example where Korean shines. One distinction though: Han uses actual Korean words, not transliterations. 함수 means "function" in Korean, 만약 means "if" — they're real words Korean speakers already know. Your example uses transliterations like 펀크 and 아래이 which would look odd to a Korean reader. That difference matters for readability.
- WillAdams 7mo agoUsing actual Korean words rather than transliterations greatly aids readability --- I can still remember stumbling over the transliteration of "Walker Hotel" when taking Korean at the Presidio of Monterey, and pretty much everyone else had the same problem.
- xodn348 7mo agofunny examples, though.
- csande17 7mo agoIt's been tried with Chinese Python back in the early 2000s: http://reganmian.net/blog/2008/11/21/chinese-python-translating-a-programming-language/ http://reganmian.net/blog/2008/11/21/chinese-python-translat... It never really took off. I think because computers already require users to read and type Latin letters in lots of other situations, and it's not that hard to learn what a few keywords mean, so you might as well stick with the English keywords everyone else is using.
- marysminefnuf 7mo agoMy dream is to one day make a chaldean programming language for my kids. Stuff like this is inspiring
- xodn348 7mo agoThe fact that you're already thinking about it means you can do it. Go for it!
- water_badger 7mo agofun fact, you can easily write c in any language you want through the power of macros https://github.com/farant/rhubarb/blob/main/include/latina.h https://github.com/farant/rhubarb/blob/main/include/latina.h edit: oh, maybe you can’t do full unicode. that’s too bad!
- xodn348 7mo agoHa, neat trick. But macro substitution and a purpose-built language are very different — Han has a full pipeline (lexer → parser → AST → interpreter + LLVM codegen) designed around Korean from the ground up. Error messages, REPL, LSP hover docs are all in Korean. You can't get that from #define 만약 if.
- water_badger 7mo agoyeah, making a whole language is way more impressive! anecdotally it is also interesting to use with ai because apparently it is "harder to be on autopilot" based on a huge pre-existing corpus of code when you write it in a different language. could activate different reasoning regions somehow. (i just appreciate what can be trivially accomplished in c even if it's kind of janky after spending way too much time in the JS preprocessor mines...)
- technol0gic 7mo agoi only code in this when no ones around. one might say I...han solo
- xodn348 7mo agoForce for good be with you
- aplomb1026 7mo ago[dead]
- anesxvito 7mo ago[dead]
- AndrewKemendo 7mo agoI’ve always wondered why there weren’t more non-english charactered programming languages but I can only assume it was just inertia
- AndrewKemendo 7mo agoI’ve always wondered why there weren’t more non-english charactered programming languages but I can only assume it was just inertia This seems like a reasonably good security measure too
- booleandilemma 7mo agoUsing english for your programming language gives you the widest audience.
- whacked_new 7mo agoI think another part of it is culture. Outside of Western tech circles there's far less a culture (it feels) to invent new languages. To my knowledge Ruby's Matz is the only notable exception, and he's highly unusual as a Japanese. Then, using non-ascii-friendly character set is an even greater challenge. Non-ascii encodings are harder to program in due to the need to switch in and out of input methods. That said, some languages like Arabic and Japanese (and possibly Korean and Hindi) lend naturally to VSO token ordering, which maps directly to LISP syntax, so it's unfortunate that there isn't a lot of interest in this. It would be lots of fun. Maybe agents will make this possible! Here are some interesting examples. - https://github.com/nasser/--- (Arabic) - https://honoka.nukenin.jp/Introduction/Loop.html (Japanese) - https://github.com/wenyan-lang/wenyan (Chinese, which is SVO like English)
- willismonroe 7mo agoMy colleagues and I wrote a programming language (really just a python wrapper on unicode characters) in cuneiform. The novelty was that we tried as much as possible to use actual mathematical concepts from 3rd (and early 2nd) millennium BCE Mesopotamia. We published it in Sigbovik 2024 (https://www.sigbovik.org/2024/proceedings.pdf https://www.sigbovik.org/2024/proceedings.pdf) as well as a full neural net implementation using the language.
- hangil131 7mo agoI'm not sure inertia is correct for this. I think the reason is there are no needs for non-english charactered programming languages. Let's think about there are perfect program language made with Korean. If you are programmer, then you already know program languages made with English even if you are not a native speaker. Now you have to learn "New" program languages. You are native Korean so maybe have some advantage but it is still new thing. If you are not programmer yet. You have to learn program language, in this case most users are already using traditional program languages so you can't skip Python or C or Java.
- m-hodges 7mo agoWhen I was studying Computer Science in college, I once remarked how lucky we, English speakers, are that programming languages use English nouns and verbs. A ton of my classmates were here on a student visa, and English was not their first language. I always thought that programming in English put me at an advantage on the learning curve. I also always thought it was silly when someone would quip that programming should count for “foreign language” credit. Anyway, always cool to see non-English programming languages.
- xodn348 7mo agoThank you for your empathy. English has been the one of the most frequent languages for globe so that it is reasonable to Eng in many coding project, though.
- cubefox 7mo agoIt's may also be reasonable to make localized translations for a programming language. This is rarely done in reality for obvious reasons. An exception are Excel's function names. People who don't know English, or hardly know it, appreciate it.
- thisislife2 7mo agoTrue. English is a major reason why India is the IT back-office for most of the western world. I too have personally observed how my fellow classmates, who had done their schooling in their regional language, struggled with the coursework in college because it was solely in English. And some of them were state rankers - it felt bad to realise that they had to put in twice the effort needed to keep up their grades. I think there's a lot of potential wasted in India because of this kind of hardship / struggle - a lot of intelligent people are held back just because they lack an aptitude for multilingualism.
- deleted 7mo ago[deleted]
- localuser13 7mo ago
- zellyn 7mo agoI love this. Nice work! It’s fun to look at your code samples, have absolutely no clue what any of it means, and think about just how many non-English-speaking programmers must have felt that way looking at our all-English programming languages. Except lisp: that’s just inscrutable symbols like cond and cons and car and cadr and a bunch of parens! :-)
- woctordho 7mo agoThe real barrier is not just the language keywords but lots of documentations and discussions in English. I'm not sure whether there is a solution to this.
- xodn348 7mo agoThis tons of Eng documents and contents cannot be translated once but this project is trying to use another language for future use. Thanks for the comment, though.
- xodn348 7mo agoHaha, using Eng has been reasonable for decades. Thank you very much of your comments.
- ovciokko 7mo agoThis is indeed a cool project! Happy to see experiments on non-English programming languages. I have one question — not trying to be offensive or doubting, just out of curiosity — does Han make use of the unique properties of Hangul (or Korean in general)? Like, I remember sawing a Turkish programming language on HN the other day, and I might be wrong but my impression was it makes use of some syntax unique to Turkish, and I wonder if Han has similar features. Or, asking it differently, if I replaces only the lexer to another lexer recognizing a different script, will it not work?
- xodn348 7mo agoHonest answer: right now it's mostly a keyword translation with English-like syntax order. Korean is SOV (subject-object-verb) but Han follows English SVO order — 목록.추가(값) reads like "list.add(value)" not the Korean natural order. Changing that would require a fundamentally different syntax design, which is an interesting challenge for the future. That said, a few things do lean into Korean specifically: - Method names are real Korean verbs: .추가() (add), .삭제() (delete), .분리() (split) - Error messages are in Korean - The REPL prompt is 한> and exit command is 나가기 (literally "go out") Good question — it pushed me to think about what makes this more than just s/function/함수/g.
- ovciokko 7mo agoThank you for replying! As a non-English speaker too, I always love to see people trying out new things different from the English mindset. Hangul is a very cool writing system and I'd love to see Han live and evolving.
- WillAdams 7mo agoHave you looked into whether there are any Hanja (Chinese characters) which would be sufficiently expressive to warrant supporting as an alternative way to represent keywords? Perhaps look to APL for efficient ways to represent math concepts/structures?
- xodn348 7mo agoI personally don't know Hanja at all, and I think that's common for most younger Koreans. Korean did borrow from Chinese characters historically, but it's similar to how English was influenced by Dutch, German, French, and Latin — each language developed independently. Korean has its own pure Korean words (순우리말) as its foundation, and borrowed some Chinese-origin vocabulary on top of that. Hangul was specifically created so people wouldn't need to learn Chinese characters. So Han's keywords use native Korean words where possible — it fits the spirit of Hangul itself.
- WillAdams 7mo agoYes, but there is a potential for increased expressibility with Chinese characters which I've always found evocative and beautiful --- perhaps if there is some keyword which is long/awkward a character might be a better fit? Or would it work for a user to choose Chinese characters for module names? But also yes, I'm an old-fashioned sort of person as my kids are constantly pointing out, and moreover, it's not like I ever did much of anything w/ the 500 characters which I memorized after my graduation proficiency test (pulled them out for a couple of projects in college...) \begin{quotation} \emph{The beginning of wisdom is to call things by their right names.} --- \textsc{Confucius} \end{quotation} Very glad /u/faitswulff mentioned Wenyan (though I'm bummed that there are only simplified Chinese and Japanese translations).
- faitswulff 7mo agoIf you’re interested in Chinese characters, there’s https://github.com/wenyan-lang/wenyan https://github.com/wenyan-lang/wenyan
- 7mo ago
- deleted 7mo ago[deleted]
- sudo_cowsay 7mo agoImagine if you had to work with a Korean company using this Amazing though!
- bouncycastle 7mo agoI'd imagine that a transpiler for Perl with this idea would make one-liners even more potent.
- anigbrowl 7mo agoI wonder why there are not more programming languages not only with non-English keywords, but with different grammars. For example, if X then Y and many other constructions closely follow English grammar, but when you study other languages you quickly become away of many other possible constructions.
- dmurray 7mo agoI don't think programming languages follow English grammar or syntax closely. If X then Y, sure. While X, do Y? Maybe. For X equals Y, X equals Z, X is incremented, do A? Hardly. Match X case Y1 Z1 case Y2 Z2? Definitely not Native English speakers have a small leg up understanding the vocabulary, not the syntax.
- anigbrowl 7mo agoThat's why I wrote 'many other constructions' not 'many languages'.
- whacked_new 7mo agoI'm a little sad that VSO languages didn't start the computing revolution because if they did, we would all be writing LISP. But instead, we are relegated to Python and JavaScript!
- b3orn 7mo agoConsidering that Korean is an SOV language it would've been interesting to see that factor into the design of this programming language.
- lgessler 7mo agoI know this is mostly about keyword substitution but it still tickles me that you still write f(x) in this language and not (x)f given that Korean is SOV but I guess that's just how you notate that no matter what cultural context you're in. Hadn't ever considered that the convention of writing a function before its arguments might have been a contingency of this notation being developed by speakers of SVO languages.
- localuser13 7mo agoI think this notation is superior, because of syntax completion - get_name(user.id) can be syntax completed by IDE, (user.id)get_name can't. Just like "SELECT id, name FROM users" would be better of as "FROM users SELECT id, name" (LINQ in C# fixed this mistake, and most modern query languages do too).
- borski 7mo ago…if you’re typing from left to right. :)
- cubefox 7mo agoObject oriented programming languages also use object.method rather than method(object), so I don't think prefix/suffix notation has much to do with language.
- xukeek 7mo agoCurious about the name — if the language uses Korean (Hangul) keywords, why call it “Han”? In Latin letters that usually reads like the Chinese 汉 (Han) / pinyin rather than Korean. Is there a specific reason for that choice?
- hangil131 7mo agoIt is "韓(Han)" not "汉(Han)" just same pronouns. Currently, The short name of "Korea" in korean is "한국(Hanguk)" it means "Han contry" so all the identity of korea is in "han"
- tw1984 7mo agoThe name is interesting, it is just like some aussies creating a new language calling it Anglo.
- all2 7mo agoSo... iirc Korean words are constructed out of symbols, would it be possible to mutate the meaning of keywords by giving the symbols meaning and constructing new blocks of symbols?
- xodn348 7mo agoThat's a fascinating idea! Hangul is indeed compositional — 한 = ㅎ + ㅏ + ㄴ — so in theory you could assign meaning to individual jamo components. But in practice, breaking syllables into jamo would make keywords less readable, which goes against Hangul's design goal. And considering how AI-assisted coding works today, fully named descriptive keywords actually reduce errors — LLMs perform better with explicit, unambiguous tokens than with cryptic symbol compositions. So Han leans toward more descriptive Korean keywords rather than shorter symbolic ones. Readability over brevity. Interesting direction to think about though — thanks for the question.
- parksb 7mo agoGreat work :) If you're interested in Korean programming languages, there's a functional one called 'Nuri': https://github.com/suhdonghwi/nuri/ https://github.com/suhdonghwi/nuri/ Rather than just translating keywords, it lets you write code that actually uses Korean grammar. For example, "10을 5로 나누고 출력하다" (literally "10 by 5 divide and print") outputs "2". You might already know this, but there's also a Korean programming language called 'Yaksok'. Here's a 2048 written entirely in Korean: https://github.com/yaksok/yaksok/blob/master/code_examples/2048/%EA%B2%8C%EC%9E%84.yak https://github.com/yaksok/yaksok/blob/master/code_examples/2...
- xodn348 7mo agoThat is a fair feedback and I have known those languages which are very reasonable and fairly designed language. But I wanted to more focused on translated into rust for english speakers first, which would make bigger user for this language. Thanks for your feedback!
- zahlman 7mo agoI know barely any Korean vocab and can't read Hangul nor am I set up to type it. But is "yaksok", perchance, cognate with Japanese 約束 (やくそく)?
- andrekandre 7mo agoyes, and you will find a lot of borrowed words from chinese (and sometimes japanese) sound similar (more or less) in both languages a big one: hanja (kr) kanji (jp) both are 漢字
- parksb 7mo agoYes, countries in the Sinosphere have historically used Chinese characters to write their languages. That's why Korean "yaksok" and Japanese "yakusoku" sound so similar. Both words are written with the same Chinese characters, "約束". The characters were borrowed from Chinese, but each language adapted them to its own pronunciation system. For example, "library" is pronounced "tu-shu-guan" in Chinese, "do-seo-gwan" in Korean, and "to-sho-kan" in Japanese. All three can be written with the same characters, "圖書館". In modern Korea, though, people use Hangul, so very few Koreans actually know how to write "library" in Chinese characters. In Japan, Chinese characters are still heavily used, but for difficult ones, they often write kana alongside them as a reading aid. It's very much like how Latin "universitas" became "university" in English, "universidad" in Spanish, and "università" in Italian.
- dwg 7mo ago@apt-apt-apt-apt pointed out in a separate comment that: >A simple translation of keywords seems straightforward, I wonder why it's not standard. I replied that for Japanese at least, probably due to symbol input being too tedious. However I think it's worth mentioning a potential mitigation, and maybe even an advantage. As a mitigation, full-width symbols could be used instead, which are typically the default in Japanese input. Japanese itself is also fixed-width so if done across the board the language itself becomes fixed-width, not just by virtue of a font selection. As an advantage, some logical symbols, greek letters, other rare characters are easy to input in Japanese mode, and this could lend itself to a more symbol-heavy language design. I already take advantage of this myself with Δ, φ, and τ use selectively in a few projects. Symbols with easy entry may differ by OS, but here are a few other examples that could be useful: ≠, ≡, ∞, ∴, λ, θ, α, β, ・, °, ※
- numpad0 7mo agoJapanese input system do allow use of arbitrary UTF-8 symbols, but you have to type out the "pronunciation" for symbols, e.g. "nottoiko-ru" for ≠, "goudou" for ≡, "yueni" for ∴, "ramuda" for λ, etc. Just using "!=" is faster.
- dwg 7mo agoIn case it was not clear, that is exactly my point: a language designed for Japanese could open up the possibility of incorporating symbols other than those readily available on QWERTY keyboards. And my other point is that != is _harder_ to type in Japanese input mode because you constantly have to manage full-width vs half-width input.
- clark1013 7mo agoThe name reminds me of the character Han from Broken Sisters.
- geokon 7mo agoHave you considered rotating the layout? I always though a CJK programming language written vertically would be very ergonomic. Instead of scrolling vertically the program would flow right-to-left or left-to-right. I guess you'd probably want to rotate the bracket/paran glyphs which is a bit less trivial to do
- lichih 7mo ago[flagged]
- naaqq 7mo agoIt reminds me of the Easy Programming Language(https://en.wikipedia.org/wiki/Easy_Programming_Language https://en.wikipedia.org/wiki/Easy_Programming_Language), a Chinese programming language. Many kids in China started learning programming with it about 15 years ago.
- kreicer 7mo agoThis is an interesting approach. Using Korean identifiers gives the code a very distinctive look and makes the project stand out. However, from a collaboration perspective it might reduce readability for contributors who are not familiar with Korean.
- zx13719 7mo agoGreat work! I still remember my high school IT class, where teachers were using multiple languages to explain the functionality of different 'modules' in programming language (it was still python 2.x back then), and by that time I was trying to do a 'multilingual' programming language (tbh it was just changing variables into different languages), and now 10 years have passed, and the dream is finally catching up with me.
- zlfn 7mo agoIt's been a long time since I've seen a properly implemented Korean programming language
- benryanx 7mo ago[dead]
- delibae 7mo agoGreat project. As a Korean CS student I always wished Korean had more presence in dev tooling. Nice to see this getting traction on HN.
- metalman 7mo agoNK Emperor Kim King Dong * ,thanks you, and may have a job offer! * , realy hope this isn't unforgiveably offensive.
- raziefx 7mo ago[dead]
- DocStable 7mo ago[dead]
- hangil131 7mo agoHello, interesting project. I’m a native Korean speaker, so I wanted to share a quick perspective from Korean. Nouns translate fairly naturally, but standalone verb commands in English need more care. In English, a verb like "find" can stand alone, but in Korean a verb usually needs an ending, and different endings can sound quite different or awkward depending on context. For example, "find" could become 찾다, 찾기, or 찾음, but those are not interchangeable. Plural forms are also tricky. English distinguishes strongly between singular and plural, but Korean usually does not. Explicit plurals like “단어들” often sound unnatural unless the individuality of each item is important.And it feel same with "단어목록" Overall, this is a very interesting project with real potential. I think it could become even stronger if it considers the structural differences between English and Korean, rather than treating it as simple keyword substitution.
- hudsonhs 7mo agoWow this is the Choson language
- tonyekh 7mo ago[dead]
- set92 7mo agoI think is a dumb idea. Historically has been easy to learn programming languages because everyone uses the same things, no fragmention. If now everyone starts creating their own programming languages with different language everything is fragmented, you would to a company, and in the interview they will require you to know korean to work there, they will not be able to hire contractors, you will not be able to see an article about a nice feature on another programming language, and port it... I suppose is again why I discuss with everyone as I would like to have a single language in the world, it would reduce wars, miscommunications, bound everyone closer. But ofc, the other point of view is that it reduces culture But I think it would happen as UK/US or Spanish, same language with variations, but everyone can understand each other. I can't imagine what would have happened if Python or JS had been fragmented into X different languages because of egos, and instead of collaborating, decide each to create their own languages. I don't think we would be where we are today, probably AIs would not be around, since we would be fighting to understand so many different programming languages.
- jitl 7mo agoIt’s not dumb to create, play, experiment. The author made some art and came here to share it and discuss craftsmanship, and you replied it with an insult and reviewed it like it’s a business decision steeped in global politics. You missed the point and were mean while doing so.
- zlfn 7mo agoThen, what you're going to do is create a new programming language with Esperanto
- jitl 7mo agoI don't know Korean but I really appreciate the interesting discussion around linguistics you started here. Some favorite comments that taught me something: Hangul's phonetic symbolic design: https://news.ycombinator.com/item?id=47382219 https://news.ycombinator.com/item?id=47382219 Korean plural forms: https://news.ycombinator.com/item?id=47386312 https://news.ycombinator.com/item?id=47386312 Your comment on how LLM tokenizers shorten common inputs in training data; Korean is more visually compact but suffers from poor token compression: https://news.ycombinator.com/item?id=47381843 https://news.ycombinator.com/item?id=47381843 Hangul keyboard layout - so cool that the layout is split between consonant and vowel hands and forms rhythmic harmony while typing: https://news.ycombinator.com/item?id=47382081 https://news.ycombinator.com/item?id=47382081
- icase 7mo agowhy ruin a beautiful language like korean with an awful language like rust?
- at-290690 7mo agorust syntax hurts my eyes ;(
- sabzil37 7mo agoThis looks like quite an intriguing project. I think it would be even more compelling if it featured a JS live compiler for immediate browser execution.
- kaihong_deng 7mo agogood job!
- niyikiza 7mo agoCool project! I went to a Korean university more than 190 years ago and can only speak basic Korean but going through your examples seem to be improving my Korean vocabulary!
- dance2die 7mo agoAs a native Korean speaker who learned programming in English the code looks very easy to read. The downside is understanding logic feels harder because - the order of Korean is diff from English - e.g. "동안" (while) hard to reason about as "동안" comes after the condition in Korean linguistics and comes before in English. So my only suggestion is to go diff direction from normal writing flow as shown below for readability - from: 동안 n < 5 - to : n < 5 동안
- bysiber 7mo agoThis makes a lot of sense from a teaching perspective. If you're introducing programming to Korean-speaking kids, having keywords in their own language removes one abstraction layer. They can focus on the logic without also needing to memorize what 'while' or 'return' means in English first.
- sunwukong666 7mo ago[dead]
- sunwukong666 7mo ago[dead]
- 66yatman 7mo agoGuys it’s time I learn Korean it’s been a long journey with you all.