Files
Fig-TreeWalker/README_ZH-CN.md

3.6 KiB
Raw Blame History

Fig 语言 - 现代脚本语言

Fig-Gitea

English

Fig 是一种动态强类型的编程语言专为清晰性、安全性和现代开发实践而设计。Fig 融合了 Go、Rust 和 JavaScript 的灵感,旨在提供高效的开发体验,同时保持强大的类型安全。

语言入门教程(zh_CN)

特性

🚀 核心语言特性

  • 动态类型与类型推断 - 强类型系统,最少类型注解
  • 现代控制流 - 完整的 for 循环支持,正确的作用域管理
  • 一等公民函数 - Lambda 表达式和闭包
  • 丰富的数据结构 - 结构体、列表、映射和元组
  • 内存安全 - 无空指针异常,自动内存管理

🔧 技术亮点

  • 三级循环作用域 - 迭代中正确的变量隔离
  • 智能分号处理 - 使用 RAII 守卫的灵活语句终止
  • 全面的错误处理 - 带有源码位置的详细错误信息
  • 干净的 C++ 实现 - 现代 C++23使用 RAII 和智能指针

使用教程

  1. 克隆存储库:
git clone https://git.fig-lang.cn/PuqiAR/Fig.git
# 推荐

git clone https://github.com/PuqiAR/Fig.git
  1. 切换到项目目录:
cd Fig
  1. 构建项目:
xmake build Fig
  1. 运行程序:
xmake run Fig [file]

[file]替换为输入文件的路径。

语言设计哲学

Fig 围绕几个核心原则设计:

  1. 清晰优于巧妙 - 代码首先应该可读
  2. 默认为安全 - 在编译时防止常见错误
  3. 现代人机工程学 - 开发者体验很重要
  4. 渐进式学习 - 入门简单,需要时功能强大

性能概览

版本: 0.4.3-alpha (树遍历解释器) 测试硬件: i5-13490F, Windows 11

计算 Fibonacci(30) 的执行时间:

  • 朴素递归: 5.47秒 (~比0.4.2-alpha快2.14倍)
  • 记忆化: 0.55毫秒 (~比0.4.2-alpha快1.69倍)
  • 迭代: 0.10毫秒 (~比0.4.2-alpha快3.73倍)
  • 尾递归: 0.16毫秒 (~比0.4.2-alpha快2.55倍)

可视化对比:

朴素递归      : █████████████████████████ 5.47秒
记忆化递归    : ▉ 0.55毫秒
迭代算法      : ▍ 0.10毫秒
尾递归        : ▎ 0.16毫秒

核心发现: 算法选择仍然主导性能,同时 0.4.3-alpha 在函数调用和循环效率上有明显提升。

详细报告: English | 中文

版本: 0.4.2-alpha (树遍历解释器)
测试硬件: i5-13490F, Windows 11

计算 Fibonacci(30) 的执行时间:

  • 朴素递归: 11.72秒
  • 记忆化: 0.93毫秒 (快12,600倍)
  • 迭代: 0.37毫秒 (快31,300倍)
  • 尾递归: 0.40毫秒 (快29,200倍)

可视化对比:

朴素递归      : ████████████████████████████████████████ 11.72秒
记忆化递归    : ▉ 0.93毫秒
迭代算法      : ▍ 0.37毫秒
尾递归        : ▎ 0.40毫秒

核心发现: 在此树遍历实现中,算法选择主导性能表现。

详细报告: English | 中文

语言文档

在 docs/zh_CN/... 查看更多 我们正在寻找译者来帮助翻译项目文件以便于不同语言社区的使用