毕业大业 - 行者无疆 始于足下 - 行走,思考,在路上

毕业大业

xiaohanyu posted @ Fri, 15 Apr 2011 17:17:55 +0800 in Life with tags ZJU , 2394 readers

一场雨过后,午后阳光慷慨的洒下来,图书馆的空间溢满温暖,还有,春的味道。

半个上午以非常手段完成了《计算机网络》的6章作业后,内心已极其疲惫,就像一场长长的火车硬座长夜,一旦结束,想做的,无非就是找一张舒服的床,开一瓶美味的饮料,躺下来看一场轻松娱乐的电影。虽然内心里有一种声音在不断提醒我:“嘿,boy,计算机组成作业已经三次没交啦,数电过几天要补考啦,导师说下周要看你做的怎么样了哦……”。

累,很久没有感到这么累了。累到什么都不想做,想想要是生场大病就好了,这样就什么都不用管,躺在床上专心看书就好了。也不用像现在这样,上午看Objective-C,下午看C++设计模式,晚上去下载OpenGL红宝书,睡觉前还要想着八竿子打不到的时序逻辑电路;明天又要去看MIPS/ARM,还有拐弯抹角的LR(1)语法分析,以及900多页的《计算机网络》——Tanenbaum可真是能唠叨啊。

我以为我能搞得定,就像大一期末2天时间复习完《数学分析》那样,又或者像高三竞赛前夕一天复习完400页《基础有机化学》并且还能做几十页的笔记那样,但这次似乎有些不同。想毕业,我得:

  • 4.20 编译原理(考试)、数字电子技术(补考)
  • 4.22 毕业设计中期检查报告
  • 4.24 计算机组成期中考试
  • 5.13 数字电子技术毕业清考(如果补考不通过的话)
  • 5.16 电路原理(甲)I毕业清考
  • 5.30 毕业设计检查
  • 6.10 毕业设计答辩
  • 6.25-6.31 编译器设计、计算机网络、计算机组成、计算机体系结构考试

编译原理的期中考试混了下,作业用非常手段最后时段补齐了,LL(1)/LR(1)分析还模棱两可,两天时间希望能搞差不多吧;至于夏学期的编译器设计,8周,仅仅8周,你觉得8周来写一个编译器,这个Project如何?数字电子技术三进宫,一点没看,我就不明白了,我一个靠Linux/Script混饭吃的Programmer,干嘛非要去学什么狗屁触发器和时序电路?干嘛非要让我去学楼道灯开关的电路设计?我又不是Steve Wozniak。真的需要了解这方面的知识,一本《编码的奥秘》足矣;电路原理,不是我学不会,永远记住,这个世界上我学不会的课程不多,只是我不想学而已;计算机组成/计算机体系结构,MIPS,作为上个世纪80年代的恐龙,你还在不停地折磨你的学生,你好意思吗?计算机最重要的设计思想在于抽象、分层,我写我的C/Python/Bash,至于你CPU指令怎么流水怎么冲突,那是Intel/AMD工程师的爱好,和我无关。

至于毕业设计,在Windows上用VMware运行Mac OS X,里面开XCode用C++来封装Objective-C代码然后在狗日的慢的要死的iPhone/iPad Emulator上测试Win32-Style的C++程序,所有的一切让我想起来两个字:山寨。何苦如此呢。不是有Qt吗,干嘛要自己重新写一套,reinvent the wheel?怕开源,怕别人看到你的代码?可是为什么作为国内顶级学府的浙江大学的计算机学院,要用盗版的Visual Studio在盗版的Windows上写“版权保护”的程序呢?

至于Mac OS X,引用Linus的话,“简直是个十足的废物”,除了极致的工业设计,和Linux相比,简直一文不值。整个系统,图形界面自成一套,目录结构、命名风格和传统Unix的FHS完全不同;软件包管理系统,要么是Macports,要么是Homebrew,前者在系统中也是自成一套,往往会造成重复的程序库版本,后者的功能以及资源和众多Linux发行版相比相差太多;至于Mac产品设计的哲学和风格,我只能说,美观、人性,同时,霸道、专横、跋扈。怎么最大化一个Finder或者Safari窗口,让它布满全屏?不要告诉我这是苹果的哲学,以及对人性的关怀考虑,我所想到的,就是霸道,专横,自作主张。

