撞上了“程序员成长最危险的时刻”

今天在别人的blog上看到一篇文章,说程序员最危险的时刻,是这么说的:

其实程序员成长最危险的时刻不是在你什么都不懂的时候,而是在你懂了一些的时候。开始的时候,你觉得什么都不懂,于是你天天看书,通宵编程。后来你懂了c了,算法数据结构操作系统在学校也学了,用VC 写程序时你边看MSDN边用MFC,觉得感觉还不错;你用Delphi甚至做了一个个像模像样数据库的项目了。至于COM,你懂了一点点,说起来头头是到,虽然没用过。标准C++嘛,你在大学学过基本的C++,工作时用VC,什么继承,虚函数,const,引用,模板你也都用过了。你也听说过设计模式,用过最简单的单件模式什么的,虽然还有很多你不懂的。有的时候你觉得操作系统很有意思,你还写过些多线程的控制系统的东西。可是现在你反倒觉得你什么都不会了,看这别人用VC 写的大系统,你觉得很写的很好,可是你不知道怎样达到那样的水平。你觉得你有很多的东西都不懂,可是你不知道怎么学得更好,有的时候你对编程序都快没激情了,于是你也跟我一样到了程序员成长最危险的时刻。有些朋友觉得已经可以混到饭吃了,就不再努力,这样就危险了!

不看则已,一看吓了一身冷汗,似乎每条说的都是我……作为一个半路出家上了“挨踢 …

more ...

“华恒杯”windows嵌入式软件开发竞赛(初稿)

今天早上吃了万老师一顿牛排 + 摩卡咖啡。价格不菲,感觉呢,牛排七成熟,跟学校1.4RMB一块的大排差不多。只不过没有刀叉,摩卡咖啡么,怎么那么多泡沫阿。还有所谓的芝士点心,咋看咋吃都像炸馒头干……鄙视我把,我就是没有品味的人,吃了两次哈根达斯都觉得不如门口地摊上1RMB一根的雪糕好吃。吃归吃,或还是要干的,今天晚上憋出来一篇竞赛宣传文字。。

