好像现在市面上让打工者(包括所谓的白领)做奴才的书很流行,书的主旨相当简单,就是老板说得就得听,要做听话的小孩,不要有自己的想法。
很难。
一个打工者,恐怕很难知道别人做了多少工作,无法了解领导在忙什么。最可悲的恐怕就是自己做牛做马,别人吃喝玩乐,经常还得不到老板的欢心。
我还是相信自身的实力是最重要的,有了实力的保证才有信心,最差不过此处不留爷自有留爷处。
好像现在市面上让打工者(包括所谓的白领)做奴才的书很流行,书的主旨相当简单,就是老板说得就得听,要做听话的小孩,不要有自己的想法。
很难。
一个打工者,恐怕很难知道别人做了多少工作,无法了解领导在忙什么。最可悲的恐怕就是自己做牛做马,别人吃喝玩乐,经常还得不到老板的欢心。
我还是相信自身的实力是最重要的,有了实力的保证才有信心,最差不过此处不留爷自有留爷处。
坐了大约十三个小时的飞机,从芝加哥飞到了北京,本来是南航下午五点钟的飞机,但是操蛋(抱歉在这里说脏话,实在挺气人的)的南航竟然把飞机取消了,和六点半的飞机合到了一起,我们去服务台质问他们,也是嘴里乱说一通,没有结果,疲劳的我们只能在北京机场又多坐了将近两个小时,回到家都晚上八点了。
芝加哥到北京是美联航的UA851,我的美联航mileage积分也到了可以坐经济舱Plus的程度,不要小看了这个Plus,座位之间增加了大约十厘米的距离,腿可以舒展伸开,要知道坐上十几个小时,这十厘米的差距可以说是天堂地狱的不同。另外也要提醒坐长途飞机的朋友,一定要买一个垫脖子的那种充气枕,在美国机场的小店里有实心的卖,9.99美元,这种充气套脖枕头在国内才十几块而已。
在cleveland的小店里有Playboy,penthouse,maxim等sex杂志出售,为了维护我正义的形象,没好意思问多少钱,其实真挺想买一本开开眼,这种杂志只把杂志名称列出来,其它全部挡住,并不是有些人想象的到处都是色情书刊,估计青少年要买要出示证件才行。说道证件,其实美国对于法律的遵守尊重要比中国人强的多,我们同行的几位女士买鸡尾酒喝,经常要求出示证件证明够年龄,国内几乎没有听过有这样的事。
在飞机上,临近的一位美国老太太大概有六十左右,一交谈才知道,他们夫妇两人曾经是IBM的developer,这是到中国来旅游的,还把行程给我们看,北京、西安、重庆、扬州、上海、曲阜、泰山,基本上都是中国的名胜古迹,除了北京,我是一个都没有去过。老太太很健谈,说话好听而且标准,一看就是受过良好的教育,我们这一道也练了不少口语。
如果说南航除了不守时没有诚信这个毛病,服务也很差劲,我在美联航的飞机上,基本是要什么给什么,在南航的飞机上要点水喝,竟然跟我说一会就发,现回座位等,另外北京机场也挺差劲,就这德行还想办好奥运实在是妄想。举个最简单的例子,美联航出站以后是在二号航站楼,而换北京到大连的飞机是在一号航站楼,没有去过的朋友不知道,这两个航站楼之间快步走,至少要十五到二十分钟,都快接近一站公交车的距离了,如果你要赶飞机,基本上要狂奔十分钟。我就纳闷,那帮鸟人怎么就不知道弄一个机场巴士呢?都是你的客户,弄个区间车能多少钱?现在大连不少大型超市都有区间车,北京机场就穷到了没有车的地步了么?
出去看到的越多,发现中国跟别的国家的差距越大,不仅仅是因为缺钱或者是缺资源,是最起码的礼仪礼貌都达不到,在飞机上的杂志里就看到,一个日本女人在上海教中国商人或者高官如何提高外交礼仪,中国可是号称礼仪之邦、泱泱大国,现在反过来让自己的学生来教自己。而且我这两次去所见所闻感觉到,中国人在美国的整体印象要远远低于国内宣传的样子,缺乏诚信、脏乱差基本上是中国人或者中国餐馆的第一印象,在我们去过的高级餐馆,很少看到中国人的身影,而黑人出现的频率就相当的高,另外政客里中国人的比例、公司高级主管里中国人的比例,都远远低于其他族裔。
像是我等小民,除了在blog发发牢骚也没有别的办法了,只能像马丁路德金那样呼喊”I have a dream”,希望能看到华人在美国能够像黑人一样,真正达到受人尊敬的程度,当然,这恐怕也得建立在国内礼仪道德回归的基础上。
因为在这里的人不多,所以吃的还是挺爽的。
1 red lobster吃龙虾的地方,点了一个lobster lover’s dream,但是里面有pasta,后悔了,龙虾还是很好吃。
2 legacy village里面的cheesecake factory。这地方的牛排不错,但蛋糕更有名。legacy villiage算得上cleveland的奢侈消费场所。giant eagle是卖蔬菜水果食品烟酒的地方,比walmart好多了。买了一瓶napa出产的红酒,那里的红酒真的是太多了,大多十几二十左右,不贵但看上去很好。还有一家加州比萨饼店,我们去吃了两回,相对牛排要便宜很多。
3 fishmarket。是cleveland吃鱼的地方,大比目鱼和salmon都很好吃。
4 fishmarket附近一家超爽超贵的牛排店。ribeye很好吃,是我唯一一次完全把牛排全吃完的,要的是medium。
5 PF.chang一家老外开的中餐店,很少有中国人去,主要原因是比中国人开的中餐要贵一些,但是很干净。我perfer去PF.chang而不是中餐馆。宫保鸡丁酸辣汤麻婆豆腐都和国内口味差别较大,但是不难吃。
啤酒这次也喝了不少品种,sameul adams和machlob ultra, corana, gennieus, 还有一种荷兰进口的啤酒(不是喜力)也很好喝,其中爱尔兰(irish?)的健力士最苦。萨缪尔亚当斯比较醇厚。我都挺喜欢的。
hilton楼下的早餐也很不错,有一天早上有黑莓吃,味道独特,相当的好吃。平时都让人给做一个蔬菜煎鸡蛋,放上菠菜(不是很确信)洋葱,青椒,mushroom,番茄,没有放什么调料,保持了原汁原味。
在公司后面拍的照片
又是将近12个小时的飞机,才从北京飞到了cleveland,一路上的疲倦真的是没法形容。
这次幸好带了套在脖子上的气囊,睡觉能舒服一点,脖子的酸痛感不像上次那么强。到了芝加哥以后,在美联航的checkin柜台前竟然看到了麦克泰森,就是那个曾经咬人耳朵的拳击手,没有保镖也没有人围观,泰森静静的坐在一个长凳上,感觉有些落寞的样子。我们嘀咕了一阵,有同事还说去签个名,看他这样,也不敢凑过去。
芝加哥转飞cleveland的美联航登机卡是在北京就已经发了,所以我们有空闲吃饭,先去星巴克买了一个瓦尼拉latte,甜腻腻的,后来才想起自己想要的是javachip,里面带碎冰的那种。因为到了cleveland就很晚了,所以就在芝加哥的terminer里找个汉堡店,要了一个classic italian。味道还不错,挺喜欢里面的酸黄瓜。
又是一个多小时的飞机,然后租车,到hilton hotel check in,已经是很晚了,洗完澡竟然没有了睡意。不过打算写完这个就睡。
相机没有带,只拿了手机准备乱拍几张,明天再说吧。
公司很早就买了这本书的英文版,硬皮的,非常厚实稳重的手感,无论如何不能便宜到100块人民币以内的样子。可惜感觉看上去有点吃力(是我水平不够啊),也就没有继续读下去,准备拿中文版看。不过我还是先等等,最近这些译者的态度和水平非常不咋地,比如我购买的《Joel on software》祖尔谈软件的中文版本,实在不容易读,那可都是中文阿。
CC2e:《代码大全(第2版)》集萃
《代码大全(第 2 版)》是一本写得很有意思的书,既有生动的比喻,偶尔也有夸张的表达,另外作者还时不时开开玩笑,读起来一点也不枯燥。以下是从中摘录的一些有趣的话。这个版本略有删节,等书出版之后,我会扩充这里的内容。
* 首先为人编写程序,其次才是为机器。
* 傻子都会写让计算机理解的代码;而优秀程序员写的是人能看懂的代码。(Martin Fowler)
* 好习惯很重要,因为程序员做的大部分事情都是无意识完成的。
* goto的标号应完全大写并对齐行首,还应包含编程者的名字、家庭电话号码和信用卡号。(Abdul Nizar)
* 编码时要把维护你程序的人想象成知道你住址的有严重暴力倾向的精神病人。(佚名)
* 有两种设计软件的方式:一种方法是让设计非常简单,看上去明显没有缺陷;另一种方法是让设计非常复杂,看上去没有明显的缺陷。(C. A. R Hoare)
* 忽略编译器所提示的程序错误太过草率,关掉编译器的警告功能则无异于掩耳盗铃。关掉编译器的警告功能仅仅意味着你看不到错误,并不表示这些错误就此消失,正如同小孩闭上眼睛并不能让面前的父母从此消失一样。
* 想通过更多测试来改善软件的质量,就跟妄想通过更频繁的称体重来减肥一样。(编按:作者并不是说测试无用,而是说不能仅仅依靠测试。)
* 心理取向对调试有什么影响?首先,它证明了养成良好的编程习惯的重要性。规范的格式、恰当的注释、良好的变量和子程序命名方式,以及其他编程风格要素都有助于构建编程的良好基础。在这样的基础之上,可能发生的错误将因为与众不同而变得格外引人注目。
* 交互式调试器极好地代表了那些程序员们并不需要的调试器——它鼓励程序员采用随机试验查找错误的方法,而不是对程序进行系统的分析。同时,这样的工具也给了那些几乎没有资格从事细致的程序设计的人滥竽充数的机会。(Harlan Mills)
* 聪明不像是个人性格的一个方面,也确实不是。碰巧的是,高智商与优秀程序员之间并无太密切的联系。
* 懒惰这种品性能促使你努力减少整体花销;使你编写节省劳力的程序,别人也会觉得这些程序有用;使你编些说明,免得人们老是问你。(Larry Wall)
* 你可能某天从上午8点工作到下午2点,就感到累得不行了。但你还是坚持下来,又从下午2点拼命干到5点。之后的一周时间,你却在修改这三小时里写出来的东西。
* 有效编程中最重要的工作是思考,而人思考时通常不会看上去很忙。如果和我共事的程序员总是忙个不停,我会认为他并非优秀的程序员,因为他没用最有价值的工具——自己的脑袋。
* “我们需要有五年以上C语言编程经验的程序员”就是愚蠢的说法。如果程序员过了前一两年还没有学好C语言,那么再加三年也没什么意义。
* 调试代码的难度是首次编写这些代码的两倍。因此,如果你在编写代码的时候就已经发挥了全部聪明才智,那么按照常理,你将无法凭借自己的智慧去调试这些代码。(Brian Kernighan)
* “这个循环好像有问题。可能是一个off-by-one错误。让我先来写一个-1试试。哦,这样不行。那么我就写个+1试试。啊哈,看来程序正常工作了。我可以宣布问题搞定了。”——随机地修改代码,直到你的代码看起来能工作,这就是所谓的“voodoo programming(巫毒编程)”。
* 每个团队里都也许有这样一个程序员,他总会遇到无穷的问题:不听话的机器,奇怪的编译器错误,月圆时才会出现的编程语言的隐藏缺陷,失效的数据,忘记做的重要改动,一个不能正常保存程序的疯狂的编辑器——你怎么描述这种行为好呢。这就是“迷信式编程(programming by superstition)”。最后谈一点,数学对编程很重要吗?纵观《代码大全》,作者谈了影响软件质量的方方面面,却*没有*说过程序员的数学功底是一个重要的影响因素。对程序员而言,掌握数学知识也不是必备技能。就我看来,数学不是决定性因素,甚至算不上重要因素。我没有听说过哪个软件项目因为开发人员数学功底不好而失败,或者因为在数学方面的不足使得质量低下、bug 丛生。
首先,数学是一门很大的学科,有非常多的分支。如果认为它很重要,必需列出到底其中哪些知识会影响软件开发,这样才有指导意义。我个人感觉,项目开发直接用到的数学知识很少。而且如果真的要用到,涉及的代码比例也不会很大,那么整个项目组里有一两个人(不一定是程序员)精通就行了(借助封装+抽象,让它是个黑盒子)。
与其强调抽象的“数学知识”,不如强调具体的“领域知识”。有些领域知识会涉及一些数学,比如我熟悉的有数值计算、电路分析、图像处理、信号处理等。不过这些数学知识都是针对这个领域的,而且经过领域知识的封装。有些领域几乎不涉及数学(前提是你不要把所有与思考相关的都归入“数学”),比如数字电路设计、体育比赛记分、以及很多常见的软件项目(考勤、系统工具、网站)。这些领域也都有各自的领域知识,不掌握这些知识肯定没法写软件,不过跟数学好像没什么关系。
总而言之,相比起程序员的其他职业素养(求知欲、诚实、交流能力、懒惰、良好的习惯等等),“数学知识”实在排不上号。
ps. 我是这本书的 4 名译者之一,我不可能向各位提供电子版。