这是我开发的编程语言 nature

2023-05-12 10:52:49 +08:00
 weiwenhao

当正式版本发布时,nature 会有稳定语法 API 、类型系统、GC 、协程、泛型、包管理、基础标准库。

nature 支持交叉编译,可以编译到 linux/darwin & amd64/riscv64/wasm ,同样也可以解释到 nature-vm 执行。

这是官网 https://nature-lang.org 你可以在这里得到更多的信息以及它的文档

代码仓库 https://github.com/nature-lang/nature

我不想也不能说 nature 解决了 xxx 问题,或者比 xxx 快多少。实际上 nature 只是我在学习计算机程序的构造与解释时产生的一颗种子。然后在过去的某个时刻,我决定让它发芽 🌱,所以我尽可能的将它完善并发布了出来。接下来我也将继续推动 nature 直到首个正式版本发布 🌳。

v2ex 是我目前唯一关注的程序员相关的论坛了,所以选择在这里发布。虽然 nature 目前还不能帮助大家做什么,但是我依旧希望能够得到大家的支持(求 star),大家如果有摸鱼群也可以帮忙分享一下,谢谢大家了。

另外早上发布过一次,但是节点选错了,不知道沉到哪里去了,我就厚着脸皮再发一次 🙏

11100 次点击
所在节点    程序员
121 条回复
ShadowPower
2023-05-12 16:24:50 +08:00
@andytao C/C++的语法里,一个函数定义的开头是函数返回值,parser 至少要读取到第 3 个 token 才能确定第一个 token 是什么类型。
如果语言要支持泛型,哪怕照搬 C#的那种写法,这个工作量就更大了。

把函数返回值放在末尾,还方便在语法设计里省略书写返回值类型,只需要编译器自己推导。尤其是类型特别复杂的时候。而不需要用 var 、auto 之类的东西作为代替。
Margarethe
2023-05-12 16:56:14 +08:00
给你点赞,做了我一直想做,但是没时间也没能力做的事
weiwenhao
2023-05-12 16:59:45 +08:00
@ShadowPower 一开始是想类型全部前置的,可以在 examples 目录里面看到,但是在最后几个月,我发现 虽然函数返回类型前置能够省略 fn 符号的编写,但是在编写高阶函数时,尤其是匿名函数会非常的丑陋和不可读
weiwenhao
2023-05-12 17:02:20 +08:00
@forty 目前不支持哦,但是这是我非常喜欢的一个功能,我计划在设计泛型时一起考虑进来。
weiwenhao
2023-05-12 17:02:55 +08:00
@Margarethe 每个人都有能力的,时间才是问题。
weiwenhao
2023-05-12 17:05:48 +08:00
@mooddance 官网首页有三个特征,都是和某一我使用过的热门语言对比,但是因为这是属于拿硬币的直径和笔记本的厚度做对比,所以我不太好意思直说是什么语言了。

https://nature-lang.org/docs/getting-started/meet-nature 文档这里包含 nature 自身具有的一些特征。 如果使用雷式对比法则的话,其实是有一些特点的。但是目前都不太敢明目张胆的说出来,怕话说的太满反而适得其反
lilei2023
2023-05-12 17:07:25 +08:00
这玩意没点功底,搞不定,厉害
Esen
2023-05-12 17:15:44 +08:00
厉害了,膜拜大佬
TwoCookie
2023-05-12 17:24:41 +08:00
star 支持一下
kangkag0231
2023-05-12 17:25:19 +08:00
cool 做了很多人想做的事
bruce0
2023-05-12 17:32:35 +08:00
吊啊卧槽, 整个全手撸的 我还以为是套了其他编译器或者语言的东西(比如 llvm) 竟然全手撸 牛逼
17681880207
2023-05-12 17:37:13 +08:00
不服不行...😀
arvinsilm
2023-05-12 17:39:43 +08:00
Github 的 README 是否可以加上官网和文档的链接,只看这个 README 感觉介绍的太简洁了
shenjinpeng
2023-05-12 17:41:43 +08:00
有点像 PHP 和 Go 的结合体
kujio
2023-05-12 17:44:28 +08:00
有大厂的话就可以 “国产、自研、创新” 了
Radiation
2023-05-12 17:47:44 +08:00
已 Star ,希望可以坚持下去,加油!
littlewing
2023-05-12 17:49:38 +08:00
"我不想也不能说 nature 解决了 xxx 问题,或者比 xxx 快多少。实际上 nature 只是我在学习计算机程序的构造与解释时产生的一颗种子。然后在过去的某个时刻,我决定让它发芽 🌱,所以我尽可能的将它完善并发布了出来。"
就为了这句话点赞
fionasit007
2023-05-12 17:52:12 +08:00
@likunyan 这个就没必要硬扯了。。。语言能好开放的,但是开发是一回事使用是一回事
weiwenhao
2023-05-12 18:11:07 +08:00
@arvinsilm 可以,我现在去搞一个
xrr2016
2023-05-12 18:14:56 +08:00
牛,star 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/939430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX