编译原理实战课
宫文学
北京物演科技CEO
立即订阅
3031 人已学习
课程目录
已更新 34 讲 / 共 53 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (2讲)
开篇词 | 在真实世界的编译器中游历
免费
学习指南 | 如何学习这门编译原理实战课?
预备知识篇 (9讲)
01 | 编译的全过程都悄悄做了哪些事情?
02 | 词法分析:用两种方式构造有限自动机
03 | 语法分析:两个基本功和两种算法思路
04 | 语义分析:让程序符合语义规则
05 | 运行时机制:程序如何运行,你有发言权
06 | 中间代码:不是只有一副面孔
07 | 代码优化:跟编译器做朋友,让你的代码飞起来
08 | 代码生成:如何实现机器相关的优化?
知识地图 | 一起来复习编译技术核心概念与算法
真实编译器解析篇 (19讲)
09 | Java编译器(一):手写的编译器有什么优势?
10 | Java编译器(二):语法分析之后,还要做些什么?
11 | Java编译器(三):属性分析和数据流分析
12 | Java编译器(四):去除语法糖和生成字节码
13 | Java JIT编译器(一):动手修改Graal编译器
14 | Java JIT编译器(二):Sea of Nodes为何如此强大?
15 | Java JIT编译器(三):探究内联和逃逸分析的算法原理
16 | Java JIT编译器(四):Graal的后端是如何工作的?
17 | Python编译器(一):如何用工具生成编译器?
18 | Python编译器(二):从AST到字节码
19 | Python编译器(三):运行时机制
20 | JavaScript编译器(一):V8的解析和编译过程
21 | JavaScript编译器(二):V8的解释器和优化编译器
22 | Julia编译器(一):如何让动态语言性能很高?
23 | Julia编译器(二):如何利用LLVM的优化和后端功能?
24 | Go语言编译器:把它当作教科书吧
25 | MySQL编译器(一):解析一条SQL语句的执行过程
26 | MySQL编译器(二):编译技术如何帮你提升数据库性能?
热点问题答疑 | 如何吃透7种真实的编译器?
不定期加餐 (2讲)
不定期加餐1 | 远程办公,需要你我具备什么样的素质?
不定期加餐2 | 学习技术的过程,其实是训练心理素质的过程
期中复习周 (2讲)
划重点 | 7种编译器的核心概念与算法
期中考试 | 这些编译原理知识,你都掌握了吗?
编译原理实战课
15
15
1.0x
00:00/00:00
登录|注册

17 | Python编译器(一):如何用工具生成编译器?

宫文学 2020-07-10
你好,我是宫文学。
最近几年,Python 在中国变得越来越流行,我想可能有几个推动力:第一个是因为人工智能热的兴起,用 Python 可以很方便地使用流行的 AI 框架,比如 TensorFlow;第二个重要的因素是编程教育,特别是很多面对青少年的编程课程,都是采用的 Python 语言。
不过,Python 之所以变得如此受欢迎,虽然有外在的机遇,但也得益于它内在的一些优点。比如说:
Python 的语法比较简单,容易掌握,它强调一件事情只能用一种方法去做。对于老一代的程序员来说,Python 就像久远的 BASIC 语言,很适合作为初学者的第一门计算机语言去学习,去打开计算机编程这个充满魅力的世界。
Python 具备丰富的现代语言特性,实现方式又比较简洁。比如,它既支持面向对象特性,也支持函数式编程特性,等等。这对于学习编程很有好处,能够带给初学者比较准确的编程概念。
我个人比较欣赏 Python 的一个原因,是它能够充分利用开源世界的一些二进制的库,比如说,如果你想研究计算机视觉和多媒体,可以用它调用 OpenCV 和 FFmpeg。Python 跟 AI 框架的整合也是同样的道理,这也是 Python 经常用于系统运维领域的原因,因为它很容易调用操作系统的一些库。
最后,Python 还有便于扩展的优势。如果你觉得 Python 有哪方面能力的不足,你也可以用 C 语言来写一些扩展。而且,你不仅仅可以扩展出几个函数,你还能扩展出新的类型,并在 Python 里使用这些新类型。比如,Python 的数学计算库是 NumPy,它的核心代码是用 C 语言编写的,性能很高。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《编译原理实战课》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥29.9
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部