V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  weiwenhao  ›  全部回复第 5 页 / 共 22 页
回复总数  427
1  2  3  4  5  6  7  8  9  10 ... 22  
@droppedbytech 没有哦,如果不方便加微信群也可以通过 issue 进行沟通,我看到都会回复的。
@mightybruce 嗯嗯,wasm 是 nature 的核心目标之一哦,也是 nature 可以跨平台的保障。我相信 wasm 以后会全平台预装不仅仅是浏览器,是比 jvm 更加厉害的存在。
219 天前
回复了 weiwenhao 创建的主题 程序员 这是我开发的编程语言 nature
@RainCats 我就是英文不好的普罗大众,所有的文档都是中文版本的,英文是 GPT 翻译的。
@MrSheng 我不具备权威属性,所以我一定尽量避免发明新的语法或者关键字。 例如 i8 这样的类型声明方式在 rust/zig 这样的编程语言中已经得到了推广。 至于 vec/tup/arr 在平时的使用中是不会用到的。 可以通过 [int] 这样的方式声明一个 vec 类型。使用 (int,float) 声明 tup 类型, 至于 arr 我还没有思考到具体的表现形式。 包括 ident<T> 目前是一种通用的类型声明方式,在没有思考到更好的表达方式之前,都会保留入 ident<T> 的方式。 ctpr 同样也是普通用户不需要关心的类型。在 golang 中对应的是 unintptr 类型。

这里 vec/tup 这里后续将不作为一个关键字,而是可以随时进行覆盖的类型声明。当然这里面最需要考虑的是会不会和用户的编码明明方式冲突, 比如很多用户喜欢使用 list 这个 ident 作为变量名称,如果我使用了 list 作为关键字。那就严重影响的用户的使用习惯,其他关键字也是同理。 毕竟大多数情况下我们可能不需要去声明 vec/tup 这样的关键字。

至于单引号的形式,只是推荐使用单引号,双引号也是可以使用的,这和脚本语言表达形式一致。大多数语言也都支持使用单引号字符串。
@sapjax 在看 clox 之前我就已经实现了编译器前端了(使用的 c++), 看完 clox 之后发现教的非常的好,我就整个用 C 语言重写了编译器前端。clox 中我收货最大的是 parser 的方式和 闭包转换。
@simpx zig 我就完全没有了解过了,倒是和 vlang 超级像,但是绝对不是抄着 vlang 的语法设计,是真的想法一致了 😄
@AItsuki 嗯嗯,考虑过这个问题,实际上支持多返回值是完全兼容 golang 的错误处理方式。 另外其实 try 吃基于 try catch 的,下个版本会开放 var err = try {} 的形式。
@fpure 统一类型前置,包括函数的返回值的类型也是前置的,只是省略了 ident.

fn sum(int a, int b):int c -> fn(int,int):int
@skiy 好的,那应该是 bug, 我记录一下。-h 我也支持一下
@2NUT 项目管理就是用 Obsidian + TODO list 。 时间没有管理过,我业余时间只有这一件事情做。

https://i.imgur.com/FbFUfGn.png
@SHF 目前不支持,现在没有 lsp, 对使用者并不友好。预计再肝半年左右会有给大家使用的社区可用版本。
@letianqiu 后端比较简单,但已经不是 toy 了,已经具备了基础的优化框架。不用 llvm 主要是为了对源码开发者友好,能够让开发者掌握更多的核心知识和原理,同时也更加的可控。


https://github.com/ziglang/zig/issues/16270 zig 也正在脱离 llvm, 作者给到的理由也同样可以参考

In exchange, Zig gains these benefits:

All our bugs are belong to us.
The compiler becomes trivial to build from source and to bootstrap with only a C compiler on the host system.
We stop dealing with annoying problems introduced by Linux distributions and package managers such as Homebrew related to LLVM, Clang, and LLD. There have been and continue to be many.
The Zig compiler binary goes from about 150 MiB to 5 MiB.
Compilation speed is increased by orders of magnitude.
We can implement our own optimization passes that push the state of the art of computing forward.
We can attract research projects such as alive2
We can attract direct contributions from Intel, ARM, RISC-V chip manufacturers, etc., who have a vested interest in making our machine code better on their CPUs.
@B1ankCat 版本号问题不大,只要不能到可用要求,那 0.10 ,0.11 都会往上推进。1.0.0 必须达到商业可用版本。
@skiy

1. 目前就是根据 nature 所在路径查找的 NATURE_PATH, /usr/local 只是推荐路径。
2. 确实不支持 -h 以及 run, 只支持 build 。
3. github 用例展示中,标准库还不支持 http ,并且其中 http server 确实有代码问题,第七行参数没有给类型,我记录一下,下一次更新一下用例。

感谢你认真体验。这让我非常有动力。
@Masoud2023 @diggerdu

两位冷静一下! 这我都不知道怎么劝你们了。😭
@RockShake 是的,杀手级应用就靠我自己了,希望 SAO 能够成为这个杀手
@learningman nature 是基于 C 语言的改进,有更加现代的类型系统,内置多种数据结构支持,按照模块化管理明明空间,并支持包管理。具备运行时堆栈追踪(而不是 stackoverflow) 等等。 起于 C , 但同时 nature 也可以轻松的与 C 语言的模块进行交互。
@antonius 👍 都是纯 C 。我不会去走正常流程从头做起,现在 nature 可以调用 C 语言库,所以很多方面实现起来比较简单。 另外确实如你所说,我计划就是选择某个特定的方面。尽可能将整体工作量压缩在一年以内,能够已最小代价实现一个 demo 。
@dwzfuck 没有哦,实现自举的工作量太大了,我更愿意把这些代码量做些好玩有用的东西。
@skiy 我 44 年的时候入了国军,现在已经没有回头路了。游戏引擎我也很有兴趣,但是这是一个大工程,又要 5 年起步,所以我必须慎重一点启动。
1  2  3  4  5  6  7  8  9  10 ... 22  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   829 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 19:56 · PVG 03:56 · LAX 12:56 · JFK 15:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.