Explore. Dream. Discover.

Samuel Chen's life

Twenty years from now you will be more disappointed by
the things that you didn't do than by the ones you did do.
So throw off the bowlines. Sail away from the safe harbor.
Catch the trade winds in your sails.

Explore. Dream. Discover.
—— Mark Twain

2006年4月3日星期一

软件人,今天我们该关注什么?

本文April 03, 2006发于 SamuelChen.net

软件人现在该关注什么?企业需要什么样的软件人?

目前的软件开发趋势是语言简单化、趋同化、脚本化。实际上大家应该能看到一个这样的现象,那就是从C/C++到java/.net再到Script,软件开发的技术热点有着逐渐一个越来越简单、越来越重视功能实现的趋势。

馄饨时代,电脑远未普及,多数还是采用terminal的方式,主要是以shell为主,C/C+等各种语言兼而有之。个人电脑则是以apple为代表,其开发语言主要以机器语言、assembly和各种basic为主。

个人电脑普及早期,比较有代表性的cobal/fortran专注于个别领域(金融和科学计算),smalltalk是oo的一个尝试一个学术派的 语言,那么这一时代的C/C++则是同时注重于运行效率与开发效率,和机 器平台底层又有着紧密联系,从而在桌面为王的时代无往不利大红大紫;当然少不了优雅的被C/C++压制的Pascal。

WWW风起云涌,个人电脑普及后期,这一时期的代表语言/技术就是com/vb/java/.net,脱离了平台(当然本身即是平台或者固定于平 台),专注于快速实现,偏重于桌面,而又向Web发展,减低了对机器/系统的以来,但又需要自己掌控机器的相 当一部份;而脚本类的,由于unix的影响自始自终存在,但到这个时候基于web才逐渐有了比较大的影响。

目前,所谓的web2.0的时代,也就是基于web的分工、合作、沟通时代,更注重的是软件功能的创新和实现,如何更快更高效的建立起系统 是主要目标,同时所注重的是运行效率和网络响应效率,而如何增加用户美好的体验则是核心问题。这一时期的代表语言分为php/python/asp (c#/vb.net)/java等server端脚本语言/技术 和javascript/flash/servlet/activex(早期就有)等client端语言/技术。

java由于其自身的运行、开发效率问题,而主要存在于企业 web应用中;而.net单机开发已经完全比不上其针对web的开发和加强;另外由于价格上的优势,LAMP(Linux+Apache+Mysql+ php/perl/python)这完全免费的体系则脱颖而出,从而造就就了server端脚本语言的辉煌。

javascript作为客户端比较轻便的技术,加上近来红透半边天的ajax技术,基本上不存在敌手,flash/java servelet/activex 由于其笨重和需要安装,则逐渐减少了应用范围,只在少数地方出现。

那么,我们可以看到,软件开发技术的发展是由软件应用的发展所带来的。由单机到网络,再到网络协作,一步一步有信息孤岛走向真正的地球村。

在这个时代,Samuel 觉得现在更应该关注的是script类语言(包括php/c#/python/perl/js...),soa,rss,tag ... 这类的技术再加上framework。更多的应该关注于应用的创新,用户体验的优化,沟通协作的加强。

而在未来的时期,Samuel 推荐关注的领域是从web协同、信息共享而逐渐发展、明晰的,语义分析、信息识别、视频音频以及结合新一代的搜索引擎 这样一系列的技术。
当然,术业有专攻,不同的领域注重的还是有区别的,不可能要搞嵌入的也关注这些的,Samuel 在这里关注的是企业/民用、Web/单机领域。

最后,Samuel 想说的是,无论是个人还是企业,更看重的仍然应该是人的思维能力,创新能力,分析解决问题能以及团队合作能力。

ps. 本文是看到cnblogs Dflying Chen的 .NET方向高级开发人员面试时应该事先考虑的问题 一文,在讨论中所想到的。

有所感,有所发。

标签: ,

0 条评论:

发表评论

订阅 帖子评论 [Atom]

指向此帖子的链接:

<< 主页