LLMs 时代的编程语言设计:回归平庸?

主要观点:编程语言设计在大型语言模型(LLM)时代面临挑战与机遇。过去几十年,精心设计的领域特定语言(DSL)能让用户专注于问题本质,消除认知负担和错误,但如今LLM已广泛渗透,可能取代DSL设计的进展和兴趣。
关键信息:

  • LLM在训练集代表的编程语言中效率更高,如Python等,而对于小众语言性能不佳。
  • 利用LLM生成DSL代码存在挑战,如理解DSL语法语义、确保正确性等。
  • 提出语言设计的三个新兴方向:通过Python教LLM关于DSL、用LLM桥接DSL中的正式与非正式、设计用于验证LLM合成的语言。
    重要细节:
  • 图表显示不同语言在LLM中的性能差异,语言越小众性能越差。
  • 如在[Verified Code Transpilation with LLMs]论文中,通过让LLM生成Python表达式再翻译为小众语言来生成代码。
  • 日常编程中,复杂系统代码需手动编写,而脚本可利用LLM改变编写方式,如生成数据处理脚本。
  • [Towards AI-Assisted Synthesis of Verified Dafny Methods]论文中让LLM生成带规格的Dafny程序以验证输出代码。

结论:LLM给DSL设计师带来挑战,需提高DSL使用的合理性,同时也改变了可能的空间,语言设计需适应新环境,否则可能导致DSL多样性减少,大家都只写Python。

阅读 10
0 条评论