처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.04.19 21

노르웨이어로 코드 짜는 언어, Brunost를 만나다

Hacker News 원문 보기
노르웨이어로 코드 짜는 언어, Brunost를 만나다

갑자기 노르웨이어 프로그래밍 언어요?

가끔 개발자들이 재미로 만드는 프로젝트 중에 '자국어로 코딩하는 프로그래밍 언어'라는 장르가 있어요. 일본어 기반의 Nadesiko, 중국어 기반의 wenyan, 아랍어 기반의 ﻕ 같은 것들이 있죠. 이번에 lindbakk.com에서 소개된 Brunost는 노르웨이의 두 공식 글말 중 하나인 뉘노르스크(Nynorsk) 기반 프로그래밍 언어예요. 이름인 Brunost는 노르웨이 전통 갈색 치즈의 이름이기도 하고요.

작은 취미 프로젝트처럼 보일 수 있지만, 여기서 파생되는 기술적 디테일은 의외로 흥미로워요. 언어 설계, 파서, 문자 인코딩, 심지어 문화적 정체성까지 건드리는 주제거든요.

뉘노르스크가 뭐고, 왜 Bokmål이 아닌가요

짧게 배경을 설명하면, 노르웨이에는 공식 글말이 두 개 있어요. Bokmål(보크몰)은 도시 지역에서 더 많이 쓰이고 덴마크어 영향이 강해요. Nynorsk(뉘노르스크)는 19세기에 노르웨이 시골 방언들을 기반으로 재구성한 글말이고요. 두 글말은 단어, 문법, 동사 활용이 꽤 달라요. 실제 사용자 비율은 뉘노르스크가 훨씬 적지만, 공식 문서나 교육에서는 동등한 지위를 가져요.

Brunost가 뉘노르스크를 고른 건 단순한 선택이 아니에요. 기존 영어 기반 키워드(if, while, return)를 뉘노르스크 단어로 바꾸면서, 언어 사용자들에게 익숙한 문법 질감을 살리려고 한 거예요. 예를 들어 ifviss, elseelles, whilemedan 같은 식이에요.

기술적으로는 어떻게 만들어졌나

블로그 글을 보면 Brunost는 토이 언어치고는 꽤 정성 들여 만들어진 편이에요. 자체 렉서(lexer), 파서(parser), 인터프리터를 가지고 있고, 변수 선언·함수 정의·조건문·반복문·기본 자료형 같은 기본 요소를 지원해요.

여기서 재미있는 기술 포인트 몇 가지가 있는데요, 첫째는 유니코드 식별자 처리예요. 노르웨이어에는 æ, ø, å 같은 문자가 있어서, 식별자나 키워드에서 이걸 제대로 받아들이려면 렉서가 ASCII 가정을 완전히 버려야 해요. 많은 토이 언어가 여기서 발을 헛디디는데, Brunost는 처음부터 UTF-8을 기본으로 깔고 갔고요.

둘째는 키워드 다의성이에요. 자연어에는 동음이의어가 많은데, 예를 들어 'og'(그리고)는 일상 문장에서 워낙 흔한 단어라 식별자로도 쓰고 싶을 수 있거든요. 언어 설계자는 이런 충돌을 어디서 그을지 결정해야 해요. Brunost는 명확한 키워드 세트를 예약어로 잡는 전통적인 방식을 선택했어요.

셋째는 오류 메시지의 언어예요. 키워드만 노르웨이어로 바꾸고 런타임 에러는 영어로 내보내면 좀 어색하잖아요. 그래서 에러 메시지까지 뉘노르스크로 번역해 뒀어요. 이게 단순해 보여도, 각 에러 케이스를 뉘노르스크 문법에 맞게 자연스럽게 옮기는 건 번역가적 감각이 필요한 일이에요.

업계 맥락에서 이게 왜 의미 있나

프로그래밍이 영어 중심인 건 기술적 이유라기보다 역사적 관성에 가까워요. ASCII 시절의 제약, 초기 컴퓨터 보급 지역, 영어권 커뮤니티의 선점 같은 것들이 합쳐진 결과죠. 그런데 컴퓨팅 교육이 점점 어린 연령대로 내려오면서, '영어 장벽 없이 프로그래밍의 개념부터 배우기'라는 요구가 세계 곳곳에서 나오고 있어요. Scratch가 수십 개 언어로 번역되는 것도 같은 맥락이고요.

Brunost는 그 흐름의 작은 한 점이에요. 비슷한 프로젝트로 아이슬란드어 기반 Fjölnir, 브라질 포르투갈어 기반 Portugol, 한국어 기반 얄라얄라·배트맨스크립트 같은 것들이 있었어요. 이런 언어들이 주류가 되진 못해도, 언어학적 다양성을 유지하면서 프로그래밍 개념을 가르치는 교육 도구로는 꾸준히 수요가 있어요.

한국 개발자에게 주는 시사점

한국어 기반 프로그래밍 언어는 오래전부터 시도가 있었지만 실용 언어 수준까지 올라간 사례는 많지 않아요. Brunost의 소스 코드를 들여다보는 건 작지만 제대로 만든 언어를 배우는 좋은 교재가 될 수 있어요. 특히 렉서/파서 구현, 유니코드 처리, 에러 메시지 설계 같은 부분은 실무에서 DSL을 만들 때도 그대로 적용되는 노하우고요. 취미 언어 하나 만들어 보고 싶었던 분들께는 좋은 스타팅 포인트가 될 거예요.

마무리

한 줄로 정리하면, Brunost는 프로그래밍이 영어가 아니어도 될 수 있음을 작게나마 증명하는 실험이에요. 한국어 키워드로 된 실용 언어가 가능하다면, 여러분은 어떤 키워드부터 번역해 보고 싶으세요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.