• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
yunhuasheng's blog
everything that we can't do now ,but future with our endeavor. springfield!
博客园    首页    新随笔    联系   管理    订阅  订阅

CTO专访:坚守还是追新,开发者如何应对新技术暗潮

新技术新编程语言不段涌现的IT界,有人说:"原地不动就是倒退",如果不能熟练掌握两门以上的主流编程语言或技术,被社会淘汰就是迟早的事。因为微软体系,网上很多学习资料,而且大量的企业应用是用微软技术开发的... 某企业管理软件开发公司CTO 吕建伟(www.csdn.net)
在新技术新编程语言不段涌现的IT界,有人说:“原地不动就是倒退”,如果不能熟练掌握两门以上的主流编程语言或技术,被社会淘汰就是迟早的事。也有人认为“一招通吃遍天”,只要精通掌握一门语言技术,同样可以成为IT职场中的香饽饽。同样的,面对层出不穷的新编程语言,有的开发者放掉了自己已掌握的而改学新出现的语言,例如Ruby,Elang,Scala;而更多的开发人员选择了坚守,对正在使用的语言技术深度挖掘,积累更丰富的经验。

如果你的目标是成为一名架构师,在面对业界眼花缭乱的技术/语言时该如何做出选择,CSDN本期“专家看台”专访了某企业管理软件开发公司CTO 吕建伟。吕建伟具有10年企业管理软件商业开发运营从业经历,曾任某中型软件公司首席架构师、微软Vendor商业咨询顾问、Borland特约顾问、CTO。多年致力于企业管理软件开发过程管理、产品框架、行业发展/技术发展/产品竞争的研究)。他将就有关话题与大家一起讨论,分享他的观点。

吕建伟首先表示,自己是做架构师出身,虽然现在已经脱离了架构,身在CTO位置上,主要关注产品战略发展、开发过程管理、产品Framework、IT行业发展变化、新产品新应用新盈利模式、客户行业变化、竞争者变化。但自己对当前流行的热门技术还是一直在跟踪。虽然考虑到作为公司长期赖以生存的产品和竞争策略,很多最新的技术不能迅速应用到产品开发中。但对新技术成熟度和切入点的考察,一直是他关注和感兴趣的问题。

记者:如果是想成为一名架构师,在面对业界眼花缭乱的技术/语言时该如何做出选择?

吕建伟:我首先为大家画一张图,对当前IT业界主流技术做个架构分层。


从这张图可以看到,每一个技术都是在各自的层次上做了适当发展,而且都是为了弥补本层现有产品和架构的问题。吕建伟首先提醒,对于未来想做架构师的朋友,不管是学习.Net,Windows,SQLSERVER,从现在开始一定要有架构的思路。要分层,从点到线,从线到面,从面到体系来横竖切分。

而且一个产品架构,也往往是这么多层,而且在应用软件架构上,也就是:表现层、业务层、数据层。其他我们都是利用的中间件和VM和OS的现成技术,我们本身一般无须深入。而表现层、业务层、数据层,层与层之间都有接口层,而不是硬性接口,否则就成铁板一块了。一般架构经验不足的架构师,往往容易出现这样的毛病,层是分开了,自己沾沾自喜,以为这个架构是很有扩展性的。但具体一应用,就发现很硬,动不了。这就是缺乏接口层的原因。

记者:通过你的讲解,大家对当前主流IT架构有了大概的了解,但是光有这样的图,大家好像还不解渴。对于一些刚出道新入门的朋友该如何从中选择,究竟是精通一门语言技术,还是掌握两门语言技术,哪个才更有钱途和前途,才能更好的找到工作。这是大家目前更关注的问题。想当架构师,那是遥远的梦。必须先把温饱问题解决了。

吕建伟:对于这个问题,要看个人的具体情况,需要分开来回答:

如果你的学历和能力,只能进入一般的软件公司或集成公司,那么选择微软的技术体系不错。因为微软体系,网上很多学习资料,而且大量的企业应用是用微软技术开发的,而且很多公司也用微软技术。所以公司多,你好找工作。微软的技术一般固定:C#+Asp.net+SQLSERVER+Visual Studio。

如果你的学历和能力,能进入做大型企业应用的公司,那么你就选择JAVA的技术体系。因为现在大型企业,基本都用JAVA开发。你可以从eclipse、structs、hibernate、WebService、Tomcat、Apache、JBoss、POJO、Oracle开始学习,然后再学习WebLogic、WebSphere、Portal技术、工作流技术。

如果你想进入互联网公司或web2.0创业公司。那么一般Php、Mysql、Apache、Ruby on Rails、Python是你的学习目标。

如果你想进入手机开发,那么Symbian和C++(Nokia,市场份额最大)、J2ME(android产品,google发布,还未正式生产,但应该很有前途)、Windows Mobile(微软,好开发,从开发思路到工具到语言,都是你所熟悉的)。这三类短期内会三者鼎立,谁也不会把谁干掉 。至于5年之后,就不好说,至少5年内,是手机时代,是手机无线时代,每个厂商都在争抢这一块未来最有钱途的肉。