至于XCode,和VS、Eclipse相比,简直是处在史前时代:没有代码补全、多窗口设计、无法调整窗口布局;Interface Builder,对于一个初学者来说,用Interface Builder拖来拖去,最后到底生成了怎样的代码?不知道——因为Interface Builder不生成代码,生成的是一个二进制的nib文件,序列化的Object。什么叫序列化?I don't know。对于一个拿了Baidu Offer的人,尚且不知道什么叫做对象序列化,Interface Builder的存在,是不是背离了最初“让开发变得简单”的目标,适得其反了?总而言之,我觉得用Interface Builder来写程序,就像用Dreamweaver来写html代码一样,甚至比那还糟糕,最起码在Dreamweaver里面你还可以看到底层的html代码,但是在Interface Builder里面,你什么都看不到;Objective-C,当所有的类要靠NS-、CF-等前缀来避免命名冲突,和C++的namespace相比,是不是有些原始和不雅观?Why Objective-C?除了一个专横霸道的Mac,还有永远也不会成熟的GNUStep,Objective-C几乎毫无用处。

吐槽归吐槽,连日来的压抑也让我开始明确自己的未来之路:

  • 我不适合搞学术:没有天赋、本科阶段也没有良好的基础
  • 我讨厌写Paper:就像我不会为了谈恋爱而谈恋爱一样,我也不会为了写Paper而写Paper。有人说学术研究就是“大牛挖坑,大众灌水”,为了发Paper去搞学术,有了Paper才能升职,不可否认,在没有找到一个更好的评比办法之前,量化评比就像中国的高考一样,确实是最经济最有效相对最公平的方式了,但是,我不喜欢,也不想去适应;
  • 我讨厌Deadline:我始终认为好的东西是雕琢出来的。Deadline压身,往往会分散人的精力,给人施加很大的压力,进而又会影响人的发挥
  • 我讨厌别人在后面催着赶着我去做事:那感觉就像一头牛被鞭子抽着闷头耕地一样。

还有三个月。三个月后,无论能否毕业,我要开始做一个差生。在也不为了一些名头上的东西,强迫自己做自己不喜欢的事情。即便是没有了Vi/Emacs,没有了Linux/C++,没有了[tex]\TeX[/tex],生活也可以是美好和令人期待的。不是吗?

hackage said:
Fri, 15 Apr 2011 20:39:02 +0800

观点够激进:)
同样不适合搞学术发paper
现在都是为发paper发paper

edward said:
Sat, 16 Apr 2011 13:37:19 +0800

你提到的关于mac的内容,,对普通用户是不是没啥影响。。不开源,,就好软件少是么?

Avatar_small
依云 said:
Sat, 16 Apr 2011 13:56:48 +0800

依文章看,作者说的不是开不开源的问题,而是设计理念上的差别。

sonic said:
Sun, 17 Apr 2011 11:23:57 +0800

重庆大学计算机的飘过。你们编译原理大四学?我们只有一周的课程设计时间啊~还是3门课程设计。。能写神马?!估计能写做到4元式啊~浙大都是逼出来的,否则只能想我身边的同学一样颓废了。一起加油吧~windows下也要无鸭梨用emacs。VS。。。MLGB

Avatar_small
Lox said:
Mon, 18 Apr 2011 10:13:20 +0800

设计理念和哲学不同。
普通用户不必关心。

Avatar_small
Lox said:
Mon, 18 Apr 2011 10:14:21 +0800

大三的课。我去年在忙别的事情,所以拖到现在修编译。
还有大二挂了些课。

总之比较纠结。

顺便问下4元式是什么

Avatar_small
Lox said:
Mon, 18 Apr 2011 11:01:47 +0800

看了你的主页。发现你我之间共同爱好还是挺多的。
有缘。

sonic said:
Mon, 18 Apr 2011 14:20:43 +0800

中间代码生成后的产物,也称之为三地址码。类似于tempx = ida + tempy这样的神马。我们那老师说语法分析到这里就算课程设计做好了。

Avatar_small
Lox said:
Mon, 18 Apr 2011 17:01:10 +0800

明白了。
我只了解三地址吗……换个说法我就不知道了……

zarzen said:
Wed, 30 Jan 2013 20:04:07 +0800

“永远记住,这个世界上我学不会的课程不多,只是我不想学而已”好嚣张啊~
我也想过这问题,最后发现,其实大家都能学会的,只是速度会有差啊。。、
最后谢谢你帮我发现、、我就是个差生!哈哈

Avatar_small
Lox said:
Wed, 30 Jan 2013 20:58:16 +0800

这么老的文章都被你挖出来了……看来以后真的要”慎言多思“了。

zarzen said:
Wed, 30 Jan 2013 21:12:14 +0800

哈哈~挖人博客也是学习嘛
比水weibo要好多了。
嗯,“慎言多思”。虽然初中就被教导了,有时总还是忍不住。


Login *


loading captcha image...
(type the code from the image)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee