19 points par smc0478 2025-11-19 | 29 commentaires | Partager sur WhatsApp

Bonjour.
J’ai créé un langage de programmation qui s’écrit en coréen.

Pourquoi l’avoir créé

  • En voyant des langages de programmation écrits en hangeul comme Umjeng ou Aheui, j’ai eu envie d’essayer de coder naturellement en coréen.
  • C’est aussi un apprentissage en vue de créer plus tard un vrai langage bien abouti.

Installation

pip install korean-lang  

Types de syntaxe

J’ai créé les syntaxes présentées ci-dessous.
Pour plus de détails, veuillez consulter le lien vers mon GitHub.

Affichage

"안녕 세상!"을 출력한다.  

Variables

  • Les noms de variables sont composés de lettres coréennes (pas des caractères isolés comme giyeok), de _ et de chiffres.
  • Les variables peuvent contenir des entiers, des chaînes, des tableaux, des dictionnaires, etc.
정수는 1이 된다.  
소수는 3.141592가 된다.  
이름은 "홍길동"이 된다.  
참값은 참이 된다.  
빈값은 없음이 된다.  
숫자_배열은 [1 다음 2 다음 3 다음 4]이 된다.  
사람_정보는 {"이름"은 "김철수" 또 "나이"는 25}이 된다.  

Conditions

  • 만약 ... 이면/면, 아니고 만약 ... 이면/면, 아니면 ... 이면/면 fonctionnent de manière similaire à if, else if et else, et exécutent 다음 ... 문단을 실행한다..
나이는 입력한 것을 정수로_변환한 것이 된다.  
  
만약 나이가 18보다 크거나 같다면 다음  
    "성인입니다."를 출력한다.  
문단을 실행한다.  
아니고 만약 나이가 13보다 크다 또는 나이가 13랑 같다면 다음  
    "청소년입니다."를 출력한다.  
문단을 실행한다.  
아니면 다음  
    "어린이입니다."를 출력한다.  
문단을 실행한다  

Boucles

  • 계속 ... 인 동안 est similaire à while et exécute 다음 ... 문단을 반복한다..
  • ...에 있는 각 항목들을 ...로 가져와 correspond à for ... in ... et exécute 다음 ... 문단을 반복한다..
숫자는 0이 된다.  
계속 숫자가 5보다 작다인 동안 다음  
    숫자를 출력한다.  
    숫자는 숫자와 1을 더한 것이 된다.  
문단을 반복한다.  
  
배열은 [10 다음 20 다음 30]이 된다.  
배열에 있는 각 항목들을 숫자로 가져와 다음  
    숫자를 출력한다.  
문단을 반복한다.  

Fonctions

  • 함수 ...는 (...과 ...로) est la partie qui définit une fonction, et 다음 ... 문단을 실행한다. est la partie exécutée par la fonction.
  • Une fonction s’appelle sous la forme ...과/와 ...을/를 ... 로/으로 ...한다./다..
함수 팩토리얼을_구한다는 가로 다음  
    만약 가가 0이랑 같다면 다음  
        결과 값은 1이 된다. 그리고 끝난다.  
    문단을 실행한다.  
    결과 값은 가와 ((가를 1로 뺀 것)으로 팩토리얼을_구한 것)을 곱한 것이 된다.   
    그리고 끝난다.  
문단을 실행한다.  
  
4로 팩토리얼을_구한 것을 출력한다.   

Structures

  • Les structures sont similaires aux struct du langage C.
구조 사람은 다음  
    변수 이름이 있다.  
    변수 나이가 있다.  
값을 가진다.  
  
철수는 사람이 된다.  
철수의 이름은 "철수다"가 된다.  
철수의 이름을 출력한다.   

Classes

  • 유형 correspond aux classes dans les autres langages.
유형 동물은 다음  
    변수 이름이 있다.  
    
    함수 소리를_낸다는 다음  
        동물의 이름과 "이(가) 소리를 냅니다."를 더한 것을 출력한다.  
    문단을 실행한다.  
값을 가진다.  
  
강아지는 동물이 된다.  
강아지의 이름은 "바둑이"가 된다.  
강아지 안에서 소리를_낸다.   

Points regrettables

  • Je trouve dommage qu’il y ait des syntaxes un peu maladroites et peu naturelles en coréen, comme pour les tableaux.
  • J’ai traduit class par 유형 en coréen, mais je pense qu’il existe peut-être un meilleur mot, donc je le changerai si j’en trouve un plus tard.

Mot de la fin

Ce n’est pas vraiment utile, et le code interne est assez sale parce que je l’ai écrit rapidement en moins de deux semaines, mais j’espère que vous trouverez ça amusant.
Merci de l’avoir regardé.

