Byeol 언어는 개발자가 코딩하는 과정 자체를 즐겁게 느끼도록 만드는 것을 목표로 합니다. 마치 장난감을 가지고 놀 듯, 자꾸만 손이 가고 계속해서 무언가를 만들고 싶어지는 언어. 그것이 Byeol이 추구하는 모습입니다.
우리는 프로그래밍이 복잡한 숙제처럼 느껴지는 것을 원치 않습니다. 샌드박스형 게임에서 블록을 쌓으며 자유롭게 세상을 만들듯, Byeol을 통해 여러분의 상상을 쉽고 재미있게 코드로 표현할 수 있기를 바랍니다.
AI가 코딩을 대신하는 시대가 오더라도, 여전히 "코딩은 재미있다"라고 느끼며 취미로 남을 수 있는 언어를 만들고 싶습니다. 이를 위해서는 무엇보다 개발 경험이 편안해야 합니다. 문법이 복잡해서 막히거나, 디버깅이 어려워서 좌절하는 대신, 생각한 대로 로직이 만들어지는 즐거움을 느낄 수 있어야 합니다.
Byeol은 간결함을 최우선 가치로 둡니다. 단순히 코드를 짧게 쓰는 것을 넘어, 언어의 구조 자체가 단순해야 한다고 믿습니다.
우리는 아주 일부 상황에서만 쓰이는 기능을 위해 새로운 키워드를 추가하는 것을 반대합니다. 문법이 복잡해지는 것보다는, 차라리 그 기능을 과감히 버리고 간결함을 유지하는 쪽을 택합니다. 불필요한 키워드를 줄이고 문법을 최소화하여, 사용자가 언어 자체를 공부하는 시간보다 자신의 아이디어를 구현하는 데 더 집중할 수 있게 합니다.
Byeol은 예외를 싫어합니다. 같은 기능이라면 어떤 상황에서도 같은 문법으로 동작해야 합니다. 그래야만 사용자가 문법을 단순 암기하는 것이 아니라, 언어 설계자의 의도를 파악하고 원리를 이해할 수 있기 때문입니다.
예를 들어, Byeol에서는 타입을 항상 이름 뒤에 표기합니다. 변수를 선언할 때도 age int이고, 함수의 반환형을 적을 때도 foo() int입니다.
만약 함수 정의에서는 int foo()처럼 타입을 앞에 쓰게 했다면, 사용자는 "변수는 뒤에, 함수는 앞에"라는 규칙을 각각 외워야 했을 것입니다. 하지만 Byeol은 "타입은 항상 이름 뒤에 온다"는 하나의 원칙만을 따릅니다. 이 원칙을 이해하면 람다 함수나 다른 문법을 만났을 때도 자연스럽게 사용법을 유추할 수 있습니다.
일관성은 학습 비용을 낮추고, 코드를 직관적으로 느끼게 만듭니다.
Byeol은 기능이 늘어난다고 해서 키워드를 무작정 늘리지 않습니다. 대신 기존의 문법을 조합하고 압축하여 새로운 기능을 표현합니다.
대표적인 예가 with 문법입니다. 다른 언어들이 static, import, extends(상속)를 위해 각각 별도의 키워드를 사용하는 것과 달리, Byeol은 with 하나로 이 모든 개념을 처리합니다.
이것이 가능한 이유는 with A가 "A라는 대상을 현재의 문맥(Context)에 포함시킨다"는 하나의 일관된 원리로 동작하기 때문입니다.
사용자는 "상속할 땐 extends, 가져올 땐 import..."라고 따로 외울 필요가 없습니다. 그저 **"무언가를 가져와서 내 것처럼 쓰고 싶을 땐 `with`를 쓴다"**는 원리 하나만 이해하면 됩니다.
코딩은 마치 현미경으로 아파트를 짓는 것과 같습니다. 현미경으로 벽돌 하나하나를 정밀하게 쌓는 것은 가능하지만, 건물 전체의 모습을 보기는 어렵습니다. 개발자는 머릿속으로 끊임없이 전체 지도를 그리며, "내가 지금 어디를 작업하고 있고, 이것이 저것과 어떻게 연결되는가?"를 고민해야 합니다. 이는 개발자에게 큰 인지적 부하를 줍니다.
반대로 노드와 선으로 연결하는 시각화 프로그래밍(VPL)은 전체 구조를 파악하기에는 좋지만, 세밀한 로직을 구현하기에는 손가락으로 쌀알을 집는 것처럼 답답할 때가 있습니다.
Byeol은 이 두 가지의 장점을 결합하고자 합니다.
이를 위해 Byeol은 소스 코드를 실행 가능한 트리 구조(AST)로 유지하며 실행합니다. 이를 통해 IDE는 실행 중인 프로그램의 구조를 실시간으로 시각화하여 보여줄 수 있습니다. 코드를 수정하면 런타임에 즉시 반영되고, 그 변화가 시각적으로 바로 피드백되는 환경.
우리는 코드와 다이어그램을 분리하지 않고 하나로 묶어서 다룰 수 있는, 그래서 더 현실적이고 편안하게 코드를 만질 수 있는 환경을 지향합니다.
최종적으로 우리가 만들고 싶은 것은 **가장 쉽고, 가장 재밌게 창작할 수 있는 환경**입니다.
내가 상상한 로직을 블록 쌓듯이 툭툭 던져놓으면 코드가 되고, 마음에 안 들면 즉시 고쳐서 결과가 바뀌는 것을 눈으로 확인하는 세상. 코딩이 머리 아픈 논리 싸움이 아니라, 내 손끝에서 살아 움직이는 장난감이 되는 경험.
우리는 Byeol을 통해 그런 유토피아를 만들고 싶습니다.
다음 문서: 언어 배우기