如果你想进入目前炙手可热的网游公司。做服务器端,你得C++过硬、网络传输技术过硬、并发线程处理、了解Linux编程要和了解windows编程一样深入。如果你想做客户端,那么图形图像处理算法你得首先过关。当然,现在很多引擎、工具、AI包、材质库、脚本减少了不少客户端编程的难度。

如果你想进入现在已经未来10年内一直很热的嵌入式编程,那么C++,而且你的单片机编程你得过关。中国是世界第一制造大国,而且这种局面在5-10年内也很难改变。制造,过去比谁的工人成本低。但是现在材料和人工的增长,使制造压力巨大。就只能提升自己的制造能力。

制造高尖端的产品,就需要高尖端的流水线。而且,中国的电子产品也越来越强大,日本产品从最初的独霸中国,渐渐变成了中国国货的天下。在手机上、数码相机上、家电、冰箱、DVD、空调、汽车、交通、医疗、数控,等等,很多领域需要嵌入式编程。就连咱们的嫦娥一号也是嵌入式编程的典范。华为、中兴这些通信设施也是嵌入式编程范围。

当然,你也可以剑走偏锋。过去是Notes编程,随着国产OA的兴起,Notes编程渐渐衰退。但是,中国现在大型企业都在上线ERP,而且大多用的是Oracle或SAP的ERP。这些ERP产品,都提供了客户化定制编程开发环境,提供了完备的应用API。大型企业应用ERP,都需要定制化开发,大量缺乏这类人才。但是,市面上这些学习资料都非常少,这是个难题。

另外,现在的外包也非常热,各地建立外包园,就跟当年建立软件园一样群起。想进入外包公司,首先日语或英语需要过关。咱们国家的外包,一般来自日本和欧美。在开发中,一般也是三种语言的主流:C++、C#、JAVA。

总之,我们说了很多开发技术以及语言,其实是各个量级的语言是相类似的,学习了一种,其它几种都很类似。我看开发语言,一般分为:核心底层开发语言、业务运算层开发语言、脚本层开发语言。核心底层,一般C/C++使用最广泛,毕竟大量操作系统和硬件驱动都是由C/C++编写,从性能到控制深度和力度都有保证。在业务运算层面,C#和JAVA为主流,分别代表微软和非微软阵营的两大技术体系。Delphi、VB也是在业务运算层面工作,但毕竟现在不为这两大阵营厂商主流力挺(一项技术的广泛应用,不仅在于这项技术的革新性,也在于支持它的公司的业界推动。)。

在脚本层面上,过去的ASP,现在的Perl、PHP、Ruby、Python、ASP.NET都是在脚本层面工作。每一层面上的开发语言都互相借鉴竞争发展,所以你现在会看到JAVA和C#越来越像,Ruby on Rails一出,立即在其它脚本语言上立即出了开源社团支持类Rails框架。

所以,从以上分析来看,C++、C#、JAVA,都是当今的主流。都在各方面都应用很广。你选择哪一类都会有很多的机会和空间。但如果你学了C++,又怕以后碰不到C++的工作,还要学C#,还要学JAVA,那么你终将一事无成。

记者:根据你的观点,开发者必须先在掌握一门语言技术的基础上再考虑学其他的新技术。但开发者有可能担心自己学到的是过时的技术,不被社会承认和接受,对自己未来发展不利。对于最新的技术,开发人员该如何适时跟进呢?

吕建伟:其实,现在的技术都是在弥补和改进它所致力解决的问题域的现状,真正的技术革命并没有产生(语义Web会是一个革命,但什么时候发生,谁会领导下次革命未知)。不管是最近的当红炸子鸡:Ruby on Rails,还是Google带起的AJAX,还是现在的FLEX和Sliverlight的争霸,都是在现状的改良。

不过,我们要看到的是,现在的互联网应用不管横插进许多3D互联网、3G手机终端新技术,但有个趋势是大势所趋,我们必须看到。


                                                    吕建伟近照

从XML、RSS、XMLHttp、Json、Google个人定制、Google API、SAAS、虚拟化、云计算、WebService、REST、SOA、脚本语言、Mashup的兴起,其实都在往同一个方向前进。那就是:Open API。

SUN总裁和Oracle总裁当年都曾布道:网络就是计算机。现在终于成真。

我们传统在WINDOWS下编程,其实WINDOWS内核我们一般是无法调用和接触到的,我们一般工作在API层面。所以,WINDOWS在程序员的面前,就是WINDOWS API,这就是我们通常的WINDOWS 编程。但是,在互联网上我们如何编程?我们过去是在一个个的制造网站,当网站密布全球的时候,URL连接把整个互联网串在一起的时候,互联网变成了一个地球巨型计算机。如何在这个巨型计算机上编程,是现在微软、IBM、Google都在致力研究和竞争的事情。

我们顺应大潮,踏准技术的脚步,就能参与到全球产业链中。

所以,一项新技术出来,我们先看它和现有技术的关联,看现在这些关联的技术到底共同特性是什么,看领导这些技术潮流的大公司的研究重点和支持力度,我们就知道业界技术潮流都在往哪个主流方向走。当然,在这个主流中,各个公司都会根据自己所处的竞争优劣势推出自己的产品,唱的论调也各有重点。不过我们无须眼花缭乱,因为它们都是殊路同归。它们要解决的都是一个问题
posted @ 2008-06-15 11:38  yunhuasheng  阅读(476)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3