tu-lang 一款 0 依赖,支持动态、静态的编程语言,已实现自举
现在 tulang 终于迈出了第一步,已实现自举,已自举实现了 compiler,std,runtime ,覆盖了上百个测试用例
tu [options] file.tu
build *.tu 编译 tulang 代码成汇编后进行链接生成二进制可执行文件
-s *.tu|dir 编译为 tulang 代码为 linux-amd64 汇编文件
-c *.s |dir 编译汇编为 elf&pecoff 跨平台可重定向 cpu 指令集文件
-o *.o |dir 链接 elf&pecofff 可重定向文件生成最终执行程序
-d 开启 trace 日志打印编译详细过程
-gcc 支持通过 gcc 链接生成最终可执行程序
-g 编译 tu 文件时带上 debug 段信息,支持栈回溯
-std 编译 runtime&std 相关内置库代码
到现在为止真正的实现了 0 依赖,坚持写了 4-5 年了,终于可以到试用测试阶段了,之前一直没有宣传过,今天也是第一次在这个论坛发帖,也算是激励一下自己吧
多年来就一直想不清楚一个问题:国内大牛这么多,为什么都在卷高级的优化,到现在为止都没有一个能用的上的真正意义的普通国产编程语言。
毕业多年来就一直想自己做一款对程序员友好的语言,感觉现在的语言为了高性能、安全,往越来越极端的方向走,现在工作中就是用的 rust ,简直折磨人,和当初用 php 时比起来,我认为动态语言才是更符合未来的方向,
但动态语言性能差,而且都是解释型,扩展差,通常通过写 c 语言动态库来实现增加一些底层的特性,最明显的就是 php 生态有个 swoole 扩展,就是写了一套 epoll 网络异步框架动态库,给 php 用,实际用起来效果也够用了,性能也比较好,但这种方式就是有点折磨人
所以我写 tulang 的目标本来就没有很大,只想走动态语言的方向,同时支持静态写法(自己写底层,自己写 syscall), 平时主要的就写写动态语法,没有心智负担,遇到性能问题的时候 就用静态语法写,也非常方便
还有一个目标就是,像 php ,python 这种都依赖 c ,gcc ,没有实现自举,环境依赖非常严重,所以 tulang 也要有自举,自己汇编自己链接,100%原汁原味
仓库地址: https://github.com/tu-lang/tu
最后欢迎大家试用,可以一起优化和做生态,我也会继续做下去,希望有一天能正式发生产版,成为国内的通用编程语言,也谢谢大家的 star