想看下有多少人有兴趣自创一种程序语言

2021-01-10 20:46:32 +08:00
 redwing2003

有没有尝试过的人,想做怎样的?

2070 次点击
所在节点    编程
7 条回复
ZingLix
2021-01-10 20:57:37 +08:00
拿 LLVM 写过一个,想的是简化 C++,但写着写着发现我这想法不如直接去用 Rust

github.com/ZingLix/R-Cpp,有兴趣的可以看看 test/src.rpp 和 Wiki,分别是已经实现的和其他的想法

其实我的设计都是拍脑袋想出来的,真写起来细节要考虑的还真的很多
thedrwu
2021-01-10 21:02:41 +08:00
谁没给自己的程序写过 config 语言的解释器?

若是创造没有新意的语言,只是造个轮子而已。
Mohanson
2021-01-10 21:11:17 +08:00
python + llvm 自学了几周, 写过一门叫 douz(最靠近撒哈拉沙漠的人族聚居地) 的简单语言, 它的斐波那契函数长这样:


```
def fib(n) {
if n 3 < {
n;
} or {
fib(n 1 -) fib(n 2 -) +;
};
}

def main() {
fib(10); # Exit with code 89
}

```

https://github.com/mohanson/pydouz/blob/master/examples/fib.dz

没精力继续做下去, 感觉编译器前端和后端都是体力活, 编译器中端才是精华所在(数学, 统计学... ...). 但是用了 llvm, 基本上就只能去写前端了.
Mohanson
2021-01-10 21:17:52 +08:00
我觉得更合理的学习方式是为一门已经存在的语言写

1) 解释器
2) 设计解释器的中间代码
3) 中间代码优化
4) 基于中间代码的 AOT 编译器
5) 解释器 + JIT 编译器

我觉得 Go 拿掉 goroutine, 写 Go 的解释器开始就挺不错的.
redwing2003
2021-01-10 22:09:11 +08:00
那我问一下大家喜欢头文件还是命名空间 module 还是 private public protected 做访问控制
chengs
2021-01-11 00:36:33 +08:00
这个是涉及多元的科学,不是兴趣就能搞定的。看起来是自创实际在模仿。
love
2021-01-11 10:03:28 +08:00
现在的语言都互相抄得集大成了,以前烂得一 b 的没设计 javascript 现在都出人意料的好用了,写起来比有设计的 python 都舒服

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

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

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

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

© 2021 V2EX