|
哈喽,我是子牙老师。今天我要隆重发布一门全球唯一的课程《手写编程语言Python》,为了保证教学质量,直播教学,课上手写代码,让你真正学会如何写一门编程语言!
说起来也挺逗的,之前写完操作系统发起的投票,CPU虚拟化排第一,其次是手写编程语言,最后是手写docker。我却反向操作,先做的手写docker,再编程语言,最后CPU虚拟化。就是任性,哈哈… 随着写完编程语言,我司也算是继华为之后,同时拥有自己的操作系统、自己的编程语言Python、自己的容器docker的公司。这还不是终点,我的计划里还有手写文件系统EXT、手写MySQL、手写Redis、手写NGINX、手写GDB、逆向、黑客…
说下课程《手写编程语言Python》的量,大家看足不足。整个手写编程语言课程我设计了三期:一期带着大家从零写一个Python虚拟机,支持Python所有核心语法;二期引入中间代码生成模块,达到自实现的Python虚拟机与真正的Python虚拟机cpython互通,以此彻底玩透cpython,让你在AI时代,遥遥领先;三期引入Java虚拟机hotspot模板解释器思想,使用机器码编织技术重写执行引擎,带着大家把机器码玩透!让你从最底层认识计算机! 一门成熟且商用的编程语言是非常复杂的,东西也很多,三期也不能说能把Python所有的东西全部讲到,但是你把这三期啃下来,底子好的啃完一期,任何编程语言的底层实现,你就可以自己玩明白了!实力在手,底气足,体会真正的技术乐趣!
知道你还有很多问题想问,别急,听我娓娓道来。为了方便大家更好地了解课程,我录制了更详细的视频,包括我写的Python虚拟机运行Python代码的效果展示 介绍下自己
你可能还不了解我,简单做个自我介绍
我是子牙老师,大厂P8技术专家、JVM专家,将汇编、C语言、操作系统融会贯通,对Windows内核、Linux内核、Java虚拟机hotspot源码有深入研究 我不做应用层的课程,我只做底层硬核课程,那些大家想学没地方学的课程,那些只能出国留学才能学到的课程:手写JVM、手写操作系统、动手撸Linux内核、基于Linux内核写操作系统、给Linux内核写一个文件系统、手写编程语言Python、手写调试器gdb、CPU虚拟化……
我为什么能做到这些,因为我早些年师从瑞幸杀毒技术专家唐老师,就是逆向圈很出名的昆山滴水的创始人。云手机厂商红手指,就是唐老师跟我的师兄们创办的,他们已经把公司卖给百度,套现走人了
我为什么写编程语言
手写编程语言一直是我的一个梦想,看图,这是我八年前瞎折腾的记录 那时候实力不济,写操作系统想都不敢想,只敢想写一门编程语言玩玩。造化弄人,操作系统两年前就写完了,今天才把编程语言写完。创业四年,做了很多底层硬核课程,底层的积累已经非常浑厚,所以今天写编程语言,几乎没有任何障碍,很顺利的完成了 但是因为市面上没有任何资料教你如何手写一门编程语言,所有的东西都需要自己去钻研。而且手写编程语言核心涉及到的词法分析器、语法分析器、抽象语法树AST、内存池、垃圾回收算法、执行引擎、编译器优化、运行时优化,都是非常难理解的,更别说把它写出来了。 所以断断续续写了十几个版本。跟我学习,你就不用浪费时间踩坑了。如果你从来没玩过语言虚拟机,经验不足,掉进坑了,你可能都爬不出来,就此放弃了… 写一门编程语言,必读的书就是《编译原理》,这是一本天书!通过带你写一门编程语言,我能让你彻底吃透这本书! 不知道你有没有发现,我设计的《手写编程语言Python》三期,就包含了这里面的全部内容,甚至还有所超越,因为我做一个课程的目标就是:让大家真正学会、做透,让大家有自学的能力 这个课程,没有相当的技术储备与实力,确实做不出来。计算机在我们国家普及开来至今,已有三十多年了,大家都能看到纯原理式的教《编译原理》,大家学不会,但是就是没有人敢于去做这个课。那不好意思了,我来!
学这个课有什么用
咱们也不能空谈理想,聊点现实的:写一门编程语言,有什么现实意义呢?
其一,作为一个梦想主义者,我觉得就是圆梦。如果你有手写操作系统的梦想,你可以学习我的另一门课程《手写64位多核操作系统》。如果你有手写编程语言的梦想,这门课是你唯一的选择,且一定是正确的选择,我一定让你学会如何写一门编程语言。并指点你写一门自己的编程语言 二,学完这门课,你就知道任何编程语言是如何写出来的,你就能清晰的知道你写的代码是如何运行的,你就能轻松看到语言虚拟机的源码及底层原理相关的资料… 三,如果你曾经被《编译原理》折磨过,如果这是你内心过不去的坎,这门课可以让你拿下天书《编译原理》,让你跨过这个坎 四,Python是AI的首选语言,AI是未来。深刻理解它的运行原理及底层实现,在AI时代,你就有了更强的竞争力! 从学习角度来说,新技术层出不穷,底层技术已经基本稳定。追逐新技术,没有尽头。万变不离其宗,底层,学一次,受益终身。学习,要追求效率,要学习那些相对不变的,有个这个基础,再去学那些变化的,秒懂 从个人发展角度来说,如果你没有底层功力,技术这行你能达到的高度是非常有限的,因为你没有自学能力,遇到问题你只能问别人,等别人的答案,可能还不一定是正确答案…想想求人的痛苦,为何自己不成为实力的拥有者呢?
课程介绍
课程《手写编程语言Python》,一共三期,当前是一期招生,一共八大专题,带你从零写一个Python虚拟机,支持Python的所有核心语法 一期完整课程大纲 一期代码我已实现: - 支持Python的CLI模式及文件模式
- 数据类型支持整型、浮点型、字符串
- 支持Python的所有运算符
- 支持整型、字符串的一切运算
- 支持条件判断if…elif…else…
- 支持流程控制for…in…
- 支持函数,Python过程式编程
- 支持面向对象,Python面向对象式编程
- 支持符号表
- 支持抽象语法树AST
- 支持抽象语法树解释器
- 支持制定自己的语法规则,比如实现Python不支持的三目运算
…… 代码分支跟课程大纲一一对应,方便你学习时阅读代码 来瞧瞧词法分析器核心代码 语法分析器核心代码 抽象语法树核心代码 除此之外,我还会教你如何单步调试自己写的编程语言,让你清晰的看到词法分析器、语法分析器、规则匹配与规约、抽象语法树的完整运行过程。这是一门能让你真正学会手写编程语言的课程!
不论是技术研究上,还是底层硬核技术的教学上,我还算有点天赋,来看看大家对我课程的评价 真心做教育,践行“子牙出品,必属精品”
如果你想更多了解我,欢迎去我公众号【硬核子牙】看我之前的文章及我的奋斗历程。白手起家程序员的职场心得,应该会对你有很大启发
性价比超高,可全网比价!感兴趣的小伙伴别错过超大优惠上车哦~
|