Guido van Rossum 为什么可以独立开发一门语言 Python , 我要学习哪些知识,才可以向他那样开发一门语言的第一个版本?

2020-12-04 00:56:04 +08:00
 find456789
1331 次点击
所在节点    问与答
10 条回复
Caratpine
2020-12-04 01:03:53 +08:00
编译原理
cmdOptionKana
2020-12-04 01:23:21 +08:00
龙书、虎书、鲸书
levelworm
2020-12-04 01:39:26 +08:00
编译原理。不过难点是让那么多人用。。。
liveoppo
2020-12-04 01:45:53 +08:00
技术应该不是问题,关键怎样在实践中发现需求,并且有点点个性
msg7086
2020-12-04 02:20:13 +08:00
如果只是「语言」的话,可以从 DSL 开始玩起,不考虑语法文法,直接切入解决痛点这步。
圭多那个年代本身缺乏类似的语言,所以有必要从头开始,这个是时代所限。

很多人都可以独立开发一门语言,开发语言也不是特别难的事情,关键是:
1. 为什么要花大量宝贵的时间去开发他?
2. 你能用他做出什么你以前做不到的事?
wellsc
2020-12-04 02:21:01 +08:00
Sicp
littlecreek
2020-12-04 02:39:52 +08:00
开发语言的难点:
1. 理解需求, 痛点. 如何与现有的语言竞争
2. 设计语言, 对现有语言的各种特性做出取舍.
3. 吸引第一批核心贡献者, 写出配套的 std lib
4. 宣传推广, 吸引初期用户使用, 并成功出现第一批流行的库, 及杀手场景
5. 继续宣传推广, 建立并维护社区, 吸引更多的贡献者, 开发者, 以及用户使用
6. 吸引大公司开源部门使用并贡献, 其他的如各种社区, 大学等为之鼓吹, 开各种 xx Con 年会, 各地的爱好者沙龙
7. 成功突破圈子, 并在主流使用场景中切出一块自己的势力范围. 挤掉一部分其他语言的空间.
8. 好了, 现在你的语言应该可以成为 top 20~30 的语言之一了. 后面就是如何维持你的语言在 10 年之内不销声匿迹.

要做到这些感觉好难, 只能是尽人事听天命.
secondwtq
2020-12-04 05:11:27 +08:00
GvR 牛逼的不是他开发了一个语言,而是他开发了一个有很多人用的语言
你说要做 GvR,这话跟问怎么成为扎克伯格是差不多的
jingcoco
2020-12-04 08:21:31 +08:00
听过一些传闻,以色列人喜欢造轮子,然后卖给其他国家人。中国人是实用主义,能把工具使用的非常好,所以听闻国外好多研究机构会有中国人做助手……
nonduality
2020-12-04 10:12:37 +08:00
现在任何新编程语言能玩的特性大同小异,换句话说,没啥新意可搞了。可以做的基本有 3 点:

1 、创造具备某些杀手特性的全新语言:Rust 的内存安全性、Go 的 goroutine
2 、创造一门编译到目前流行语言的新语言,并做到某种兼容,如各种编译运行到 JVM 的语言如 scala 、clojure
3 、针对原有语言做某种提升,如 TypeScript 加强了 Javascript 、LuaJIT 给 Lua 提速、Pyston 给 Python 提速

如果你想做一样很多人使用、以便留名青史,第一个选择恐怕很难,第二个也有一定难度,第三个依附现有的大腿,尽管很难,但相对容易点

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

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

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

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

© 2021 V2EX