29 commentaires

 
qlghwp123 2025-11-26

Je trouve ça vraiment génial ! Je vous soutiens.

 
smc0478 2025-11-26

Merci.

 
rkttu 2025-11-26

Les tentatives d’adopter le coréen comme langage de programmation se sont poursuivies au niveau de la communauté, alors j’y ai pensé et je vous mets le lien. haha

https://namu.wiki/w/%EC%B0%BD%EC%A1%B0(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B4)

 
smc0478 2025-11-26

En en créant un, je me suis rendu compte qu’il y avait beaucoup de tentatives amusantes. Parmi celles qui m’ont le plus marqué, il y a le lien ci-dessous ; j’ai trouvé amusant que même les nombres soient exprimés en hangeul. https://github.com/recu3125/malC_lang

 
oktroco 2025-11-26

Cela semble aussi très adapté à un usage éducatif pour les personnes peu familières avec l’anglais et les mathématiques.
Pouvoir bien expliquer la pensée computationnelle en coréen, sans symboles comme if, for, while, =, me paraît être un énorme avantage pédagogique.
Je trouve que c’est une excellente idée !

 
smc0478 2025-11-26

Merci. C’est vrai qu’en coréen, certains passages semblent aussi plus faciles à lire qu’en anglais.

 
cronex 2025-11-26

Il me semble qu’on aurait très bien pu utiliser des virgules pour les tableaux, sans forcément employer le délimiteur 다음. Et je me demande aussi si les tableaux peuvent contenir des structures/classes, d’autres tableaux ou encore des dictionnaires.

 
smc0478 2025-11-26

À l’époque, l’objectif était vraiment d’utiliser uniquement le hangul et d’exclure autant que possible l’anglais et la ponctuation, donc je ne les ai pas utilisés, mais je pense effectivement qu’ajouter des virgules serait plus naturel. J’essaierai de les ajouter plus tard.

Et les tableaux ont été conçus comme une structure pouvant contenir des données de tous types. Si ce n’est pas le cas, c’est un bug. T_T

 
t7vonn 2025-11-26

C'est sympa.

 
smc0478 2025-11-26

Merci.

 
tesla52 2025-11-26

C’est intéressant. J’ai eu une bonne inspiration, il faut que j’en fasse un side project.

 
smc0478 2025-11-26

Très bien. J’attends cela avec intérêt.

 
softer 2025-11-23

Oh oh... je vous soutiens.

 
smc0478 2025-11-26

Merci.

 
kornet 2025-11-22

C’est bien d’utiliser moins de caractères spéciaux comme +-=$& que dans d’autres langages. Sur le clavier de petits appareils mobiles, saisir des caractères spéciaux est difficile.

 
smc0478 2025-11-26

Oh, c’est un avantage intéressant. Merci.

 
nottiger 2025-11-19

C’est vraiment super...

 
smc0478 2025-11-20

Merci.

 
roxie 2025-11-19

C’est peut-être une question de préférence personnelle, mais je pense que « est » aurait été préférable à « fonctionne ».

 
smc0478 2025-11-19

À l’origine, l’affectation de variables s’écrivait ganeun ~ida.. Mais pendant le développement, comme on utilisait aussi "ida/da" pour les appels de fonction, l’analyse des expressions devenait ambiguë, donc je l’ai remplacé par "doenda". Plus tard, j’essaierai probablement de faire en sorte que ce soit analysable avec "ida".

 
roxie 2025-11-19

C’est vrai, on dirait que l’appel de fonction devrait être en « ~nda » lol

 
girr311 2025-11-19

Très bien lu.

 
smc0478 2025-11-19

Merci.

 
ifmkl 2025-11-19

Cela me rappelle avec nostalgie qu’on faisait quelque chose de similaire pendant les cours de compilation à l’université.

 
smc0478 2025-11-19

Je ne l’ai pas encore appris, mais j’ai hâte.

 
beoks 2025-11-19

Oh, en voyant les noms des fichiers lexer et parser, on dirait que vous avez étudié les compilateurs, non ?

 
smc0478 2025-11-19

Ah, comme je suis encore en troisième année d’université, je n’ai pas suivi de cours sur les compilateurs et je l’ai fait en autodidacte, et comme je voulais le créer rapidement, j’ai appris et développé ça un peu à l’arrache.

 
futurist 2025-11-19

C’est une belle tentative !! C’est amusant haha
On sent que vous avez beaucoup réfléchi à la manière de l’exprimer naturellement.

 
smc0478 2025-11-19

Merci.