Skip to main content
QUICK REVIEW

[论文解读] MyProLang - My Programming Language: A Template-Driven Automatic Natural Programming Language

Youssef Bassil, Aziz Barbar|arXiv (Cornell University)|Apr 1, 2012
Teaching and Learning Programming参考文献 8被引用 6
一句话总结

MyProLang 提出了一种基于模板的自然语言编程环境,通过用户友好的 GUI 模板生成可执行代码,减少语法错误和学习障碍。通过结合自然语言生成、源到源编译以及人体工学 IDE,它使非专家和学生能够自动编写正确的程序,使用人类可读的命令式语言,而无需手动编码或掌握语法。

ABSTRACT

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)引擎将用户输入转换为人类可读、语法正确的源代码。
  • 源到源编译器解析并编译生成的自然代码,输出可执行二进制文件。
  • 该环境集成了人体工学 IDE,支持在单一界面中完成代码生成、编辑和执行。
  • 该方法将编程逻辑与底层语法解耦,最大限度减少手动编码和语法错误。

实验结果

研究问题

  • RQ1基于模板的系统能否在无需手动编码的情况下,从自然语言输入生成正确且可执行的代码?
  • RQ2该方法在多大程度上降低了新手程序员和终端用户的学习曲线?
  • RQ3NLG 与源到源编译的集成在保持程序正确性和可读性方面有多高效?
  • RQ4此类系统能否提高软件开发的生产效率和上市时间?
  • RQ5该系统在自然语言语境下如何处理语法错误并维持代码质量?

主要发现

  • 该系统成功通过 GUI 模板从自然语言输入生成可执行代码,完全消除了手动输入语法的过程。
  • 使用具有简化语法的专有自然语言显著降低了初学者的认知负荷和学习时间。
  • NLG 与源到源编译的集成实现了自然语言规格到可运行程序的自动转换。
  • 人体工学 IDE 支持简化的开发工作流程,提升了非专家用户的可用性。
  • 通过模板驱动的生成方式,该方法抽象了复杂的语法规则,最大限度减少了语法错误。
  • 该系统展现出显著提升各类用户群体编程生产力和可及性的潜力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。