可能会有很多人嘲笑吧
我目前掌握了用 python 写爬虫、网站。。 基本都是调用一些库吧, 俗称掉包侠
我还会一些 js 、ts 、react,sql 的知识,
这些知识应该或多或少的帮助我更好的、更容易的实现编程语言吧
我最近看了编译原理,明白了编程语言是先由文本,经过词法分析,然后语法分析,最终成了 ast,下一步我就有些蒙了
我基于 python 制作了一个解释性的编程语言 https://www.v2ex.com/t/733404 技术很落后,本质就是 ast 后, 用 visitor 模式, 把 打印()
绑定到了 Python 的 print()
函数,继续努力的话,可以实现一门比较完善的语言,不过由于是用 python 解释的,所以性能会很慢
我想更进一步提高自己的水平,我想开发一门编译型的语言,我了解到了 llvm, 也根据各种资料,实现了简单的打印、减法、减法功能, 且可以编译成二进制, 但更深入的功能,我目前能力做不到, 而且我也似乎进入了死胡同了,暂时无法取得进步了
我想实现 go 那样的语言, 有强大的性能, 可以编译执行,最好还可以解释执行, 但我简单的了解了一下 go,发现这很困难,至少对于目前的我来说,很困难
这是一场马拉松,必须要很久时间才能做到,需要很多知识沉淀,但我不知道该如何学习
目前我所知道的,我需要学 [操作系统] 、 [编译原理] 可能还要学别的
对于学习路径,我还很模糊,我知道这路上会有很多坑,所以我想得到各位的指点
在学习资料里,也有很多资料,可能对我没必要学,某些知识可能已经过时, 但我不会区分, 所以想麻烦大家帮我推荐一些资料
目前来看,我应该会有恒心,坚持长久的去学习
所以,麻烦大家帮帮我
谢谢
现阶段,我觉得可能我要深入学习 python 的底层,通过 python 来对某些重要的知识点理解更加透彻
然后 ,完善我那个基于 python 的 解释性语言,为以后尽可能打下一些基础?
1
find456789 OP 我可能陷入了某种细节里,无法看清全局了,我不知道全局是什么,不知道有这方面(操作系统,编程语言,底层)的思维导图吗
|
2
wangkun025 2020-12-22 17:36:37 +08:00
这么有学习的动力,干嘛不念个好学历呢?这才是捷径。
|
3
yzbythesea 2020-12-22 17:41:50 +08:00
|
4
1if5ty3 2020-12-22 17:44:37 +08:00
羡慕楼主的学习能力
|
5
carlclone 2020-12-22 17:48:08 +08:00 via Android
我的路径分享一下,看不看的进去就靠自己了
Cs143 cs243 cs343 极客时间也有两门编译相关的 到 github 上找一些玩具 compiler 看看 |
6
FantaMole 2020-12-22 17:57:55 +08:00
我还真有本书很适合你,《计算机系统要素:从零开始构建现代计算机》。这本书在我还在读大学的时候好像就绝版了。对我来说这本书相当有意义, 虽然内容很简单,但是是真正引导我把大学几年学的知识,从最底层的数电、模电到最高层的操作系统串联到了一起
如果你基础不是很好的话,它用很通俗的内容教了你如何写一个汇编编译器,以及一个高级语言编译器,等你看完了整本书,做完了书后面的习题。我觉得你会对如何实现一门编程语言清晰一点 |
7
ming7435 2020-12-22 18:20:09 +08:00 via iPhone
是在上学还是已经工作了?
|