一、Delphi投胎CodeGear,是福还是祸
记得刚上大学的时候,学的第一种基于Win32的开发工具就是Delphi(1996年前后)。那时的Delphi虽然在现在看起来很简陋,但在当时大多
数开发工具还处在类似Microsoft
C++的非可视IDE模式时,Delphi已经提供了所见即所得的开发环境。而且生成的*.exe是真正的本地执行文件。在随后的几年,Delphi的使
用逐渐升温,在图书市场上也出现了不少关于Delphi的编程书籍,Delphi也因此赢得了“VB杀手”的美名。
不知道Delphi是生不逢时,还是投错了胎。从2003年开始,Delphi在市场中的地位如雪崩似地下滑。这几年Borland公司也试图使 Delphi摆脱困境,但最终也没能使Delphi力挽狂澜,重现往日辉煌。。在多次叫卖未果后,Borland终于还是决定将以Delphi为首的开发 部门剥离Borland阵营而独立发展——这就是CodeGear公司成立的起因。
Delphi这个曾经为无数公司和程序员编织梦想的传奇开发工具就这样无奈地改了姓,也许我们以后应该叫“CodeGear Delphi”,而不是“Borland Delphi”。这次Delphi重新投胎CodeGear真的能使Delphi从此一路走好吗?
也许大家可能已经注意到,组成CodeGear的管理层和核心技术人员仍然是Borland的原班人马——这也许会给我们带来一些不安。 Delphi在 Borland时的失败在很大程度上就是取决于Borland决策层的失误,那么这次更头换面成“CodeGear”,就会使Delphi拨开云雾,重见 天日吗?
如果再过几年,CodeGear也重走了Borland的老路,那些仍然留在Delphi阵营的程序员恐怕还得受第二次打击,可能比这一次还严重。 如果到 时Borland和CodeGear都不行了,再加上Delphi并不是开源工具,当然也不会有开源组织负责维护。这样一来,Delphi可就成了没人管 的孩子。到那时,也许很多人还会受到第三次打击。不过大家也不必过分担心,据CodeGear官方消息,CodeGear已经恢复了原来的Turbo系列 开发工具,并且已经有了最新版的Delphi 2007,甚至还为Delphi家族增加了PHP支持,还宣称支持Vista下的开发。看来CodeGear可能要采取新的策略了。
二、国内Delphi程序员处境尴尬,他们的出路在哪里?
自从Delphi出了事以后,Delphi程序员的身价也随之贬值。我在网上看到很多人在讨论关于Delphi前途的问题,也有很多刚入道的朋友问 是否应 该继续学习Delphi,怕万一学错了,耽误个人前途!看到这些,心里真是感慨万千,毕竟我已经使用Delphi很多年了。虽然现在已经不经常使用 Delphi了,但对这个曾经引领我走进Win32编程世界,同时也是我工作后第一个使用的开发工具现在落到鸡肋的下场而感到惋惜。
虽然有很多人说计算机语言只是一种工具,真正的软件高手是不分语言的,他们可以使用高深的算法和底层的技术编写强大的软件。这些话从本质上来讲并没 有错, 这也正符合在数据结构课中经常使用的公式:数据+算法=软件。大家可以看看,这里可并有计算机语言的事。但事实上,只会算法对于大多数人来说可能并不容易 找到工作(当然,这些人只是会算法,并没有达到运用自如的程度,所以是高不成,低不就)。尤其对国内的程序员来说,选择一种开发语言可能意味着在以后的工 作中或是跳槽后都会使用这种语言,也可能会决定自己的职业方向。
然而那些曾经选择了Delphi的程序员可能现在并不好过。我记得在上个世纪未的时候,招聘Delphi程序员的广告铺天盖地,而现在明显已经不如
其他的 技术了(如C++、Java或.NET等)。如下表是国内主要的四家招聘网站上的数据,其中的数字是各种技术的招聘职位数。
各种技术招聘职位总数一览表
Delphi VC/C++ Java .NET PHP www.51job.com 54 139 529 821 112 智联招聘 164 2360 2292 2235 246 www.528.com 341 774 2312 1789 394 中华英才网 108 1127 1512 2123 175
从上表中可以看出,Delphi程序员的需求明显比其他技术小,甚至都没有动态语言PHP多。可见很多公司都担心Delphi在未来的前途,有不少公司可能已经转向使用VC、Java或.NET了。
也许看了上面的统计表,有的Delphi程序员会说,只有那些只知道一点皮毛,只会拖拖控件、连连数据库的Delphi程序员才会担心他们的前途。 而像我 们这样的Delphi高手是不需要有任何担心的。想一想前一阵子的熊猫烧香病毒就是用Delphi编写的,这些程序员的自信当然会促进他们的发展。但也许 他们忘记了,他们的所有技能都是和Delphi紧紧绑定的。也就是说,如果离开Delphi,他们将什么也干不了。因此,只是某一种开发工具(包括其中的 语言)的高手是不够的,要想在目前激烈的竞争环境中很好地生存,最好还要多学一些开发工具和语言,最起码要拥有快速学习的能力。就算某种技术还没有掌握, 只要有需要,就会在最短的时间内搞定。一个没有快速学习能力的程序员,就算某一种技术掌握得登峰造极也是毫无意义的。这是因为现在的IT技术实在是发展得 太快了,某种技术可能很快就被淘汰或更新,因此,必须要不断地进行学习才能跟上。当然,如果没有这种能力,那就可能是当初入错了行,这些人也许更适合会 计、文秘等更新不快的行业。如果你是这类人,趁着年轻,赶快改行吧!
三、选择“有前途”的开发工具真的很有“钱途”吗?
从上表的招聘信息来看,似乎是Java和.NET程序员的需求最大,其次是VC/C++的程序员,那么掌握了这些语言之后,真的能找到令自己满意的工作吗?
在这些招聘网站上除了这些直观的技术需求外,还有一个更深程度的现象。就是一般比较有实力的公司(如微软、Google、IBM等)在招聘程序员时 都是需 要C++程序员,而并未说明是VC还是GCC(之所以用C++,是因为C++在不同平台的开发工具很多,而.NET一般是指C#)。而实力一般的公司基本 都是明确地要求使用VC或是其他的开发工具,而且要求有一定的工作年限。如下面是一家公司的招聘信息。
要求: .优秀的技术背景,至少2年的软件开发经历。 .精通C#/ASP.NET,精通网站开发,能够独立在业务部门提供业务规则的前提下开发商业网站。 .精通SQL Server数据库,能够熟练建立数据库,操作数据库,
熟练使用asp.net 和 VC 等开发语言进行数据库开发。 .精通Microsoft Visual C++ 6.0,精通WINDOWS平台上的开发,能使用VC开发比较复杂的软件。 要求学历至少是本科。 我们可以从上面的招聘信息看到,已经明确要求使用Visual C++ 6.0。可能这些公司有自身实力的原因,希望招到的人很快就能上手。
这一点和一些大公司的招聘广告有很大的区别。如微软的招聘广告只写了要求应聘职位的开发人员熟悉C或C++,至于使用什么开发工具,并未提及(有微 软工程 院的招聘广告,感性趣的读者可以看一下:http: //research.microsoft.com/asia/atc/recruit/ejd.aspx)。这也充分说明了开发语言和开发工具是分离 的,只有理解并掌握了一种语言的精髓,使用起来才能游刃有余。
从上面的分析不难看出,虽然选择一种好的开发工具可能使自己更容易找到一份工作,但也许这份工作自己并不很满意,这可能是因为薪水偏低、工作太累、 接触不 到核心的技术或是培训机会少等原因。出现这种情况最主要的原因就是选择了实力不够的公司,当然,这也说明自身的实力还有一些问题。我曾听过不只一个人说自 己已经使用了VC多少多少年,对VC的各种功能已经了如指掌,已经成为一个C++高手了。我听了这些话感到很遗憾,这些人连VC和C++的关系都没弄明 白,竟然称自己是“C++高手”。在软件领域,这样的人还很多,他们虽然可以熟练使用某些开发工具,但其实并不真正了解在开发工具中语言的本质。如果这些 自称是C++高手的VC程序员看一看《Think in C++》,然后能拍一拍胸脯说“书里80%的内容我不需要看就掌握了”,那么这一类人还算是比较有前途。但事实上可能并非如此,这些所谓的高手们恐怕连 20%的内容还得很费劲地理解,因为他们是VC高手,而不是C++高手。如果有一天VC没有了,恐怕他们连怎么编译C++程序都不知道。
综上所述,只掌握一种或几种开发工具一般只能使自己找到一个工作,但如果要想找到更好的、更有前途的工作,就必须在开发语言上下功夫。如多看一些像 《Think in C++》或Think in Java》一类的书。熟悉一种开发工具可以让自己很轻松地使用这个开发工具,但真正理解一种开发语言后,却可以让自己随心所欲地使用这种开发工具,并且对 自己开发的任何程序都底气十足。当然,如果有更多的精力,也可以研究一些常用的算法,甚至数学。总之,对于即将踏入社会的新人来说,学习的顺序应该是:开 发工具—>编程语言—>算法和数学。毕竟毕业后先找到一份工作是最重要的,先安身,才能图发展。另外这个次序也适合有其他工作经验但想转行进 入软件行业的人。但愿大家能如愿以偿地找到自己满意的工作。