竞赛介绍
Windows CE是微软公司推出的面向移动智能连接设备的模块化实时嵌入式操作系统。凭借其广泛的适应性,丰富的功能,强大的多媒体能力,友好的开发环境,Windows CE已经被广泛应用于掌上电脑,智能手机,汽车电子,信息终端等领域。在当前嵌入式领域占有较大市场。
华恒科技(::URL::http://www.hhcn.com)是国内著名的嵌入式Linux,Windows CE开发平台及OEM板级硬件提供商。同济大学软件学院与华恒科技共同在同济大学全校范围内举办这次“华恒杯”Windows CE软件开发竞赛,目标在于:
1、迎接2005年春微软亚洲研究院与同济大学共同举办的Windows嵌入式教学促进会。
2、通过竞赛推广同学对于嵌入式系统和Windows CE的认识,引领移动计算的潮流 …

more ...

同济大学基础软件中心成立了

忙了一个星期,等了一个学期,筹备了一年,同济大学基础软件中心今天终于成立了。并且举行了一个叫做“嵌入式产业链阶段成果展示”的记者招待会。刚刚听说居然还上了电视。我不是“妓者”,当然不用写那么振奋人心的模范文章,只是中心的主任是我的“老板”陈榕,所以就只是想谈谈自己的感觉,候捷老师有“无责任书评”,俺也无责任的感慨一下:

第一,吹牛做秀真的很重要。这个是我从去年参加微软“创新杯”之后就有的感觉,而且这个到现在感觉越来越强烈。不论你到底做了多少东西,把这些东西起个好的名字,冠个好的噱头,能吸引别人的眼球,就是成功,就是胜利。或许这个跟我在同济一直受到的“要脚踏实地做实事”的教育相抵触。但是,今天,无疑又一次验证了我的这个想法。林正浩的CPU,陈榕的操作系统,汽车学院的车载信息系统,还有蒋昌俊的交通信息网格,貌似天衣无缝的组合,能给未来的汽车产业带来全新的计算革命和体验。但是,真的有多少实质性内容偶自己还是略知一二的,或许这个就是“idea”。idea比技术更重要。是我还太幼稚,不明白其中的道理。

第二 …

more ...

我的2004年

今天看到12月的《程序员》杂志。年底了,请了蔡学镛等好多业界名人谈论自己的2004年。是啊,年底了,也该总结一下了。

2004年是我跨入软件领域的第三个年头,总体来说,我的2004年还是充满变数与激情的。在技术上,人生上和很多问题的看法上或许即将过去的一年都是一个转折点。

1月:我继续在微软全球技术支持中心实习。工作趋于稳定,主要在负责中国的新闻组。

2月:2月20日,我结束了在微软八个月的实习,重新回到学校实习。2月23日,我就收到了周文钧老师的邮件,然后就当上了C++的助教。

3月:看着周围的同学慢慢的找工作。对着我自己来说,助教占据了我日常生活的大多数时间,回答问题,看学生的作业,这段时间认识了不少03的同学。3月中旬给03的同学做过一次Presentation,讲了些C++和微软的技术。这个月里,有一个人在我不知不觉中,慢慢地的走入了我的生活。

4月:4月5号是个难忘的日子。自从那天起,发觉我的人生,与以前相比,真的变了。思想上,经历了一个或许能影响一生的抉择。技术上,也是从那天开始,我第一次接触到了Windows CE …

more ...

'从"超越"汽车故障诊断软件谈软件质量'

作完了,终于做完了!几个晚上忙碌到凌晨。有成果了。这是最终的截图:

本来想把这篇blog写成技术类文章,也谈谈软件架构阿,设计模式阿,重构阿,扩展性阿,双缓冲画图阿等等,但是,Coding结束之后,却没有心情再谈这些技术,一个是因为自我感觉水平的确还没高到可以蛊惑世人的程度,第二个是万一分析技术发现了更好的设计,担心自己不睡觉,又回去Coding。

这个程序基本上就是GDI画图,BitBlt, LineTo,CreateSolidBrush偶早就已经驾轻就熟了,所以从头到尾就没有遇到什么技术难题,但是画图根画图不一样,因为没有技术问题,所以想的更多的是Design上的东西。稍微在这个小程序中用了一些Pattern和OO的思想。有点感悟,或许这就是万老师说的,代码编得多了,才会想到模式,架构。

认识好多在软件公司里的同学,好多都说他们的软件烂,上次回嘉定,SAP中国研究院的同学说他们的某款软件BUG狂多云云,还有一位华为的工程师更直接,原话:“在中国电信跑的几千万的项目,代码写的都跟屎一样”。

或许进了软件公司,很多项目都是被进度和时间所束缚,内有老板,PM催,外有客户赶。在这种情况下,实现代码的功能就成了第一位的工作。至于优美的设计,良好的可扩展性,OO …

more ...

Pascal-S编译系统实现简析

一、Pascal-S及Pascal-S编译程序

Pascal-S是Pascal语言的真子集,由著名的计算机科学家N.Wirth开发。它保留了Pascal语言的大部分功能。

Pascal-S支持整形,实形,布尔形和字符型四种基本的数据类型。Pascal-S还支持数组和记录两种构造类型和用户自定义类型。Pascal-S支持函数和过程,并且支持值形参和变量形参。支持函数递归。Pascal-S还支持控制台输入输出函数,但是不支持文件输入输出。

Pascal-S的编译程序也是由Pascal编写而成。由五十多个函数构成。大致分为词法分析,语法分析,代码生成,错误处理和解释执行几大模块。Pascal-S的编译程序与普通Pascal不同的是,Pascal-S采用解释执行,也就是说,Pascal-S被编译成了中间代码,然后由解释器解释执行。本文介绍词法分析,语法分析和解释执行部分,错误处理不做重点介绍。

二、表格管理

表格是编译程序不可缺少的一部分,Pascal-S编译程序包含符号表(tab),块表(btab),数组表(atab),实常量表(rconst),字符串常量表(stab)以及生成的中间代码表(code)。Pascal-S的代码中,使用一系列ENTER打头的函数往这些表中添加信息。

2.1 符号表tab

符号表由变量t作为索引 …

more ...

ARM研讨会和周立功印象

今天跟软件学院的王冬青老师一起参加了ARM公司的2004年技术研讨会。

昨天晚上上课,睡在嘉定,早上六点就爬起来开始了前往徐家汇建国宾馆的征途:首先早上七点钟搭乘汽车学院前往本部的班车,八点一刻到了本部,然后转乘115路公交,坐两站路,到地铁三号线赤峰路站,然后坐三号线到上海火车站,走南北广场地道换乘一号线,然后到徐家汇。当签完到以后,已经迟到了半个钟头,不过还好,第一个演讲人,ARM公司的首席运营官Brown刚刚站到演讲台上。

上午的演讲几乎都是老外,主要介绍ARM的体系结构,市场,未来发展等等。这东西偏向于IC设计。或许跟IT还是有区别,反正我感觉好多名词都没听说,所以从中还学到了不少东西。

下午用餐过后,第一个演讲的就是周立功,国内作单片机老大级的人物。他的演讲题目虽然也是“从8位到32位”,但是与以前几个演讲者彬彬有礼不同的是,周立功从演讲的语气中就透着咄咄逼人的气势。他的演讲前面介绍一些产片,大概我不是这个行业的,所以感觉意思不大,后面他讲了UML和面向对象技术在嵌入式系统中的应用,已经PC机开发和嵌入式开发的融合,还有软件工程思想,这些都让我耳目一新,可以看得出,虽然他在业界摸爬滚打多年,现在已经是公司的一把手,但是从他的演讲中,就可以感受出,他仍然是一个奋斗在一线的工程师。他的思想,技术,对业界前景的洞察力和对国内高校教育的观点,都从他的演讲中表露无遗。

周立功有个听起来比较搞笑的提法让我比较有感触 …

more ...

闲话:从Blog搬家到EAI

近来,提供blog服务的网站越来越多,从国际的MSN space,google,wallop到过内的CSDN,TOM等等,让人目不暇接,似乎Blog已经成了继电子邮箱之后的又一个赚钱的利器。引得无数大小网站竟折腰,还有些网站不但提供日志功能,而且还增加了图片上传,音乐上传等等好多功能。blog的盛行仿佛又重现了本世纪初的免费邮箱和免费个人主页。

可以做的选择多了,有些人(偶是典型)不免心痒手痒。就像当年的免费email,几乎稍微是个知名的免费邮箱,偶都有一个,当然用不用就是另当别论。但是blog跟电子邮箱有一个最大的区别。邮件是以封为单位的,如果不是什么大不了的邮件,看完了就可以顺手delete,所以一个人拥有十个八个的email很正常。但是blog就不一样了。blog这个东西强调积累,每一封日志都记录作者某个时候的想法,心情,观点……一篇Blog的意义不大,即使再精彩,也顶多算BBS里面的一“好贴”。如果把一个时间段例如几个月,甚至几年的日志连续起来,就可以看到一个人的心情,生活的轨迹。写blog跟体育锻炼差不多,积累才有意义。

好,问题就来了。可以落脚选择的blog多了,不免会有朝秦暮楚找三幕四的想法。像偶自己,最初把家安在了现在的blogcn,图的是它海纳百川的气度,还有可以摆开CSDN上程序员之间相互的无理取闹 …

more ...

'Microsoft's Cultural Revolution'

今天在图书馆里面看书,发现了一本封面很吸引人的newsweek,Bill Gates哥哥被PS成了毛泽东爷爷,然后文章的标题是“微软的文化大革命”全文转发如下

Microsoft's Cultural Revolution

How the software giant is rethinking the way it does business in the world's largest market

by Sarah Schafer | 六月 28 '04

Microsoft's largest beachhead outside the United States is in the state most hostile to it: China. Since arriving …

more ...

感动,感动,偶的程序装车了

今天在网上吓逛,居然看到一条新闻,春晖三号亮相工博会。更令人兴奋的是,车载电脑上跑的程序,赫然就是前几天困扰我的那个内存泄漏程序,我写的程序又一次被人用了,感动ing…

more ...