InfoQ|从编译原理出发,看看你和资深 coder 差在哪儿?| 极客时间
我是宫文学 , 北京物演科技 CEO 。 最近几年 , 我参与了一些微服务相关的项目 , 发现前几年大家普遍关注的技术问题 , 比如有状态的服务(Stateful Service) , 并没有随着新技术的出现 , 而得到很好地解决 , 反而更加恶化了 。
所以 , 我从去年开始设计 , 计划采用新的计算范式 , 发明一门新语言 。 这促使我更加关注编译技术的前沿动态 , 想把这些动态、理念和自己的实战经验都分享出来 。
与此同时 , 在我第一季专栏《编译原理之美》中 , 很多同学也反馈:想在理解编译原理的概念、理论和算法的基础上 , 更加深入地把知识与实践相结合 。 要做到这一点 , 无外乎是解决这么几个问题:
- 语法分析方法有自顶向下和自底向上两种 , 自己动手实现时 , 该选择哪一种?选择自己手写 , 还是工具生成?
- 语义分析中要做属性计算 , 但具体到自己熟悉的语言 , 到底计算了哪些属性?如何完成引用消解和类型检查?
- 【InfoQ|从编译原理出发,看看你和资深 coder 差在哪儿?| 极客时间】编译器中会使用 IR, 实际使用中的 IR 到底是什么样子?
- 编译器会优化我们写出的代码 , 但具体到各个语言 , 其背后的逻辑和优先级是怎样的?如何写出便于编译器优化的代码呢?
现代语言的编译器 , 往往整合了最前沿的技术 。 掌握真实编译器的实现机制 , 有助于吃透语言的核心特性 , 更高效地运用它 , 进而提升我们的技术水平 。 而且 , 阅读语言编译器的源代码 , 跟踪它的执行过程 , 也会让你获得对编译器的第一手理解 , 是高效学习编译原理的重要途径 。
所以 , 我和极客时间联手打造了新一季专栏《编译原理实战课》 。 在专栏中 , 我会带你巩固编译原理的核心基础知识 , 深入解析 7 大主流语言的编译器源码 , 帮你掌握真实编译器的实现机制与关键算法 , 进而站在更加宏观的视角 , 从编程语言的设计层面理解编译原理 。
??扫描二维码 , 免费试读早鸟 +口令「bianyi666」立省40元
到手仅 ¥89 , 仅限「前 200 人」有效
我是谁?我是宫文学 , 《编译原理之美》课程作者 , 在 IT 领域已经工作 20 余年 , 是国内最早做 BPM(流程管理平台)和 BI 平台(大数据平台)的创业者之一 , 而后做过电子表单和快速开发平台 , 这些经历都与编译技术密不可分 。 所以 , 我熟知各种语言编译器的实现机制 , 有丰富的实战经验 。
我是如何讲解这门课程的?通过学习这门课 , 你可以深入了解现代语言编译器的结构、采用的算法及设计上的权衡 。 这样 , 你在用编译技术完成一个项目时 , 不仅懂得其运行原理 , 还知道该在什么地方用什么技术——掌握更多编译器的设计和实现思路 , 作为项目的决策依据 。
为此 , 我将带你深入解析 7 大主流语言的编译器 , 包括 Java 编译器(javac)、Java 的 JIT 编译器(Graal)、Python 编译器(CPython)、JavaScript 编译器(V8)、Go 语言的编译器(gc)以及 MySQL 的编译器 。
之所以选择这些编译器 , 因为它们足够有代表性 , 都是我们平常会用到的 。 而且 , 它们各自采用了不同的编译技术 , 通过对比分析 , 你会发现其中的异同点 , 对编译技术有更全面的、深入的认知 。
基于以上 , 我将课程划分为以下三部分:
- 预备知识篇:系统梳理编译原理的核心知识体系 , 加深你对关键概念的理解 。 学完预备知识后 , 你再去看各种编译器的源代码和相关文档 , 可以更好地将实践与原理结合 , 并互相印证 。
- 真实编译器解析篇:研究 7 种主流语言的编译器源码 , 跟踪它们的运行过程 , 分析编译过程的每一步是如何实现的 , 并对一些针对性的编译技术点加以分析和点评 。 这样 , 我们在研究了 Java、Java JIT、Python、JavaScript、Julia、Go、MySQL 这 7 种编译器后 , 相当于把编译原理印证了 7 遍 。分页标题
- 现代语言设计篇:分析总结前面讲过的编译器 , 进一步提升你对编译技术的认知高度 。 学完这一模块 , 对于如何设计编译器的前端、中端、后端、运行时 , 你都会有比较全面的了解 , 知道如何在不同的技术路线之间做取舍 。
本文插图
订阅福利早鸟优惠 + 口令「bianyi666」, 到手仅¥89 ,
立省¥40 , 原价 ¥129 , 仅限「前 200 人」有效 。
订阅后生成海报发给好友 ,
每成功邀请1位好友 , 可得¥24返现 。
??扫描二维码 , 免费试读
- 夺命哈士奇|小学数学经典应用题, 平均数题目和容斥原理是难点, 你能做对吗
- 区块链宝二爷|BCH为什么一定要分叉,背后的原理是什么?
- 陆超生财|想复制都难,移动支付体验全球第一的背后,支付宝做到了哪些扫码支付的基本原理。支付宝如何保障资金安全以及服务稳定为什么欧美发达国家
- 理工大学 38岁李明任阳泉市委常委、平定县委书记,曾任太原理工副校长
- 怎样不秃顶|行测解题技巧分享之数目关系: 十字相乘法的基本原理和简朴应用
- 阿瑞梦视野|公开原理都没人能仿制?我国成功实现超越,日本研发永不松动螺母
- |检验哈勃定律正确性方案的基本原理简介
- 中关村在线|iOS原生系统支持JIT编译 模拟器终于能安排了
- |iOS 14.2终于原生支持JIT编译:模拟器类APP不再有性能损失
- 商界|一战赚了800亿,却又造火箭?疯狂的马斯克背后离不开“第一性原理”