查看: 4|回复: 4

我发现了自研编程语言的一条出路

[复制链接]

1

主题

4

回帖

11

积分

新手上路

积分
11
发表于 3 天前 | 显示全部楼层 |阅读模式
一个月前,我将编译器的 23 万行源码全部移植到了自研编程语言。

功能不变,但代码量直接缩减到了 19 万行。

然后这个月用自研的语言继续自举开发,感觉越用越爽,也终于感受到了自研的价值。

之前一直被质疑做小众语言毫无意义,但现在觉得:

生产力才是硬道理。

产品初期,不需要寻求他人认可。

只要自己有用,那就 OK 了。

等自己用了一段时间,产品也稳定后,必然能找到同样觉得它好用的用户。

在我的语言里面,最重要的功能是“模式匹配、自动导入、自动构造函数、编译期装饰器、部分类”,之前的 4 万行代码就是靠这些功能省下来的。

再也不用等主流语言支持,已经先用上了,确实很爽。

不过,目前还有很多功能没实现。如果都实现了,开发效率还能再提升几个台阶。

我觉得未来编程语言的价值不是为了让代码写起来更短,而是为了让代码读起来更清晰、测试起来更轻松,因为 AI 编程是趋势。

我将其他语言的代码移植到自己的语言时,是写了一个小工具自动翻译的,而不是人工移植。这样正确性和效率都高很多。

面向 AI 的编程语言,需要支持更多的静态分析和自我修复能力,同时也需要暴露更多的 LSP API 。

未来编程语言的主战场,不是比谁的代码写起来更快,而是 AI 生成什么语言能更正确、token 更少。
回复

使用道具 举报

0

主题

2

回帖

4

积分

新手上路

积分
4
发表于 3 天前 | 显示全部楼层
你倒是发出来观摩下啊
回复

使用道具 举报

0

主题

6

回帖

12

积分

新手上路

积分
12
发表于 3 天前 | 显示全部楼层
娱乐就好,其实有很多小语种编程,但是没生态有什么用,难道一人维护全行业?
回复

使用道具 举报

1

主题

4

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 3 天前 | 显示全部楼层
@cc9910 初期,生态不需要自己建,可以直接导入 go 的包,然后也做了工具直接将 go 的代码翻译过来。其他配套工具比如 ide 插件,都已经完善了
回复

使用道具 举报

1

主题

4

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 3 天前 | 显示全部楼层
@llsquaer 语法风格和主流语言差不多,我认为多数程序员看了都不会反感。比如这是一段实际的代码:

```
private getArrayElementTypeNode(node: TypeNode) {
        match (node) {
            case ParenthesizedTypeNode:
                return getArrayElementTypeNode(node.type)
            case ArrayLiteralTypeNode:
                if (node.elements.length == 1) {
                    node = node.elements[0]
                    if (node is ArrayLiteralTypeNode.RestElement) {
                        return getArrayElementTypeNode(node.type)
                    }
                }
            case ArrayTypeNode:
                return node.elementType
        }
}
```

优势在语言的自动分析、性能优化的能力。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
返回顶部