作者简介

海纳,曾就职于人大金仓、网易游戏,现就职于华为编译器实验室。长期从事编译器和编辑语言虚拟机的研发工作,擅长编译器后端和垃圾回收机制。

内容简介

《自己动手写Python虚拟机》按内容分为六个部分,第一部分介绍语言虚拟机的基本概念,并实现字节码解释器;第二部分,实现内嵌类型,如整数、字符串、列表和字典等;第三部分,实现了函数;第四部分,实现自定义类、对象和方法;第五部分,实现垃圾回收,也就是自动内存管理;第六部分,模块和迭代。《自己动手写Python虚拟机》的章节内容之间都有很强的依赖性,后面的章节内容都是在前面章节的基础上去实现的,所以读者必须按部就班地从前向后阅读,才能保证阅读的流畅。

《自己动手写Python虚拟机》适合的人群包括:在校大学生(可以通过《自己动手写Python虚拟机》掌握很多计算机工作运行的核心知识),以及对编译器,编程语言感兴趣的人。

下载地址

豆瓣评论

  • Kosho
    非常不错的书,从零开始实现一个mini的python虚拟机,学到了很多东西,比如gc,加载so,下一步看jvm代码也会顺畅很多。书上的代码有一些小坑但是不影响,动手能力强完全可以自己fix。如果能加上complier部分和jit就更好了。10-13
  • hoterran
    代码详细 娓娓道来 作者挺牛的01-02
  • IMMAX
    顶级敷衍,仅仅是完成写作指标的作品。全角符号的代码,讲list却贴dict的图,给delete代码片取名store,甚至有前后矛盾的说辞……02-26
  • Lax
    # “...选择了使用C++来实现语言虚拟机。这主要是由于在内存操作方面,C++可以更精准地表达作者的意图...并没有使用很多C++高级技巧,最多只涉及类和一点点编程模板的知识。”“从零开始实现了一个Python虚拟机,采用了和CPython完全不同的策略,支持了内建对象、控制流、类和模块、异常迭代等基本结构...还有更多的主题没有涉及,例如分代式垃圾回收和及时编译等。”除了从头实现的内建对象,与CPython的不同还包括:(1)在既是对象又是类型的问题上,没有使用让Klass也继承HiObject得到TypeObject,而是在Klass中引入一个HiObject,令其与Klass一一对应;(2)在垃圾回收上没有采用引用计数,而是采用了基于复制的GC算法。05-06
  • 抄作业专业户
    思路很明确,放小抓大。不太喜欢的是设计模式和图论知识有些啰嗦,类型系统和oop-klass的设计思想又有些讲的简略。对 cpp 水平有要求。构建出了一个完整的编程语言,但是对 Python 的特性基本没有提及。flag: 按书里组织的线索写 py3 版本02-17

猜你喜欢

大家都喜欢