85 lines
5.6 KiB
Markdown
85 lines
5.6 KiB
Markdown
# 手把手带你写一门编程语言
|
||
|
||
## 你将获得
|
||
|
||
* 一套实用的现代计算机语言架构
|
||
* 自顶向下搞懂计算机底层技术
|
||
* 系统级软件开发的高维思考
|
||
* 理解计算机语言的核心逻辑
|
||
|
||
|
||
|
||
## 讲师介绍
|
||
|
||
宫文学,[《编译原理之美》](https://time.geekbang.org/column/intro/100034101)和[《编译原理实战》](https://time.geekbang.org/column/intro/100052801)课程作者,北京原点代码CEO。
|
||
|
||
宫文学是国内最早做BPM(流程管理平台)和BI平台(大数据平台)的创业者之一,还研发过电子表单和低代码开发平台。
|
||
|
||
他专注于编译技术领域,熟悉各种语言编译器的实现机制,在编译技术之路上具有丰富的实践经验。近期也在参与OpenHarmony的推广普及,以及担任工业操作系统项目的专家。
|
||
|
||
|
||
|
||
## 课程介绍
|
||
|
||
每个程序员都或多或少掌握一门甚至多门编程语言,总是在用别人写的,你有没有在平平无奇的某一天里,突发奇想自己来写一门呢?
|
||
|
||
你可能没想过。毕竟能写一门计算机语言的都是顶级大牛,他们的脑袋和技术是我等普通程序员也能复现的吗?这也太难了!而且,也没啥用,投入产出比太低了。
|
||
|
||
你可能也想过。但面对编译技术、运行时技术、还有各种计算机语言特性这几座大山,真是“拔剑四顾心茫然”,太难爬了!更别提那些永远也赶不上新兴语言迭代速度的陈旧资料了。
|
||
|
||
停一下!其实这些问题根本就不是难以跨越的。当你砍掉凌乱的枝干,抓住主线,从原理出发专注语言的实现过程,会发现实现一门语言远比你想象要简单、有用。
|
||
|
||
这次,我们请来了跟我们极客时间合作过两季的宫文学老师,他长期专注于编译技术领域,熟悉各种语言编译器的实现机制,他会给你指明一条普通程序员也能实现一门编程语言的可行路径。
|
||
|
||
**更重要的是,在这个过程中,宫文学老师会手把手地带着你洞穿编译技术、运行时技术、汇编语言、硬件架构和各种算法,帮助你自顶向下理解计算机技术的底层原理,全面提升自己的技术硬实力。**
|
||
![](https://static001.geekbang.org/resource/image/09/88/09444903e7e24329da8727851be75388.jpg)
|
||
我们这门课注重实践,宫文学老师会针对我们要开发的计算机语言,采取最合适的实现技术,并告诉你选择这个技术路线的原因和相关背景知识,兼顾原理与实战。
|
||
|
||
此外,我们这门课高度仿真一个真实的计算机语言开发项目,一门语言其实可以有多个具体实现,以适用不同的场景,宫老师要带你做的是**TypeScript的一个全新的实现**。它具有编译成原生应用的潜力,好上手,也顺应了HarmonyOS的趋势,将来你也可以拿着它做更多的尝试。
|
||
|
||
### 课程模块设计
|
||
|
||
课程主体划分为以下4大模块。
|
||
|
||
* **起步篇:让一门超简洁的语言跑起来。**在这一模块,我们让你对编译器前端到后端、从编译到运行有一个全局式的理解,把这门语言最基本的框架搭起来。
|
||
* **进阶篇:让我们的语言更实用。**这一模块,我们会逐步支持更多的数据类型,你还会学到面向对象编程特性和函数式编程特性,丰富知识面以解决更多基础技术问题。
|
||
* **优化篇:让程序的性能更高。**这一模块,我们主要介绍一下优化技术,包括Java、JavaScript等语言所采用的前沿优化技术,让你洞悉它们最深处的奥秘,有能力去承担开发平台项目等攻坚性的任务。
|
||
* **展望篇:实现自主语言的征途。**这一模块,我们会展望一些更高级的语言特性,比如并发、自举等,让你理解更高阶的思路和实现方法。
|
||
|
||
|
||
|
||
## 课程目录
|
||
|
||
![](https://static001.geekbang.org/resource/image/c8/23/c8652c14c656799b63123b9829789823.jpg)
|
||
|
||
|
||
|
||
## 适合人群
|
||
|
||
熟练掌握一门计算机语言即可
|
||
|
||
|
||
|
||
## 特别放送
|
||
|
||
#### 免费领取福利
|
||
|
||
[![](https://static001.geekbang.org/resource/image/a1/4a/a1254c5523a33bf77ec32edfbc8e5f4a.jpg)](https://time.geekbang.org/article/354230)
|
||
|
||
|
||
#### 限时活动推荐
|
||
|
||
[![](https://static001.geekbang.org/resource/image/e7/88/e787834ec0927ca4bf8d6eb703c5e188.jpg)](https://time.geekbang.org/activity/promo?page_name=page_37&utm_source=tebiefangsong)
|
||
|
||
|
||
|
||
## 订阅须知
|
||
|
||
1. 订阅成功后,推荐通过“极客时间”App端、Web端学习。
|
||
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
|
||
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
|
||
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
|
||
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
|
||
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1),订阅课程享受原价5折优惠。
|
||
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。
|