可能会有很多人嘲笑吧
我目前掌握了用 python 写爬虫、网站。。 基本都是调用一些库吧, 俗称掉包侠
我还会一些 js 、ts 、react,sql 的知识,
这些知识应该或多或少的帮助我更好的、更容易的实现编程语言吧
我最近看了编译原理,明白了编程语言是先由文本,经过词法分析,然后语法分析,最终成了 ast,下一步我就有些蒙了
我基于 python 制作了一个解释性的编程语言 https://www.v2ex.com/t/733404 技术很落后,本质就是 ast 后, 用 visitor 模式, 把 打印()
绑定到了 Python 的 print()
函数,继续努力的话,可以实现一门比较完善的语言,不过由于是用 python 解释的,所以性能会很慢
我想更进一步提高自己的水平,我想开发一门编译型的语言,我了解到了 llvm, 也根据各种资料,实现了简单的打印、减法、减法功能, 且可以编译成二进制, 但更深入的功能,我目前能力做不到, 而且我也似乎进入了死胡同了,暂时无法取得进步了
我想实现 go 那样的语言, 有强大的性能, 可以编译执行,最好还可以解释执行, 但我简单的了解了一下 go,发现这很困难,至少对于目前的我来说,很困难
这是一场马拉松,必须要很久时间才能做到,需要很多知识沉淀,但我不知道该如何学习
目前我所知道的,我需要学 [操作系统] 、 [编译原理] 可能还要学别的
对于学习路径,我还很模糊,我知道这路上会有很多坑,所以我想得到各位的指点
在学习资料里,也有很多资料,可能对我没必要学,某些知识可能已经过时, 但我不会区分, 所以想麻烦大家帮我推荐一些资料
目前来看,我应该会有恒心,坚持长久的去学习
所以,麻烦大家帮帮我
谢谢
现阶段,我觉得可能我要深入学习 python 的底层,通过 python 来对某些重要的知识点理解更加透彻
然后 ,完善我那个基于 python 的 解释性语言,为以后尽可能打下一些基础?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.