焦虑的时代,如何让自己不焦虑更幸福

在这个很容易让人焦虑的时代,我们如何才能活的更美好?在这个很容易让人焦虑的时代,我们如何才能活的更美好?丹云琴百家号这是一个很容易让人焦虑的时代,房价高,房租高,物价高,对象难找,要求还高——有房吗?有车吗?有存款吗?看到别人都有房了,有车了,事业有成,家庭美满。而自己却没钱,没合适对象,还一事无成,能不焦虑吗?现实是如此的残酷,理想是如此的遥不可及。面对这样的处境,我们该如何做,才能活的更美好?我认为首先最主要的还是要摆正心态,认清自己,认清现实,承认目前的自己。有句叫做’“先求生存,后求发展”,生存肯定是第一位的。不要因为对自己目前的工作不满意而自卑,更不要因此而失落,不高兴。相反,我们应该珍惜我们目前在做的事,因为它是目前唯一能给我们带来收入的事,它能供养目前的我们。理想是美好的,但不珍惜现在的自己,理想就会更加遥远。虽然对现在的工作和生活不如意,但其实你还是要好好对待它们。换种心态去工作,认真地去做你目前在做的事。对待同一件事,不同的态度,收获肯定不一样。你三心二意的做你的工作,抱着应付的态度,你的收入肯定不会增加,自己也不高兴。那么何不认认真真地去做呢?虽然目前的工作可能很平凡,但如果你努力把它做到最好,升职加薪也是有可能的。最主要的是你对目前的自己有了个交代,你努力了做你的事了,心里也会感到充实自在。现实和理想看起来是矛盾的,其实也是可以并存的。现实是我们正在经历的,而理想则是未来的事,是不可能一下子就实现的,要靠每一天的不断努力得来的。先做好你现在做的事。如果你有理想,可以每天拿出一个小时(或更多)的业余时间去学习、研究、实践。如果你真的努力了,方法也都用了,关键是你真的能坚持下去的话,实现理想的概率是非常大的。现在正在经历的也是你生命中的一部分,虽然不是很理想,但为什么不好好地做好现在正在做的事,快快乐乐地过好现在正在经历的每一天呢?人啊,会焦虑,其实就是个人的心态问题,个人想法的问题。想通了,想明白了,心态好了,其实任何时候你都可以活的很美好。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。丹云琴百家号最近更新:简介:本人有丰富的领域写作经验。作者最新文章相关文章今天,你焦虑了吗——变革的时代如何做到不焦虑有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。焦虑,想来这个词大家应该不陌生吧。有些人或许会喊出来:啊,我一直有一种很别扭、浑身不自在的感觉,原来就是你所说的“焦虑”啊。虑,是为思虑,《三国演义》中司马懿说到诸葛亮命不长便说,诸葛亮一生谨慎,凡事思虑过多;焦呢?炒菜炒焦了,对,就是那种状态。所以焦虑,思虑带焦了的程度,可想而知那种担忧的状态。毫不夸张的说,这是个全民焦虑的时代。北上广深的年轻白领扛着房贷车贷,每天过得战战兢兢,对工作或许不满但却不敢相信轻言辞职;更年轻的刚出校门的社会人,一线城市房租不断上涨,实在很难做到不月光,过着蝼蚁般的生活。高管们焦虑着今年的任务如何完成,自己的高薪能否保持,员工明天会否递来一份“世界很大,我想去看看”的辞职信;老板们焦虑着这个月的写字楼租金要交了,员工的工资很快就要发了,但是客户的帐这个月还不确定能否收回来。大人们看着自己今日之境况又为自己的小孩报了几个培训班,不赢在起跑线上怎么行?小孩周末拖着疲惫的身体赶各种培训班,心想周末怎么比上学还累。女孩们周五下班后在大马路上执拗地走着,路灯将身影拉长更显得寂寥,有爸妈的家在远方,身边的另一半依然没遇到,不禁思考着在这座城市打拼的意义;男人们驱车至家,摇下座椅,放了首古典乐,身上的枷锁仿佛在此刻在得以卸下,晋升看不到希望,自己曾经的理想已经在脑海中模糊。那么,究竟出了什么问题?为什么连空气中都到处弥漫着焦虑的气息。以前的时代或许也会有压力、忧愁,但总不至于如此,现在的节奏实在是太快了!我认为技术的发展毫无疑问是一个重要的原因,当然在这里不是说技术不好,而问题可能在于人们面对技术的态度。互联网技术的发展把全球连接了起来,虽然我们仍然每天两点一线的往返于公司与家中,但这世界不同角落发生的事情此刻就与我们息息相关了。你紧张地关注着中美贸易争端的最新进展,你也为王宝强戴绿帽子感到愤慨同时为马伊俐的婚姻感到惋惜,当然了,某茅药酒让你恨不得写篇檄文声讨之。如果前面这些都还只是你茶余饭后的谈资,是彰显你雅俗共赏品味的话题,那么某拜单车创始人套现几十亿,某你经常光顾的快餐档老板已经在这城市买房了,你朋友圈某个同样毕业六年的同学,有房有车有妻,此刻正在某海岛上阳光沙滩,你后悔自己加着班为什么还要去刷朋友圈。所以你看到没有,在移动互联网高速发展起来之前,这世界仍然每时每刻都有不同事情发生,也有很多比你成功比你幸福的人存在,但那时你没看到,所谓眼不见为净,但是现在各种资讯遍布各种网络与app,长在你手上的手机让这一切触手可及。幸福源自比较,这时无疑便放大你的焦虑了。现在的你越来越没耐心了,滴滴让你离开公司到写字楼楼下就有车坐,你现在打不到车等一分钟的焦虑胜过你以前打半小时才打到的士的焦虑。现在的你发微信对方没回便让你感到心神不宁。看到这里你明白了吗?问题不出在技术的发展而出在你对自我的定位上。事实上不论你焦虑与否,都无法让你的现状变得哪怕更好一些,焦虑源自你目标的缺失和对自我的不自信,你犹如飘在大海上的小船一会儿向东划,一会儿向西划,而你心里始终没底,不知道哪个方向才是成功的彼岸。是的,你缺乏明亮的灯塔的指引,自然就没了清晰的路径,如此你如何自信呢?当然,如果你自信你可以通过自己的智慧与努力达成成功,那么你可能会思考如何判断方向,凭借过去的经验和以前对他人的请教,你在心中有了灯塔,而他将指引你到达目的。在这样的年代人们普遍缺乏聚焦的能力,信息泛滥,到处花红柳绿到处灯红酒绿,你到处拈花惹草试问何以摘得幸福果实?自动屏蔽信息应该是我们必须训练的能力,对于外界不重要的信息我们要自动过滤,去关注那些只会让你不堪重负且干扰你对重要信息的关注。有什么秘诀吗?写到这里,我的灵感突然告诉我,我喜欢做的一些事情恰好有利于我过滤聚焦能力的培养。比如我喜欢喝茶,我会洗净茶具,煲水拾茶,而后水落香溢,关公巡城,韩信点兵,三杯茶摆在面前,此时我的头脑与心灵是自由的。比如我喜欢听古典音乐,连歌词都没有,也不存在流行爱情乐的“你伤害了我”我又坑了你,然后就是要死要活的了,古典乐只有音调、韵律与音符在空气中跳动,这时我的头脑与心灵只是属于我的。还有看书,与充满睿智的作者交流,文采飞扬,逻辑严谨、论述恢弘,这时你说外面的八卦关我什么事?当然了,“变化”也是当下社会的主题与常态,技术不断发展,知识不断更新,全球都日新月异的发展着,所以我们内心存在紧张、惶恐与不安全感不也是很正常吗?变化是一种常态,焦虑也是可以接受的,意识到这点,你是否内心便有所释然?当然,不论如何变,你对自己有清楚的定位和自我的认知,并且有略微清晰的目标比什么都重要。至于过滤与聚焦的训练,没事你不妨找我,喝茶听乐读书。0添加评论分享收藏Only Creation Can Develop The World!
第十章 令人焦虑的时代
"通向未来之路在哪里?"时间进入2000年之后,许多事情变得似乎都不确定了,世界经济的走向和信息技术的趋势变得更令人困惑。在经过了Internet/Intranet、Linux和Open Source的洗礼之后,目前信息技术的发展似乎已经趋向多元化的状态。虽然许多的信息系统仍然在使用我们早已熟悉的技术(例如Web和主从架构),但各种新的信息技术也在层出不穷地出现(例如SOAP和Web Service),再加上.NET和Java两大平台之间逐渐升温的战火,让许多软件开发人员眼花缭乱,继而心生疑惑--"自己未来的前途到底在哪里?"其实,信息人员产生这样的疑惑是很正常的。因为信息技术的发展到达了前所未有的阶段,不但各种程序语言之间掀起了混战,操作系统平台、虚拟执行平台、开发工具、组件模型等都兴起了热战。而虚拟执行平台让跨平台模糊了以往壁垒分明的开发领域,程序语言的多样化稀释了原本由数种语言瓜分天下的态势,而Web和多层架构又逐渐瓦解了传统的信息架构。这些信息技术的多元化发展,不但让传统的开发人员面临难以抉择的命运,虚拟平台、程序语言和信息架构等众多的组合变量,也让开发人员顿然之间感觉负担沉重,担心自己已经跟不上信息发展的快速脚步,那软件开发人员的未来到底在哪里呢?信息技术多元化的发展和许多人的工作一样,也许你还在使用Delphi/C++Builder开发主从架构或是Web或者一般的应用系统,又或许是使用JBuilder开发Java应用系统。总之,你可能已经熟知目前所使用的技术,并且大量地应用在日常的应用系统中。但是,身为软件开发人员,必须了解软件趋势的发展,必须随时注意新的软件技术,因为唯有不断地增加自己的附加价值,才能够在这个竞争激烈、演进快速的产业中生存下去。其实从整个软件技术发展的趋势中,细心的软件人员已经能够看出未来的方向。在软件开发的过程中,每一个时代都有主导的软件技术在影响着当时的产品以及软件公司的兴衰。当然,能够掌握软件趋势的人或是公司也都获得了成功。从下图中我们可以看到,在不同年代中不同的信息技术掌握了当时的主宰力量。60/70年代是由数据处理和程序语言独领风骚,到了80年代便由数据库当家作主,90年代各种组件和中间件又主导了系统架构。但是从60/70/80/90年代的软件技术来看,每一个时代都是由一个点的信息技术来主导。不过在Internet/Intranet时代,面向对象和Modeling等技术对于信息系统的影响愈来愈大,信息技术的演进逐渐从点形成了面,上图就显示了在2001年之后主要的软件力量来自平台的整合和竞争、以及全方位的软件技术。其实,作为软件人员,我们也可以从自己的信息生涯中咀嚼出这个趋势,问题只是在于有没有花时间进行自我思考。数年前的软件人员可能只需要了解程序语言即可,例如只需要会C/C++就可以找到工作。那时数据库也几乎属于专门的技术领域,当时的DBA只要会管理数据库就行,因为还有许多专门写SQL的程序员。但随着时间的推移,软件人员开始需要同时会程序语言、SQL以及管理数据库。接着又需要了解组件技术、Web技术、终至面向对象和Modeling等技术。为什么对软件人员的要求会愈来愈高?这是因为整个软件的发展趋势正在走向信息技术整合的道路。未来的软件趋势是走向软件和系统整合,这代表着软件人员必须知道得更多,掌握更多的技术才能够顺利迎接未来的挑战。唯有掌握每一个独立的软件技术,软件人员才可能有能力拥有系统整合的能力。从许多的观察、分析和统计中,我们可以抽离出下面这些最重要的软件技术或是软件特质。这些技术需求和软件特质是未来成功的软件人员都必须具备的,唯此才能够持续地在竞争愈来愈激烈的软件业中保持高度的竞争力。■ 了解多种程序语言■ 熟悉更多的系统架构■ 面向对象和UML模型技巧成为软件人员的基本要求■ 快速学习和开发的能力■ 精致化的开发能力对于上述的技术和特质,许多读者会认为这本来就是正常的事项,为什么还需要在这里再次提出?这是因为其中许多的事项由于时空因素的关系,不是有了新的意义,就是有了更大的压力。在本章和第13章中我会分别做详细的说明。软件人员在发展本身技能并且了解信息技术发展的趋势之时,当然也需要了解目前各种软件平台和软件领域发展的状况,以便规划本身的发展方向。目前,如果我们以平台作为分类的标准,便可以概略分成UNIX/Mainframe、Windows、Java以及.NET四大平台。由于未来趋势的演进,在这些不同平台中的软件人员也会有不同的境遇和发展。不过总体来说,UNIX/Mainframe和Windows平台的前景都属于逐渐下滑的趋势,其原因就在于这些平台已经处于成熟、饱和或是即将由新的平台所取代。如果仔细观察Java平台,可以发现它已经开始进入爆炸成长期。事实确实如此。Java在历经了数年的奋斗之后,的确开始在全世界开花结果。Java除了在美国和欧洲快速占据市场之外,在亚洲也开始快速崛起。例如Java在台湾的表现一年比一年好,不但使用Java的人数增长了许多,Java的开发工具(例如JBuilder)也一年比一年卖得好。JBuilder已经隐然有和Delphi/C++Builder分庭抗礼的趋势。也由于Java的势力日盛,因此Java软件人员的身价也水涨船高。更有趣的是.NET的发展。虽然.NET在2002年才正式推出,但是许多的分析和预测都显示了.NET的发展将不会像Java一样需要花上6/7年才达到一定的高度,.NET的脚步将快上许多。从上图中我们也可以看到.NET平台的趋势已经处于温和上升的状态。根据Microsoft最新公布的信息,到目前为止,全世界已经有4千万台的PC安装了.NET的虚拟执行环境。估计在2003年,Microsoft推出下一代的操作系统Microsoft .NET Server之后,将有为数更多的PC安装.NET虚拟执行环境。当然这也代表了.NET的时代可能会比我们想像中更早到来,这同样预示着.NET软件人员的需求会开始浮现。根据Gartner Group的调查显示,以后的信息势力会由Java/.NET平分市场,最有可能的结果是Java将会称霸中/后端以及UNIX/Linux/Mainframe市场,而.NET则可能控制客户端、Microsoft的行动消费端,并且逐渐朝向中间件攻城略地。未来更有可能通过Intel/AMD高阶CPU的计算能力以及Microsoft的.NET Server而在原本由UNIX控制的低/中/高阶工作站市场取得一定的优势。下面的分析图更是显示了四大平台之间势力消长的情形。.NET将很快取代Microsoft原本的DNA架构而成为Windows平台下的企业系统核心技术和架构。我认为这个现象是合理的,但是更有趣的问题是.NET何时将穿透Mainframe和Java平台呢?看完了平台之间的竞争后,再让我们看看2002年应用程序开发种类的趋势。应用系统分布趋势每一位读者实际开发的应用系统种类可能都有不同。有的读者可能是开发MIS应用系统的,有的可能在开发Web解决方案,也有读者是在开发分布式应用系统或是低阶的系统软件、嵌入(Embedded)式软件,或者驱动程序系统。不管读者主攻哪一种信息系统,了解整个信息产业的开发分布状况都会是很有帮助的,因为这些信息有助于信息人员准备和规划自己的职业生涯,了解整个信息产业的走势。下图显示了2002年信息人员开发的应用系统种类统计结果。从图中可以看出,主从架构仍然是第1名,如果结合数据库的开发,一共拥有24.8%的占有率。同时我们也可以看到,Web的开发几乎已经超过主从架构,估计到了2003年,Web开发将超越主从架构,成为最流行的应用系统开发种类。在Java和.NET企业平台愈来愈有影响力之际,未来最重要的系统种类是什么?其实答案已经相当明显了,那绝对不会是低阶的系统种类,而是多层架构、Web/Web Service系统、组件系统等应用。各位读者可看到了未来所需求的人才?组件架构使用趋势Java的EJB和Microsoft的COM+都想在企业市场竞逐,成为企业对象应用系统的核心组件架构。但是EJB和COM+却选择了两个不同的发展方向。对于EJB,SUN只是定义出其标准功能规格,再由各个EJB厂商根据标准EJB规范来开发EJB服务器。而COM+却是由Microsoft定义标准规范并且自己实现。正由于EJB和COM+采取不同的策略,因此EJB获得了较多厂商的支持,推出了许多不同的EJB服务器,但是COM+却凭借着内建于Microsoft的操作系统而拥有较多的使用者。目前EJB的功能规格已经发展到2.x版本,Microsoft也准备推出COM+1.5版。SUN和Microsoft推广了许多年的EJB和COM+,到底这两个组件架构在业界被使用的状况如何?两者是不是雷声大雨点小呢?根据去年调查的结果显示,EJB的确已经开始在企业生根,已经有19.3%的企业在使用EJB技术;另外有15.3%的企业准备开始使用EJB。这个趋势和Gartner Group对于EJB的预测非常符合,估计到了2004年,有40%左右的企业会使用EJB。从这个现象来看,EJB实在可以说是已经成功了,其实用性也获得了证明。台湾EJB的实用性正日渐普及,许多的大型企业、ISV都已经开始使用EJB作为关键企业应用系统的核心技术,EJB的人才需要也日渐升高。由于COM+是内建在Microsoft的Windows的操作系统中,理所当然地其使用率应该是不低。只是COM+的前身COM/MTS等由于其延展性受人质疑,因此使用COM/MTS作为企业核心技术的并不多,大多数是使用COM作为客户端的可重复使用软件组件。但是COM+推出之后,由于其执行效率和延展性都大幅精进,再加上Microsoft在TPCC上显示的惊人效率也都是使用COM+组件,因此COM+逐渐打入企业市场,成为Windows平台核心的组件架构,被许多企业的应用系统所采用。根据2002年调查结果显示,COM+使用率已经超过了34.5%,同时还有13.9%的企业有兴趣采用。Microsoft在努力推广COM技术数年之后终于有了一定的成果。不过Microsoft现在面临的挑战是.NET对于COM+的影响,由于Microsoft的平台正从原生窗口转换到.NET的阶段,许多人也开始困惑起来,.NET中的组件架构仍然是COM+?还是有其他的组件架构来代替?如果.NET仍然要使用COM+作为组件架构,那么纯.NET的开发工具又无法开发原生的COM+组件,如此一来在.NET中COM+不就又不是First Class的组件架构了吗?如果纯粹使用.NET的组件,那么纯.NET组件的延展性尚未经过实际的验证,也不提供Two-Phase Commit和分布式Commit的能力,又如何能用来作为企业应用系统的核心组件呢?看来Microsoft在这方面还有很长的一段路要走。CORBA呢?在EJB/COM+的强攻之下,CORBA似乎失去了原有的光彩,但是不可否认的是,CORBA仍然是架构/服务最完整、经过最长时间验证的组件模型。根据2002年的调查结果显示,CORBA仍然有相当数量的使用率,而且未来也仍然保有稳定的使用率,可见CORBA仍然受到相当的欢迎。随着Microsoft .NET的出现和成长,CORBA似乎反而可以在.NET平台有更大的潜力,相关的讨论请参考下一章"EJB对抗CORBA?有趣的假设"。信息技术到了现在的阶段可以说是"平台逐渐整合,但是程序语言则呈现百家争鸣的情形"。再加上UML等Modeling的技术和软件愈来愈贴近软件人员,数据库和SQL技术更已经成为软件人员最基本的技能,因此软件人员本身也自然朝向身通18般武艺的阶段。只是好的软件人员耍起来虎虎生风,而一般的软件人员在愈学愈多的情形下则一无精通,到最后反而是害了自己。回到前面的问题,目前的信息技术的确是朝着多元化的方向发展。太多的技术、产品、架构、程序语言、数据库、客户端种类等技术,造成了许多软件人员的困惑和焦虑,这是很自然的现象。但是另一方面,平台在收敛,系统开发正走向整合阶段,对软件人员的要求也走向整合。因此,除了焦虑之外,软件人员在了解了软件趋势之后,更应该提出疑问:你准备好了吗?快速的开发周期上大学时,要学习系统分析和设计(System Analysis and Design)课程,正好看到一个统计,说程序员一天只写一行有效的程序代码,当时我简直乐坏了。心想一定要进入信息行业,又有高薪又有地位,更重要的是工作如此轻松,一天写一行代码,闭着眼睛都可以做到。没有想到,在真正进入了信息行业之后,情形却大为不同。不但工作繁重,每日更需撰写成百上千行的程序代码,这哪里是一天写一行的日子?不禁心生感叹,自己似乎入错了行。所有的读者都可以感觉到,现在系统开发的时程要求得愈来愈快。我记得5/6年前,系统和项目开发的速度还是1年到1年半左右,到了3/4年前已经缩短成10个月左右,在Internet/Intranet快速兴起之后,许多系统和项目甚至缩短到了3个月就要推出的迫人时限。信息机构的调查显示,系统和项目的开发时程将持续地缩短,到了2012年居然只有一天的时程,这种超高标准的要求可能会吓坏许多的软件人员。不管这份调查的数据是否100%正确,但是从这份信息调查趋势以及我本身的经验来看,愈来愈短的开发时程却是不争的事实。面对愈来愈短的开发时程,软件人员应该如何适应?这是许多人面临的困扰。其实许多的程序语言、开发工具、软件工程都强调帮助软件人员提高生产力,以适应快速开发的要求,只是随着时程的要求愈来愈高,许多传统的程序语言和开发工具都已经呈现力不从心的现象。既然如此,那解决问题的方案是什么呢?数年前,业界对于软件开发的速度要求愈来愈快,这造成了软件品质的下降。许多软件在完善率尚未达到一定的水准下便仓促推出,造成了更多的问题,因此软件业曾经被许多人讥笑为"不可靠行业"。为了改善这个现象,许多软件工程技术相继出现,以求提高软件品质。其中最为突出的是以面向对象的各种软件工程,强调软件IC、可重复使用的软件组件为特质,以加快软件开发的速度并且提高软件品质。面向对象的大旗造就了3位面向对象大师,也让UML等模型工程独领风骚,进而让Rational公司成为近年来最重要的软件公司之一。不过几年下来,UML对于软件开发的贡献一直受到争议,许多软件人员对于UML过于复杂的流程和过多的UML图形产生怀疑,因此前一阵子又兴起了Extreme Programming的热潮,强调轻便、动态、快速开发的特性。其实这个现象正反映了软件业界对于开发"速度"的要求已经超越了过份强调软件工程流程的重要性。现在的信息业界需要的是"灵活的"开发速度。右边的图片明确显示了从2002年下半年起,许多企业和软件公司对于软件开发特性的要求,其中列为最重要的特质就是"灵活性",接着仍然是强调速度的ExtremeProgramming的特质。其实,这些对于软件开发的要求也正回应了上一张图形显示的对于开发速度的要求。我认为UML/RUP和Extreme Programming/Agile Development之间并没有冲突,反而是相辅相成的。对于大型、复杂的系统开发,UML/RUP仍然是目前为止最好的方法之一,只是需要适当的修正,不要过份强调所有的形式流程。而Extreme Programming/AgileDevelopment则特别适合中/小型系统,需要快速反应时间的开发要求。既然快速开发已经成为现在最重要的软件开发要素之一,那传统软件人员应该如何适应呢?其实这个原理也不难了解,答案就隐含在上图中Developer-Centric包含的意义。想想看,现在的许多企业是如何增加效率的呢?答案之一就是组织扁平化,尽量减少不必要的重复浪费。软件开发也是一样,软件工具应该尽量以开发人员为中心,让开发人员使用较少的循环能够完成更多的开发阶段,并且提供更可靠的软件。例如,新一代的开发工具允许开发人员在一个开发环境中,同分析/设计人员以UML的模型来沟通,并且能够在一个开发环境中撰写程序代码,以可视化方式检视程序代码的关系和可靠度,能够在相同的开发环境中进行单元测试、压力测试、负载测试,并且和测试人员合作。另外,在这个开发环境中也能够和开发团队共同进行项目管理和版本管理的工作。如此一来,开发人员可以在较短的时程内提供更高的生产力,缩减开发循环。当然,这意味着以后软件人员必须知道得更多、要求也更高,但是,这的确可以让开发人员更有效率,并且增加整个团队开发的生产力。面对要求愈来愈高的动态开发时程,身为专业软件人员的你:可准备好了吗?程序语言的战争从程序语言的发展史来看,数年前似乎就有统一的趋势。在商业应用上COBOL几乎是事实标准,在科学计算上Fortran有不可取代的地位,而C/C++则几乎垄断了大部分其他的应用。但是随着Internet/Intranet以及RAD工具的兴起,这个由数个主流语言掌握的局面很快被打破了。特别是在各种脚本语言(Scripting Language)和Java在Internet应用上逐渐取得了优势之后,各种新的程序语言纷至沓来,让人眼花缭乱,不知如何选择。程序语言战场在寂静了数年之后却突然陷入了前所未有的热战之中。其实,各种程序语言的不断出现,反映的就是以往的程序语言已经不足使用或是不适合使用在特定的应用中,因此才需要新的程序语言来解决问题。新的程序语言代表了信息应用的多样化,而以往由COBOL、Fortran、C/C++主掌的情势也被快速地打破。如今的软件开发人员可能必须同时熟悉数种程序语言,并且在不同的应用中选择使用最适当的程序语言。以Web应用系统的开发为例,看看目前这个最流行、最重要的应用系统是由什么程序语言开发的。在台湾地区,不可否认的是ASP绝对是最多人使用的解决方案,这是由于台湾大部分的Web应用都属于中、小型系统,而且Web应用系统分布的区域并不算广大,因此ASP就足够满足大多数的需求,软件人员选择的标准是好用、开发迅速的程序语言。但是,对于美国或是大陆这种幅员广大、并且拥有许多大型系统的应用而言,很可能和台湾地区的情况大不相同。那么,到底世界上的软件人员是使用什么程序语言来开发Web应用系统呢?对于这个问题的答案,我很有兴趣,因为可以拓宽自己的视野。下图显示的是信息机构对美国软件人员调查的结果,从图中可以发现使用最高的居然是XML,而不是ASP或JSP。不过XML、ASP和JSP这3者加起来占据了3分之一强,可见这3种程序语言是Web应用开发的主流。另外值得注意的是,虽然PHP最近声势不断地增长、并且拥有Open Source的优势,但是居然只占有4%的使用率。PHP的成长率很惊人,这在稍后也会说明,不过PHP要想在Web开发领域占有显著的地位,仍然需要多多努力。除了Web的开发之外,如果不注重开发工具的区别而纯以程序语言的角度来看,下图显示的就是目前针对程序语言所做的调查统计结果,Java、Visual Basic、C/C++和C#是目前4大主流程序语言。不过下图中的C#数字是指C#在2003年的表现,而不是在2002年的情形。图中的调查结果,显然和我国台湾地区以及大陆的情形有些出入。在台湾,Java正快速爬升,C/C++的影响力则持续下滑,而最大使用的程序语言应该就是Visual Basic和Object Pascal了。台湾地区的情形和大陆稍有不同,目前在大陆Java也是快速地兴起,不过尚未形成最有影响力的语言之地位,反而是C/C++仍然为大陆目前最有影响力的程序语言,Object Pascal、Java和Visual Basic则紧迫在后。根据CSDN网站统计的结果,目前各程序语言讨论的文章数分别如表所示。从右边图形和数字,我们可以了解在大陆使用C/C++语言的人数实在是众多,而Java已经超过了Visual Basic。不过未来的发展情形则更令人好奇,因为在全世界的C/C++都开始逐渐走下坡之际,C/C++在大陆的市场会不会也发生类似的现象呢?Visual Basic和PowerBuilder会不会持续下滑?Java何时会成为霸主?C#又何时会迎头赶上?这些问题都非常值得观察,因为这不但影响了各程序语言之间势力的消长,也代表着软件工作市场的需求和变化。有趣的是,在Windows和.NET平台上,程序语言正以前所未有的生气蓬勃发展,而且不同的程序语言间互相激荡、相互影响,再产生新的程序语言或是在原有的程序语言中加入新的机制以符合新的需求。但是在Java平台,却几乎只有Java语言,没有其他的选择。那么读者是喜欢单一程序语言的单纯,还是喜欢多种语言产生的灿烂火花呢?我个人是比较喜欢多种语言的,因为我认为,我们可以通过欣赏不同程序语言的设计精神和思想来吸收更多的知识和技术,通过不同程序语言彼此竞争的结果,可以嗅出未来程序语言的发展方向,这大概也是因为我从大学时就特别喜欢程序语言和编译器课程的结果吧。知己知彼,百战百胜就让我们以EJB服务器市场这个实际的竞争范例来看看信息产业是如何竞争和演化的吧。三四年前,当EJB市场开始成长时,许多软件厂商相继投入这个潜力十足的市场。当时,所有EJB厂商竞争的基准大概都是符合EJB规范、使用最新JDK标准以及执行效率最良好的EJB服务器。当时竞争的EJB服务器可以用满山满谷来形容,为什么呢?因为在这个阶段纯粹是以技术为决胜点,这个门槛并不高,拥有技术的软件人才多得是。因此,这个阶段中有眼光和智慧的厂商便了解到,光凭EJB服务器引擎是无法作为胜出的要件的,必须想办法增加竞争门槛以阻绝竞争对手持续逼近,或是增加"软件服务"以提供竞争对手没有的功能。到了EJB服务器竞争的第2阶段,逐渐胜出的EJB厂商便开始为EJB服务器加入各种服务,其中一类是以增加商业应用服务为主,例如Portal Service、ERP Service等。而另外一类则是以技术服务为主,例如分布式交易服务、安全服务等。由于这些软件服务的加入,在EJB服务器竞争的第2阶段便逐渐产生了EJB服务器的领先群,许多其他的EJB服务器厂商在眼看竞争无望之下自然地退出了市场,HP就是一个例子。现在EJB服务器市场又进入了最后厮杀的阶段,因为在领先群中的厂商大都提供了类似的服务。那么接下来要如何竞争呢?IBM很快就看到了关键点,那就是为WebSphere加入整合开发平台的能力。通过并购Rational取得Modeling工具和技术,IBM可结合原有的Java开发工具为WebSphere形成一个关键开发平台,同时吸引企业使用者以及开发人员为WebSphere形成的企业平台开发更多的客制化服务,以便为WebSphere形成势力强大的专属力量。这是WebSphere最大竞争对手WebLogic目前没有的优势。从EJB服务器竞争的过程来看,致胜的关键便是软件人员是否能够看到别人看不到的优势、并提供额外的服务。对于软件人员的发展,道理也是同样。大部分的软件人员都只注重在特定的开发工具或是程序语言中精进,但似乎都是随着别人的脚步而前进,少数软件精英除了在信息技术领域有高人一等的修为外,真正胜出的却是能够为自己增加附加价值、提供创造力的能力。就像JBuilder的Chief Scientist--Blake Stone,为什么他能够在年纪轻轻的情形下成为领导者?许多资历、年纪都比Blake Stone多的研发人员反而只能当工程师呢?很简单,因为Blake Stone更早地看到了JBuilder的发展趋势和竞争策略,掌握了Java开发工具发展的动脉,能够为JBuilder开发团队提供更多的价值,再加上坚强的技术实力,终于成为家喻户晓的Java天才。我一直认为任何软件技术终将被大众所熟知和掌握,就像数年前的主从架构一样,因此光凭借技术并不能让人领先多久。反而是通过平日不断培养的眼光和趋势、再加上专业的技术才能够让软件人员保持在领先群中,并且掌握软件趋势的动脉。拥有这种特质的软件人员能够不时的提供服务,不时地为团队提供持续的创新力,自然也就能够百战百胜了。结论人类对于新事物的害怕,通常都是由于对新事物的无知所引起。同样,软件人员对于未来的困惑和焦虑则来自不知如何是好,这也是对于未来趋势发展的无知所引起。本节中,我们通过分析、观察和统计了解了以往、现在和未来软件趋势的发展,当事实的走向豁然开朗之后,困惑和焦虑不再重要,软件人员反而应该反躬自省地自问:面不管Java和.NET两大平台之间的战争如何,不管哪一个软件组件或是程序语言会获得最后的胜利,世界对于软件系统快速开发的要求不会因为那一方胜出而改变,软件人员必须准备好面对这个趋势。想想,JBuilder以每半年一个新版本出现,Java JDK和.NET也几乎以1年半之间推出两个版本的速度在彼此争战之中,连传统的开发工具现在也几乎以一年一个版本的速度出现。更夸张的是,Internet/Intranet的技术现在几乎每3个月就有一番新的面貌,开发人员应该如何自处呢?机会可能会降临在每一个人的身上,但是只有时时准备好的人才能够把握住机会,不让它从手缝中溜走。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 为什么焦虑症让人恐惧 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信