33 lines
3.7 KiB
Markdown
33 lines
3.7 KiB
Markdown
# 期中考试 | 来赴一场100分的约定吧!
|
||
|
||
你好,我是宫文学。
|
||
|
||
时间过得真快,从8月14日课程上线,到现在已经有一个半月的时间了。这一个半月里,有很多同学反馈说,自己学了这个课程特别有收获,而运行同学们写的编译器,我也觉得很有成就感,当然了,有的时候,我也会比较焦虑,因为一遍遍改文稿和写示例程序都需要投入大量的精力,不夸张地说,有几次晚上做梦的内容,都与咱们的课程有关……
|
||
|
||
但是,我觉得把编译原理中,看似高不可攀的一个个知识点,变成一篇篇得到你们肯定的文章是一件十分有趣的事情。动手写示例程序时,也往往让我废寝忘食,比如,报表系统的示例程序就是在飞机和火车上写出来的,一边写,一边灵感不断涌现,那时,我先写了一个版本,后来又改成了基于向量计算的版本,因为总是想给你们呈现最优质的内容,所以一直在不断地思考,优化。
|
||
|
||
在准备算法篇的示例程序时,我也有了很多新的灵感,比如对于元编程的理念,我又有了一些创新的想法。这些内容,我会在课程的第三部分与你分享。
|
||
|
||
**在互联网时代,廉价的快乐随处可得,而努力拼搏才能获得的乐趣,从来都只属于少数人。**这门课的目标是让尽可能多的人,有机会享受这种乐趣,当我看到你们进入编译技术的美丽花园中徜徉流连,我的内心是十分欣慰的。
|
||
|
||
我相信你们是真心喜欢计算机技术,所以想要努力搞懂这个学科的基础原理。而且,你们还能够静下心来,真正坐下来动手尝试。
|
||
|
||
有的同学会跟“这个推导过程我看过去怎么不会无限递归啊?”这样的问题较劲,而我是很感动的,因为他知道**不把手弄脏(get hands dirty),是学不会手艺的。**
|
||
|
||
在别人觉得没有问题的地方提问,本身就需要一定的勇气。其实,那个问题不像表面上那么简单。我在[19讲](https://time.geekbang.org/column/article/140740)里花了很大的篇幅解答了这个问题。而从这个问题,可以引出很多问题,比如,有多个产生式的时候,到底该如何选择?深度优先和广度优先有什么区别?等等。
|
||
|
||
你可以把在学习过程中发现的这些问题看做是花园的入口,而不是障碍。对于在学习编译原理时遇到了困难的同学,我要说,你至少找到了一个入口。
|
||
|
||
从这个角度来说,通过这次期中考试的20道题目,你又获得了20个新的入口。我亲自出的这20道题目,可以让你对之前学过的内容查漏补缺。你有一周的时间去回顾内容,弥补不足。在你答题的过程中,分值其实是不重要的,能引起你的思考最为重要,**这可能是你又一轮的认知迭代!**
|
||
|
||
接下来,我们聊一个轻松的话题,国庆将至,如果你想趁机好好休息一下,不妨找一个小众的城市,远离人群。而且还可以尝试带着电脑,在古镇上,在流水边,在星空下,在一切美景的围绕下,安安静静地写个编译器。这种尝试,难道不是一件美事吗?
|
||
|
||
当然了,也欢迎你在留言区,将你去过的城市美景分享给大家,给我们的课程增添不一样的色彩。
|
||
|
||
**最后,来挑战一下,开启你的期中考试之旅吧!**
|
||
[![](https://static001.geekbang.org/resource/image/28/a4/28d1be62669b4f3cc01c36466bf811a4.png?wh=1142*201)](http://time.geekbang.org/quiz/intro?act_id=52&exam_id=57)
|
||
|
||
* * *
|
||
|
||
编辑角:答题不限次数,但分值以第一次为准,答题前三名,有惊喜哦。
|
||
|