From 5a9c9eec7a63bed41d57184add9e4a5f6e601910 Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 7 Jun 2025 14:38:55 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E6=94=B9=E5=8F=98=E6=96=87=E6=A1=A3=20J?= =?UTF-8?q?DK=20=E4=BB=8E=2023=20=E5=88=B0=2024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/Snow 心路历程/Snow 心路历程.md | 14 ++++++------ lib/test/opcode.snow | 22 ------------------- .../jcnc/snow/compiler/backend/doc/README.md | 2 +- .../org/jcnc/snow/compiler/ir/doc/README.md | 2 +- .../jcnc/snow/compiler/lexer/doc/README.md | 2 +- .../jcnc/snow/compiler/parser/doc/README.md | 2 +- .../jcnc/snow/compiler/semantic/doc/README.md | 2 +- 7 files changed, 12 insertions(+), 34 deletions(-) delete mode 100644 lib/test/opcode.snow diff --git a/doc/Snow 心路历程/Snow 心路历程.md b/doc/Snow 心路历程/Snow 心路历程.md index 0c69254..a967dc4 100644 --- a/doc/Snow 心路历程/Snow 心路历程.md +++ b/doc/Snow 心路历程/Snow 心路历程.md @@ -13,7 +13,7 @@ 传统编程语言的设计多偏重“计算机”的执行效率,程序员往往在抽象表达和底层性能之间不断权衡。Ruby 之父松本行弘提出“为人而不是为机器编程”的理念。而在 LLM 日益普及的今天,我们应当承认:大型模型正成为“超级程序员”,它们不仅是助手,更是“代码生产的中介”。如果一门语言的语法和设计能最大化发挥 LLM 的推理与生成能力,人机协作的效率将被极大提升。 -因此,**Snow** 的使命是:让脚本语言不再“让人头疼”,而是“让 LLM 更加从容地书写”。目标受众涵盖 LLM 爱好者、开发者、对编译原理感兴趣的学生,以及对性能有追求的工程师甚至是初学者——每个人都能在 Snow 中找到乐趣与成长。 +因此,**Snow** 的使命是:让编程语言不再“让人头疼”,而是“让 LLM 更加从容地书写”。目标受众涵盖 LLM 爱好者、开发者、对编译原理感兴趣的学生,以及对性能有追求的工程师甚至是初学者——每个人都能在 Snow 中找到乐趣与成长。 ## 1.3 文章目的 @@ -30,19 +30,19 @@ ## 2.1 现有工具的痛点 -* **脚本语言过于灵活,缺乏规范** - 常见的脚本语言如 Python、PHP、Ruby,虽然语法简洁、上手快,但“灵活性”本身也带来了不少隐患:变量类型可以随意变化,作用域和命名规则宽松,团队协作时代码风格极易失控,隐蔽 Bug 难以及时发现。自动化运维和日常数据处理脚本往往随手一写,维护与交接时却漏洞百出、沟通成本高。许多开发者都在思考:如果有一门语法严谨、行为可预测,并天然适合团队协作与 LLM 生成的脚本语言,是不是能让代码质量和工程效率都上一个台阶? +* **编程语言过于灵活,缺乏规范** + 常见的编程语言如 Python、PHP、Ruby,虽然语法简洁、上手快,但“灵活性”本身也带来了不少隐患:变量类型可以随意变化,作用域和命名规则宽松,团队协作时代码风格极易失控,隐蔽 Bug 难以及时发现。自动化运维和日常数据处理脚本往往随手一写,维护与交接时却漏洞百出、沟通成本高。许多开发者都在思考:如果有一门语法严谨、行为可预测,并天然适合团队协作与 LLM 生成的编程语言,是不是能让代码质量和工程效率都上一个台阶? -* **缺乏专为 LLM 设计的脚本语言** - 当下主流编程语言,基本都是“为人类程序员”而设计,很少考虑 LLM 的生成和推理习惯。比如:部分语法容易混淆,作用域和可见性规则不直观,LLM 在生成时不仅需要大量提示,结果还常常不理想。缺少一门语法清晰、特征单一、对 LLM 友好的脚本语言,导致自动化和智能生成代码场景下,仍然存在很多不可控和效率瓶颈。 +* **缺乏专为 LLM 设计的编程语言** + 当下主流编程语言,基本都是“为人类程序员”而设计,很少考虑 LLM 的生成和推理习惯。比如:部分语法容易混淆,作用域和可见性规则不直观,LLM 在生成时不仅需要大量提示,结果还常常不理想。缺少一门语法清晰、特征单一、对 LLM 友好的编程语言,导致自动化和智能生成代码场景下,仍然存在很多不可控和效率瓶颈。 ## 2.2 触发想法的场景 * **对高效与规范的需求日益突出** - 在实际开发和运维工作中,我们经常要写各种自动化脚本。由于编程语言过于灵活,代码风格极易失控,维护起来痛苦不堪。团队中常常讨论:能否有一门语法严谨、易于规范化、适合团队协作的脚本语言?大家都希望提升代码质量,减少后期返工。 + 在实际开发和运维工作中,我们经常要写各种自动化脚本。由于编程语言过于灵活,代码风格极易失控,维护起来痛苦不堪。团队中常常讨论:能否有一门语法严谨、易于规范化、适合团队协作的编程语言?大家都希望提升代码质量,减少后期返工。 * **自研编程语言的大胆设想** - 随着 LLM 在自动化、辅助编程中的应用普及,越来越多场景下希望直接“让 LLM 写代码”。但事实是,不管是让 LLM 生成 Python 还是 PHP,总要写很多提示,还要人工修正各种细节。由此引发思考:如果有一门对 LLM 友好的脚本语言,语法特征清晰、行为可预测,能不能大幅提升代码自动生成与落地的效率? + 随着 LLM 在自动化、辅助编程中的应用普及,越来越多场景下希望直接“让 LLM 写代码”。但事实是,不管是让 LLM 生成 Python 还是 PHP,总要写很多提示,还要人工修正各种细节。由此引发思考:如果有一门对 LLM 友好的编程语言,语法特征清晰、行为可预测,能不能大幅提升代码自动生成与落地的效率? ## 2.3 项目愿景 diff --git a/lib/test/opcode.snow b/lib/test/opcode.snow deleted file mode 100644 index 3a1ffe6..0000000 --- a/lib/test/opcode.snow +++ /dev/null @@ -1,22 +0,0 @@ -module: Math - function: factorial - parameter: - declare n:int - return_type: int - body: - declare num1:int = 1 - loop: - initializer: - declare counter:int = 1 - condition: - counter <= n - update: - counter = counter + 1 - body: - num1 = num1 * counter - end body - end loop - return num1 - end body - end function -end module diff --git a/src/main/java/org/jcnc/snow/compiler/backend/doc/README.md b/src/main/java/org/jcnc/snow/compiler/backend/doc/README.md index b24d5be..c9edc59 100644 --- a/src/main/java/org/jcnc/snow/compiler/backend/doc/README.md +++ b/src/main/java/org/jcnc/snow/compiler/backend/doc/README.md @@ -49,7 +49,7 @@ backend/ ## 开发环境 -* JDK 23 或更高版本 +* JDK 24 或更高版本 * Maven 构建管理 * 推荐 IDE:IntelliJ IDEA diff --git a/src/main/java/org/jcnc/snow/compiler/ir/doc/README.md b/src/main/java/org/jcnc/snow/compiler/ir/doc/README.md index 3d482c0..142b59f 100644 --- a/src/main/java/org/jcnc/snow/compiler/ir/doc/README.md +++ b/src/main/java/org/jcnc/snow/compiler/ir/doc/README.md @@ -30,7 +30,7 @@ ir/ ## 开发环境 -* JDK 23 或更高版本 +* JDK 24 或更高版本 * Maven 构建管理 * 推荐 IDE:IntelliJ IDEA diff --git a/src/main/java/org/jcnc/snow/compiler/lexer/doc/README.md b/src/main/java/org/jcnc/snow/compiler/lexer/doc/README.md index a1c0a54..c203e85 100644 --- a/src/main/java/org/jcnc/snow/compiler/lexer/doc/README.md +++ b/src/main/java/org/jcnc/snow/compiler/lexer/doc/README.md @@ -31,7 +31,7 @@ lexer/ ## 开发环境 -* JDK 23 或更高版本 +* JDK 24 或更高版本 * Maven 构建管理 * 推荐 IDE:IntelliJ IDEA diff --git a/src/main/java/org/jcnc/snow/compiler/parser/doc/README.md b/src/main/java/org/jcnc/snow/compiler/parser/doc/README.md index 2615ad0..3c951d7 100644 --- a/src/main/java/org/jcnc/snow/compiler/parser/doc/README.md +++ b/src/main/java/org/jcnc/snow/compiler/parser/doc/README.md @@ -37,7 +37,7 @@ parser/ ## 开发环境 -* JDK 23 或更高版本 +* JDK 24 或更高版本 * Maven 构建管理 * 推荐 IDE:IntelliJ IDEA diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/doc/README.md b/src/main/java/org/jcnc/snow/compiler/semantic/doc/README.md index 6d921d2..8cf0afe 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/doc/README.md +++ b/src/main/java/org/jcnc/snow/compiler/semantic/doc/README.md @@ -34,7 +34,7 @@ semantic/ ## 开发环境 -* JDK 23 或更高版本 +* JDK 24 或更高版本 * Maven 构建管理 * 推荐 IDE:IntelliJ IDEA