探索未来编程语言的潜力:Savi
Savi 是一个专为热衷于编程艺术的开发者设计的高效语言。它不仅仅是一个工具,更是一种思维的转变,将帮助你迎接更为雄心勃勃的技术挑战,并在这个过程中享受编程的乐趣。
Savi 将并发和内存安全的概念提升到了新的层次。借助强大的Pony运行时,它允许你构建出运行快速、并发执行且无数据竞争问题的软件。通过其独特的类型系统,Savi在编译阶段就确保了这些关键的安全性特性。
项目背景
Savi 是基于Pony语言运行时的actor导向型编程语言,它的核心理念是让编程既简单又强大。像现代许多编译型语言一样,Savi利用LLVM编译器基础设施,能够跨平台生成原生代码,从而实现卓越的性能。
该项目由一群热情的志愿者团队维护和开发,他们致力于使Savi成为易学、有趣且可扩展的语言。如果你对这个愿景感到兴奋,欢迎加入我们的聊天室,一起参与进来!
快速体验Savi
要尝试Savi,首先需要安装asdf版本管理器。然后按照以下步骤操作:
# 添加Savi插件到asdf。
asdf plugin add savi https://github.com/savi-lang/asdf-savi.git
# 下载并安装最新版Savi。
asdf install savi latest
# 全局设置Savi为默认版本。
asdf global savi latest
# 验证安装是否成功。
savi eval 'env.out.print("Savi is installed!")'
一旦安装完成,你可以在包含manifest.savi
文件的目录中运行savi
命令来编译程序,生成的可执行二进制文件将在./bin
目录下。或者使用savi run
直接编译并运行程序。
此外,我们还提供了VS Code和Vim/Nvim的扩展插件,以增强你的开发体验。
参与贡献
想贡献力量?访问我们的GitHub问题列表,寻找适合你能力和时间的任务。无论你是经验丰富的开发者还是新手,我们都欢迎你加入我们,共同塑造Savi的未来。有任何疑问或需要指导,都可以在聊天室找到我们。
开发流程
要参与Savi项目,确保已安装make
、clang
和crystal
(参考shard.yml
获取正确的Crystal版本)。如有需求,还可以安装lldb
进行调试。从项目仓库克隆代码后,你可以运行make
命令查看可用选项:
- 使用
make spec.all
运行完整的测试套件。 - 运行
make format.check
检查源代码格式,或者运行make format
自动修复格式问题。 - 若要从特定示例代码目录编译和运行,如
adventofcode/2018
,可以运行make example dir="/opt/code/examples/adventofcode/2018"
。
此外,通过Docker容器进行开发也是一个选择,只需确保有docker
环境,无需额外配置。
Savi 的特点
- 高性能并发:Savi 基于Pony运行时,支持高效的并发处理,确保程序运行速度快且不会出现数据竞争。
- 内存安全保障:独特的类型系统在编译期间即能检测出潜在的内存安全问题,为您的代码提供可靠保障。
- 广泛兼容:利用LLVM作为后端,Savi可生成多平台的原生代码,适应各种开发环境。
- 友好社区:Savi拥有一群积极向上的开发者,他们乐于助人,欢迎新人加入,共同学习和进步。
如果你渴望改变编程的方式,追求更高的性能和安全性,那么Savi正是你需要探索的新领域。现在就开始你的Savi之旅,发现更多可能吧!