为什么我在看 coursera 的 complier 课程?

什么是程序员三大浪漫

知乎上的一个提问为什么程序员的三大浪漫是编译原理,图形学,操作系统?
还有提问如何去学习程序员的三大浪漫,编译原理,图形学,操作系统?

vczh 的回答为什么要学习这三大浪漫

其实这个概念主要是 vczh 提出来的,其他在计算机混得比较开的人也很多人赞同。

讨论总结出的理由无非几个:

  1. 这三个东西都是计算机领域的基础,应用非常广泛,了解和深入都对以后走程序员职业的道路有很大帮助。

  2. 新的框架和语言变化太快,基础的东西都是最决定性的,了解最根本的原理可以令你看得更远。

  3. 在学习过程中需要长期集中精力,是一个长期收益性的学习,但在学习完之后不像其他技术,可以马上得以应用。像学 Rails,前端,iOS,安卓等
    即学即用的技术,是短期收益性的东西,学完之后可以去参加工作。

  4. 要成为大牛,必须要学!

为什么我还要再学一次complier

学校课程太水,连编译器都没有完整写过,记得不多了。也看过《龙书》,但是龙书实在太理论,各种概念,看得比较蛋疼,未果。

但是最近比较闲,想继续学习计算机比较底层东西,希望以后可以走得更远,就找了 coursera 的 complier 课程。

这门课难吗?难。学这个东西苦逼?苦逼。但值得学吗?值。

假如我继续去 dig 有关 Rails,前端,iOS 的东西,我可以过得更舒服,可以学到更多炫酷的东西。但是我在担忧,当我学完这些东西,我以后可以走得更远吗?
这个答案是否定的,因为学这些东西,都是别人创造出来的工具,而自己只是去学习如何使用这个工具,不理解原理,这是一件多么蛋疼的事。因为你用工具只是搬砖工,别人设计的是科学家,你这个搬砖的不学这些永远达不到科学家的水平。

所以看得远一点,去学这三大浪漫,是一个上策。学如何使用工具,是一个下策。