[논문 리뷰] MyProLang - My Programming Language: A Template-Driven Automatic Natural Programming Language
MyProLang는 사용자 友好的한 GUI 템플릿을 통해 실행 가능한 코드를 생성하는 템플릿 기반 자연어 프로그래밍 환경을 제안한다. 이는 문법 오류와 학습 장벽을 줄인다. 자연어 생성, 소스 투 소스 컴파일링, 그리고 유저 친화적인 IDE를 결합함으로써, 전문가가 아니거나 학생들 역시 수동 코딩이나 문법 숙련 없이 인간이 읽을 수 있고, 명령형 언어로 작성된 정확한 프로그램을 자동으로 작성할 수 있다.
Modern computer programming languages are governed by complex syntactic rules. They are unlike natural languages; they require extensive manual work and a significant amount of learning and practicing for an individual to become skilled at and to write correct programs. Computer programming is a difficult, complicated, unfamiliar, non-automated, and a challenging discipline for everyone; especially, for students, new programmers and end-users. This paper proposes a new programming language and an environment for writing computer applications based on source-code generation. It is mainly a template-driven automatic natural imperative programming language called MyProLang. It harnesses GUI templates to generate proprietary natural language source-code, instead of having computer programmers write the code manually. MyProLang is a blend of five elements. A proprietary natural programming language with unsophisticated grammatical rules and expressive syntax; automation templates that automate the generation of instructions and thereby minimizing the learning and training time; an NLG engine to generate natural instructions; a source-to-source compiler that analyzes, parses, and build executables; and an ergonomic IDE that houses diverse functions whose role is to simplify the software development process. MyProLang is expected to make programming open to everyone including students, programmers and end-users. In that sense, anyone can start programming systematically, in an automated manner and in natural language; without wasting time in learning how to formulate instructions and arrange expressions, without putting up with unfamiliar structures and symbols, and without being annoyed by syntax errors. In the long run, this increases the productivity, quality and time-to-market in software development.
연구 동기 및 목표
- 기존 프로그래밍 언어의 높은 학습 곡선과 높은 오류율 문제를 해결하기 위해.
- 정확한 프로그램을 작성하는 데 소요되는 시간과 노력을 줄이기 위해 코드 생성을 자동화하기 위해.
- 비프로그래머, 학생, 최종 사용자들이 자연어 구조를 통해 프로그래밍에 접근 가능하도록 하기 위해.
- 자연어 생성(NLG)과 소스 투 소스 컴파일링을 통합하여 실행 가능한 출력물을 생성하기 위해.
- 사용자 친화적인 IDE를 통해 전체 프로그래밍 워크플로우를 단순화하여 소프트웨어 개발을 효율화하기 위해.
제안 방법
- 시스템은 간결한 문법과 표현력 있는 구문을 가진 전용 자연 프로그래밍 언어를 사용한다.
- GUI 기반 템플릿을 활용해 사용자가 자연어로 프로그램 논리를 지정하도록 안내한다.
- NLG 엔진이 사용자 입력을 인간이 읽을 수 있고 문법적으로 올바른 소스 코드로 변환한다.
- 소스 투 소스 컴파일러가 생성된 자연어 코드를 분석하고 실행 가능한 바이너리로 컴iles한다.
- 환경은 코드 생성, 편집, 실행을 하나의 인터페이스에서 지원하는 사용자 친화적인 IDE를 통합한다.
- 이 접근법은 프로그래밍 논리와 저수준 문법을 분리함으로써 수동 코딩과 문법 오류를 최소화한다.
실험 결과
연구 질문
- RQ1템플릿 기반 시스템이 수동 코딩 없이 자연어 입력으로부터 정확하고 실행 가능한 코드를 생성할 수 있는가?
- RQ2이 방법이 초보자 프로그래머와 최종 사용자의 학습 곡선을 어느 정도 줄이는가?
- RQ3NLG와 소스 투 소스 컴파일링의 통합이 프로그램의 정확성과 가독성 유지에 얼마나 효과적인가?
- RQ4이러한 시스템은 소프트웨어 개발 생산성과 마켓 출시 시간을 향상시킬 수 있는가?
- RQ5자연어 환경에서 문법 오류를 어떻게 처리하고 코드 품질을 유지하는가?
주요 결과
- 시스템은 GUI 템플릿을 통해 자연어 입력으로부터 실행 가능한 코드를 성공적으로 생성하여 수동 문법 입력을 완전히 제거했다.
- 간결한 문법을 가진 전용 자연어 언어의 사용으로 초보자들의 인지 부담과 학습 시간이 감소했다.
- NLG와 소스 투 소스 컴파일링의 통합을 통해 자연어 사양을 자동으로 실행 가능한 프로그램으로 변환할 수 있었다.
- 사용자 친화적인 IDE는 비전문가를 위한 사용성 향상을 위해 스트리밍된 개발 워크플로우를 지원했다.
- 템플릿 기반 생성을 통해 복잡한 문법 규칙을 추상화함으로써 문법 오류가 최소화되었다.
- 이 시스템은 다양한 사용자 집단에서 프로그래밍 생산성과 접근성 향상 잠재력을 보였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.