今天跟一个朋友打电话,被他说了一顿。没有听得下去,可是回头想了一想,我觉得他说得有道理。我是该反省一下的时候了。
1. 被函数式编程洗脑。显然,之前很长一段时间(从清华时代开始)我被“函数式编程”洗脑了,并且产生了函数式程序员常见的“宗教情绪”。其实,函数式语言跟普通语言没有本质的区别(以后详述)。这种宗教情绪导致了在跟人谈话时候的一些问题,比如跟 Google 那位 C++ 程序员的对话。现在平心而论,C++ 并没有我想象的那么糟糕(也许有人不同意?),是我自己的态度有问题。我恐怕是被传染了盲目鄙视“非函数式语言”的习惯。
2. 对 Google 的评价以偏概全。其实我所在的小组确实有我所描述的问题。我说的事情都发生过,而且很多 Google 员工也认为我老板是个“怪人”。不过以个别的人的言行来评价一个公司,确实是很偏颇的。一些 Google 的朋友也来信慰问我,告诉我其实他们过得很好,老板对他也挺好,虽然他没做什么了不起的事情。还有的邀请我这次去他们小组 intern,说可以让我喜欢什么就做什么。虽然也许我再也不可能去 Google,对此我深表感激。我每天都用着 Gmail,Googlemaps,Android 手机,…… 我很喜欢它们。唉,我都在指指点点些什么呢!也许在 Google 很难满足一些人的野心,不过如果做一个普通程序员,规规矩矩的做人,其实过得还挺舒服。傻乎乎的对什么“新奇事物”都好奇,管它到底是不是真的是新的,也许才是正确的态度吧。我也应该“糊涂”一点了。
3. 对“应用”领域的歧视态度。其实之前对一些理论领域的“透彻”了解,也让我看到了应用领域的价值。这不得不让我反省之前在清华的时候,是否准确的了解了 EDA 领域的价值。我总是对“理论”和“数学”有一种崇高的景仰,却偏颇的认为应用这些理论的领域都没有价值。所以导致了我研究进入高度理论,偏离实际的方向。我使用貌似高深的计算几何算法,其实并没有给实际的电路布线带来什么好处。我发现事实也许正好相反,某些理论的领域才是在扯淡,不做实事,而应用和工程的领域才是在给我们带来真正福利。程序语言做到一定程度的人,都开始想把程序“编译”成 VHDL 或者 Verilog,然后实现为 FPGA 或者 ASIC 电路,而之前我有个清华同学就是做这个的(SystemC)。也许这就叫做峰回路转?
4. 对学术界以偏概全。不得不承认,我之前的导师是有问题的。可是新的导师其实是不错的人,做了很多实在的工作,比如 Open MPI,光场照相机 (light field camera)。我现在做的事情是为一个新的 GPU 语言实现高效的内存管理。虽然我不知道最后有没有人会用这语言,总的来说还是学到了一些东西,合作的同学也挺友好。确实,有几个同学有我提到的态度问题,总是在别人面前显示自己。可是其他同学也许都看不惯,然后就把他们忽略掉了。罗素说得好,永远也不要以为世界上的人都跟你现在看到的人一样。总有志同道合的人在某个地方,我们都需要去寻找,不要在自己狭窄的世界里困顿。
我以后可能会写一些实在一些,有用一些,开心一些的东西了。