V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  weiwenhao  ›  全部回复第 6 页 / 共 22 页
回复总数  436
1 ... 2  3  4  5  6  7  8  9  10  11 ... 22  
@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 年起步,所以我必须慎重一点启动。
257 天前
回复了 weiwenhao 创建的主题 程序员 这是我开发的编程语言 nature
@VVVYGD 可以先加一下群,会出详细的编码教程,让有时间有兴趣的人真正参与进来
@c2const 维护速度这个,我还是挺有自信的,我现在兼职的情况下,我觉得我速度其实是快过一般编程语言的维护速度的。快的主要原因是我熟悉每一行代码。

另外原则上不靠编程语言本身盈利,编程语言本身是没有价值的,我会尽量使用 nature 创造有价值的产品。
@hronro 错误处理下一个版本只会进行下面这样的兼容性优化,不会进行大的改动了。

var err = try {
stmt1
stmt2
}
@hronro 无,由于还没有做后端优化,这方面目前是弱势,所以我尽量扬长避短。非标准测试中,fib(40) 这样的 cpu 密集计算耗时是 golang 的 3 倍,GCC -O3 的 6 倍。
@Nazz 最主要的原因是我想掌握原理,也可以叫自主可控。
@yaott2020 嗯,当你看到 defer 你可能就知道这是做什么用的关键字,当你看到 fn/i8/i16 这些你也能一眼就明白含义,尽可能的减少了学习的成本。
@mightybruce
@duanquanyong

第一目标是可用,第二目标是爬上巨人的肩膀,第三目标是站在巨人的肩膀上走的更远。

接下来我也会用 nature 创造有价值的东西,语言本身没有价值,有价值的是语言创造的东西。比如文中的小型测试用例 parker 我觉得就是一个有价值且有意思的工具。
@proxytoworld 在这个版本中,我着重让数据结构变得标准,所以做 FFI 应该不是困难的事情。但是 nature 让其他语言调用我还没有考虑(wasm 除外),调用别的语言的 FFI 我会考虑。
@Nazz 这关键字部分可能不会再改了,因为这些关键字在 rust 等语言中的评价很不错。oop 风格后续会基于"组合"的思想进行优化。 方法泛型,错误处理都已经完善了。
@gaifanking 这样刚刚好呀,nature 的设计理念之一就是不要自己创造新的语言特性,不需要学任何东西。不能增加用户的使用成本。
@ragnaroks 是的,js 语法风格。是否有稳定的生态就看我能坚持多久,脸皮有多厚了。🌼
1 ... 2  3  4  5  6  7  8  9  10  11 ... 22  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2144 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 05:31 · PVG 13:31 · LAX 22:31 · JFK 01:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.