[摘要]By Haha伪软的操作系统越来越不错,但伪软的开发工具并没有多少长进,典型的VC++,除了功能资料齐全庞大无比外也没太多起眼的东西,而且伪软似乎从来做不好调试器,CodeView或WinDbg可以说摆得上桌的最差的调试器了。用WinDbg调试DeviceDriver简直是不想让人活,很奇怪伪软连...
By Haha
伪软的操作系统越来越不错,但伪软的开发工具并没有多少长进,典型的VC++,除了功能资料齐全庞大无比外也没太多起眼的东西,而且伪软似乎从来做不好调试器,CodeView或WinDbg可以说摆得上桌的最差的调试器了。用WinDbg调试DeviceDriver简直是不想让人活,很奇怪伪软连那么复杂的OS也做得出,为什么就做不出象SoftIce之类的Debuger?
以前的Borland很可怜,它先C++Builder之前推出Delphi肯定是个错误,pascal和C/C++有一定距离,最起码不能紧跟伪软OS的发展潮流,伪软出一套SDK,就得有一套pascal版本来对应,SDK还不算什么,C++到pascal的翻译毕竟只要不怕麻烦还是很容易,关键是伪软时不时来一个所谓的新技术,当初BC++支持VBX,后来支持OCX,现在支持COM都是比较滞后的。现在的BC好一点,直接支持MFC,伪软出什么东西拿来直接用就是了,Delphi不会这么方便的。伪软在骑着马跑呢。不过现在谁还会用BC呢?!
究竟是什么导致C++Builder的连接速度奇慢?当然不是我们能知道的,不过我想C++Builder用的VCL库一定是Delphi的,说不定还是用Delphi编译出来的代码,如果CB的VCL库全是C代码,不知道会不会好一些。
Borland的程序员一定是比伪软的天才们更天才,因为他们从来都是懒得写help,懒得给大家多少资料,那些天才天才们一定是想“这很简单呀,那也很简单呀。。。”,我们可不是天才天才,最多最多有人或许算天才。
不大明白PowerBuilder为什么还有那么多人在使用,VB的数据库功能或许没有PB强,但起码和OS关系还是亲密一些。VB上手也很快,为什么大家一想到数据库就想PB呢?PB上WEB还要个Plugin,可是用VC,VB,delphi之类做个ActiveXcontrol也是简单得不得了的呀。反正有想次让PB打印个条码,简直是辛苦死了,最后还是用Delphi做了个OCX了事。
伪软把OS押到windows上,真的UNIX就会被消灭了吗?UNIX各种版本漫天飞,伪软为什么不拿几个人也去做个像样点的UNIX?哦,以前的XENIX倒是伪软的UNIX,不过好像已经灭绝了吧。
美国司法部最好能象强行解散AT&T一样把伪软也解散了,伪软现在有多少人?一万?二万?把这些人分开了美国大概能增加10万个新就业机会吧。
下面所有的叙述中只用到“程序”而不是“软件”,因为觉得自己做的东西和“软件”有一定距离,我想并不是仅对自己如此,对许多现在做程序的都是如此。大概因为自己是个“职业”的程序员的缘故(我并不是学计算机的科班出身,自动化专业,这样的专业除了在前苏联,其他国家多是没这个系没这个专业的),时常会想什么样什么样的人才能算真正的程序员,现在做程序的真的很“泛滥”,在学校里的学生没一个毕业的时候没写过程序的,多的上万行的代码,少的也会有几百行。我们本科在校的时候流行C语言。很感谢那时候流行的是C而不是现在学校里流行的FoxPro和PB,因为直到现在也还流行C语言才是程序员使用的语言的说法,自己很虚荣,当然也以自己C多少通一些感到高兴和骄傲。
在DOS时代,真正的“高手”必须精通汇编,大家以做TSR、加密解密、未公开DOS核心、病毒以及在越来越高档的显示卡编程作为自己进阶的见证。在当时,DOS没有秘密,整个DOS完整的反汇编代码随处可见,几乎人人都能说出点DOS所谓的秘密。我见过一个真正的汇编高手,见过他在短时间内做出了一部当时很流行的弹出式词典(DOS的),各种各样的屏幕取词自不消说,而且包罗了所有DOS命令,计算机知识,当时的Microsoft和Borland C++的所有帮助。这样还算不上什么,让我比较佩服的是他的程序在Windows运行的时候也能正常弹出,虽然自己的程序也曾几乎替换掉整个INT21,但对他做到的这点真的很佩服。
Windows对所有的DOS高手们是沉重的打击,尤其是从95开始。高手在DOS下惯用的伎俩开始处处受制约。高手们所乐道的未公开核心到95基本止步,病毒也只能拿WORD文档出出气了。TSR也失去了意义,在显示卡上做出的各种特效也成为历史。汇编在程序员级基本灭迹。BBS上的加密解密、病毒板慢慢地成为了DOS时代的遗迹。Windows下面的加密说实话都很臭,连我这样的DOS下水水的水平也能很轻易地用SoftICE见10个干掉7,8个。中国程序员们的网络时代快开始了。
高手们新的对象是网络,TCP/IP是第一个目标,但Winsock编程很快也没有了意思。善意的、恶意的网络攻击开始泛滥。对网络我的知识一直很有限。但可能整个中国的网络水平也不是很高,这和中国的网络条件有关,不过我想如果中国的网络现在就和国外一样流行、大规模的网络互联、我们对网络的依赖也和美国人一样强的话,凭目前国内网络的安全状况,中国的高手会迅速滋生,整个中国的网络将时时处于瘫痪。现在不行,毕竟网络抓包还比较初级。
Windows下如果能精通C,并且能够紧跟得上伪软的跑动,那绝对就是高手了,会不会汇编并不重要,本来也是,即便是设备驱动,直至Windows本身也绝大部份是C写的。但C高手们的好日子也不长久。操作系统的进化使高手平常化,业余程序员的数量开始剧增。开发工具日益繁多,刚开始做程序的人们不管使用什么工具、不管他们的代码质量、也不管他们的程序结构如何,他们也能很快做出至少表面上和高手们做出的东西一样好看甚至更漂亮的程序来。懂不懂软件工程无所谓,懂不懂多少数据结构无所谓,懂不懂OS无所谓,越来越方便的开发工具快让傻瓜也能写程序了。这样对出品OS的公司肯定很得意,因为不管是谁写程序,程序都在它们的OS上跑。当然它们的OS也必须做得越来越稳定,保证无论你的代码写得多烂,都不会把OS整烂。
OS已经基本上做到这一点了(当然对设备驱动程序例外,稍微烂一点就能把OS整熄火)。
不过对个人高手来说,又多了一个新的生财之道。软构件重用越来越频繁使用,高手们可以不停地做构件来卖钱,别小看这个,一般构件的价格最少也在20USD左右,真的是很赚钱的业务。不过这只对国外有效,中国人的习惯不是用了再买,而是用了就开始想办法解开。不要钱的东西在中国流行很快。
应该说自己还是很有点“天才”的,似乎还早在286DOS时代就预见了计算机的软硬件会飞速发展,当时的时尚过不久就会是昨日黄花,所以自己对汇编一直不曾刻苦过,对直接操作显示卡之类的的程序也做得很烂。因此工夫全放在C上。从BC到VC一直紧跟不舍,中间又顺带开始用Delphi。现在自己又在开始“天才”地预计JAVA也不会长久,即便有朝一日JAVA一统江湖,想必也是我发苍视茫的时候了。但愿这个预见不会差太远,否则就亏惨了,到现在对JAVA的了解也全是来自C++的。
窃以为JAVA的所谓跨平台是假的,目前的JAVA多是需要解释器的,这个解释器当然是跨不了平台的,有多种UNIX版本、也有OS/2、Mac OS、Windows版本。如果将JAVA程序编译成机器指令代码,跨平台更是无从谈起。总之JAVA的跨平台是要借助工具的。我对JAVA认识不深,也许我说的是一派胡言。
深有同感.计算机技术发展迅速,3年前的技术,现在已经淘汰了.所以,很多人,包括我.对学习计算机语言一直处于一种徘徊,从汇编到C,到vfp,到pb,无所不学.也就不所谓精通了.凡是将要用的,就立刻学,而且往往能立竿见影.然后,又徘徊.如此.如此.不想haha运气好,能做专职程序员,紧跟microsoft,我等闲人,只好感慨,计算机是年轻人的世界.虽然,我好像还不太老.
接下来想说说VB,真正的程序员从来对BASIC都是不屑一顾,但是这种情形在逐渐改变。原始时代的程序员都是天才,写出的程序也只有天才才能看懂,他们甚至精细到单条机器指令来考虑自己的程序结构和算法,这些程序员们这样的手段到现在已经没多少用武之地了。今天大家要用C语言才能深入系统底层,但说不定到某一天VB也能做到了,程序员们轻视VB有一点原因就是BASIC太简单,但遵循简单就是美的原则再加上伪软的不懈努力,VB可能某一天也会开始直接支持对象了。等到Windows真正完成大一统的时候,大概只会存在两种开发语言了-VC和VB,而且90%的人在用VB。伪软真的很过份,它让我们失去了摸索的机会,真不知道是福还是祸。对VB,我也一直不曾用心过,不过曾经做过一个BASIC的解释器。
到目前为止,绝大多数程序员们依然看不起VB。但喜欢VB的人大概是是比PB多一点。至少我是如此,在我眼里,PB是最没有前途的目前却又有很多的业余拥有者。PB有VB的所有缺点却没多少VB的优点。PB的可视化是所有可视化语言里面最差的一种,也是最不开放的一种。真的很少见到过有计算机科班出身的会去用PB的。PB的前景暗淡,因为它在构建数据库应用程序方面的优势正在以越来越快的速度丧失。
既然说到这,有一个东西是不能不说的,那就是Notes,以前在学校的时候的确没听说过这玩意,第一次接触到是在华为,人人都有一个帐号,大家的交流主要通过Notes邮件,包括会议统治,使用是如此频繁,以致很多经理从上班一打开Notes,不到下班走人是不会关闭的,他们的耐心真的很好,可以忍受由此而降低的系统效率,要知道Notes也是和臭名昭著的WORD一样,都是吃内存的好手。华为的Notes系统已经很庞大了。但一直不清楚是哪些人来维护的,但自己想大概就是那些秘书小姐们吧,从此自己的印象就是Notes就是秘书小姐们做的,做Notes的就应该是她们。:),后来又回到武汉,才发现Notes的应用其实相当广泛,国内几乎所有的办公自动化都是Notes做的,做Notes的也几乎都不是秘书小姐们。和Notes比起来,ExchangeServer真的还只是个小弟弟,不过伪软家的小孩长得都很快的。
以前小时侯我们总说是沐浴着什么什么成长起来的,那么作为程序员,我们现在可以说是沐浴着Borland而成长的。以前在一些文章里也提到过多次Borland,作为一个中国的程序员,自己真的很同情Borland,因为从TC2.0到BC++5.0,几乎用过它的每个版本,但没给过Borland一分钱,所以在同情之余,应该还有点内疚,不只是自己,我想中国的程序员们都要有这种想法:)。BC版本到4.52都一直是最优秀的C++编译器,Borland停止继续开发BC是明智的,目前即使在国内,除非是要维护以前的老版本,是没有人再继续使用BC的。
说起Borland真是很无奈,因为它的东西最开始的时候总是最好的,但慢慢的结局都是一样,被淘汰。BC是很好的例子,很不幸地,各种各样的迹象表明Delphi很可能就是下一个被淘汰的对象。Delphi2很不错,所以吸引了一大批原C语言程序员。Delphi3依然很经典,但到了Delphi4就开始出问题了。Borland如果想要和伪软竞争,就不应该想着怎么和伪软去比大和全,它没这个精力和本事。恩,发现了,Borland的东西版本到3就是快到极限了。。。好可怕。这样看来Delphi,C++Builder都快不行了。。。
Delphi真的很好,但自己不想陷得太深,BC就是前车之鉴,所以每次用Delphi做的都是自己的小玩具,以后也不用维护的。如果是正儿八经的西,我还是会用VC去做的。
Borland当然已经不叫Borland了,不过出于对它的怀念,我总会叫它Borland而不是什么Inprise。
网络的发展速度甚至超过了你眨眼的速度,自己的网络知识起源于教育网的开通。网络的发展现在正处于混战,我觉得以后一种比较理想的应用程序模式就是Web化(条件是网络速度足够快),未来的软件应该不存在客户应用软件的说法了,客户就只有浏览器,浏览器就是操作系统,客户一边下载一边使用,当然下载的都是一个个功能独立的模块。这样的好处就是大家再也不用为应用软件的版本更新而头疼了,软件公司也省去了庞大的售后服务费用和销售费用。而且这样对回收资金也是很有利的,不给钱就不让访问。加强服务器的安全性总比在软件上做上一大堆的加密措施来得方便、简单和有效。
……