find456789
V2EX  ›  问与答

初中没毕业,目前掌握了初级的 Python 知识,想实现一门类似 go 语言的编程语言,要循序渐进的补充哪些知识点?

  •  
  •   find456789 · Dec 22, 2020 · 1518 views
    This topic created in 2058 days ago, the information mentioned may be changed or developed.

    可能会有很多人嘲笑吧


    我目前掌握了用 python 写爬虫、网站。。 基本都是调用一些库吧, 俗称掉包侠

    我还会一些 js 、ts 、react,sql 的知识,

    这些知识应该或多或少的帮助我更好的、更容易的实现编程语言吧


    我最近看了编译原理,明白了编程语言是先由文本,经过词法分析,然后语法分析,最终成了 ast,下一步我就有些蒙了

    我基于 python 制作了一个解释性的编程语言 https://www.v2ex.com/t/733404 技术很落后,本质就是 ast 后, 用 visitor 模式, 把 打印() 绑定到了 Python 的 print() 函数,继续努力的话,可以实现一门比较完善的语言,不过由于是用 python 解释的,所以性能会很慢


    我想更进一步提高自己的水平,我想开发一门编译型的语言,我了解到了 llvm, 也根据各种资料,实现了简单的打印、减法、减法功能, 且可以编译成二进制, 但更深入的功能,我目前能力做不到, 而且我也似乎进入了死胡同了,暂时无法取得进步了

    我想实现 go 那样的语言, 有强大的性能, 可以编译执行,最好还可以解释执行, 但我简单的了解了一下 go,发现这很困难,至少对于目前的我来说,很困难

    这是一场马拉松,必须要很久时间才能做到,需要很多知识沉淀,但我不知道该如何学习

    目前我所知道的,我需要学 [操作系统] 、 [编译原理] 可能还要学别的

    对于学习路径,我还很模糊,我知道这路上会有很多坑,所以我想得到各位的指点

    在学习资料里,也有很多资料,可能对我没必要学,某些知识可能已经过时, 但我不会区分, 所以想麻烦大家帮我推荐一些资料

    目前来看,我应该会有恒心,坚持长久的去学习

    所以,麻烦大家帮帮我

    谢谢

    现阶段,我觉得可能我要深入学习 python 的底层,通过 python 来对某些重要的知识点理解更加透彻
    然后 ,完善我那个基于 python 的 解释性语言,为以后尽可能打下一些基础?

    7 replies    2020-12-22 18:20:09 +08:00
    find456789
        1
    find456789  
    OP
       Dec 22, 2020
    我可能陷入了某种细节里,无法看清全局了,我不知道全局是什么,不知道有这方面(操作系统,编程语言,底层)的思维导图吗
    wangkun025
        2
    wangkun025  
       Dec 22, 2020
    这么有学习的动力,干嘛不念个好学历呢?这才是捷径。
    yzbythesea
        3
    yzbythesea  
       Dec 22, 2020
    1if5ty3
        4
    1if5ty3  
       Dec 22, 2020
    羡慕楼主的学习能力
    carlclone
        5
    carlclone  
       Dec 22, 2020 via Android
    我的路径分享一下,看不看的进去就靠自己了
    Cs143 cs243 cs343
    极客时间也有两门编译相关的
    到 github 上找一些玩具 compiler 看看
    FantaMole
        6
    FantaMole  
       Dec 22, 2020
    我还真有本书很适合你,《计算机系统要素:从零开始构建现代计算机》。这本书在我还在读大学的时候好像就绝版了。对我来说这本书相当有意义, 虽然内容很简单,但是是真正引导我把大学几年学的知识,从最底层的数电、模电到最高层的操作系统串联到了一起

    如果你基础不是很好的话,它用很通俗的内容教了你如何写一个汇编编译器,以及一个高级语言编译器,等你看完了整本书,做完了书后面的习题。我觉得你会对如何实现一门编程语言清晰一点
    ming7435
        7
    ming7435  
       Dec 22, 2020 via iPhone
    是在上学还是已经工作了?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   916 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:51 · PVG 05:51 · LAX 14:51 · JFK 17:51
    ♥ Do have faith in what you're doing.