새로운 프로그래밍 언어 'E--'(English--)가 개발되어 공개되었습니다. 이 언어는 개발자가 일상적인 영어 문장으로 코드를 작성하면, 이를 모호성 없는 '정식 E--' 문법으로 변환한 뒤 최종적으로 파이썬(Python) 코드로 컴파일해주는 것이 특징입니다. 이는 대규모 언어모델(LLM)이 생성하는 코드의 비결정적이고 디버깅하기 어려운 문제를 해결하면서도, LLM의 창의적인 활용 가능성을 열어줍니다.
E--는 두 단계의 파이프라인으로 작동합니다. 첫 번째 단계에서는 LLM(선택 사항)이 자유 형식의 영어를 '정식 E--' 문법으로 변환합니다. 이 과정에서 언어적 모호성이 제거됩니다. 두 번째 단계에서는 일반 파서(parser)가 '정식 E--' 코드를 파이썬 코드로 컴파일합니다. 이 컴파일 과정은 LLM 없이 완전히 결정론적으로 이루어지며, 따라서 재현 가능하고 디버깅이 용이한 파이썬 코드를 생성합니다. LLM은 오직 코드 작성 시점에만 사용되며, 프로그램 구조를 결정하는 대신 `{{ ... }}`와 같은 명확히 구분된 값 슬롯(value slot)을 채우는 역할만 합니다. 이렇게 채워진 값은 캐시되어 빌드의 재현성을 보장합니다.
E--는 LLM의 유연성과 기존 프로그래밍 언어의 안정성을 결합하려는 시도입니다. LLM이 생성한 코드는 종종 런타임에 예측 불가능한 동작을 보이거나, 매번 다른 결과를 내놓아 디버깅이 어렵고 비용이 많이 드는 문제가 있었습니다. E--는 LLM의 역할을 코드 작성 시점으로 한정하고, 실행은 순수하고 결정론적인 파이썬에 맡김으로써 이러한 단점을 극복합니다. 이는 개발자들이 LLM의 도움을 받아 더 빠르게 아이디어를 코드로 구현하면서도, 최종 결과물의 신뢰성과 유지보수성을 확보할 수 있게 해 줄 것입니다.