【IT168 技术文章】
软件开发团体认为2008年是C++作为一个强大的开发平台重新获得尊重的一年。随着最近向多内核处理器的转变和类似SCA(服务组件架构)的SOA标准的加快应用,C++开发人员将很快在性能和整合方面做出重大的改进。
虽然开发人员经常考虑使用微软的.NET或者各种Java平台开发新的应用程序,但是,C++也是应用最广泛的重要应用程序开发工具之一。这个理由很简单,C++在许多应用方面仍是比较好的。软件开发人员要能够使用恰当的工具做工作。此外,由于最近推出的服务器使用多内核芯片和利用SOA开发,许多开发人员在2008年要以全新的眼光看待他们现有的C++应用程序。
市场研究公司Gartner副总裁Mark Driver称,Gartner应用程序研究团队在2007年收到的有关“我如何实现老应用程序现代化”的客户咨询比其它任何主题的咨询都要多。总的来说,企业需要更高的性能和更广泛地与他们现有的东西集成在一起。他们能够做的事情要比想象的多,特别是围绕多内核和SOA的技术创新。他们不需要从头开始。
Rogue Wave软件公司首席执行官Bart Foster称,2008年将是C++发展的一个拐点。随着支持多内核硬件和SOA的新的开发,C++将再一次获得企业战略应用程序组合中的同等重要地位。 Rogue Wave将继续投资开发企业需要的解决方案以开发C++应用程序中的新的潜力。
多内核过渡
ZapThink公司合作人和业内思想领袖David Linthicum说,到2008年,单内核服务器实际上将没有了。企业认识到多内核技术的重要性和多内核在近期的价值是不可避免的。当使用恰当时,多内核能为企业节省许多时间和金钱,显著提高应用程序性能。
许多企业应用程序是按单线程程序编写的,一次只能处理一个任务。采用多内核硬件,许多这种应用程序都遇到了障碍,不能利用多内核的优势。有时候,这种应用程序在使用多内核处理器的时候甚至还会降低运行速度。应用程序服务器等现有的技术能够帮助某些商业应用程序,但是,为了支持最新的多内核处理器,许多应用程序需要重新编写,使这些应用程序能够发挥多内核处理器的优势处理多项任务。重新编写这些应用程序耗费时间、有风险和代价非常昂贵。另一种替代的方法是使用工具消除多线程的复杂性,就像Rogue Wave制作的软件一样。
随着更多的单线程应用程序遇到问题和企业应用多内核技术(这种情况在2007年年底和2008年年初更多),机构将面临如何利用这种技术的艰巨任务。
当恰当地使用这种技术时,多内核硬件能够在消耗较少的处理能力的同时创造更大的灵活性和可升级的环境。然而,企业面临的最大障碍之一是从单内核处理器向多内核处理器的过渡。在未来的几年里,单内核处理器的数量将减少,这是企业需要能够利用多内核架构并且快速这样做的原因。
C++利用SOA技术创新
许多机构已经采用了SOA开发模型提供灵活的应用程序组件。但是,为了达到这些好处,经常要以性能和可升级性作交换。然而,包括SCA(服务组件架构)和SDO(服务数据对象)的技术规范的进步在内的最近的发展正在使C++应用程序获得SOA的敏捷和灵活性的全部好处,同时又不牺牲高性能和C++提供的其它好处。
这种SCA标准显著提高了把C++应用程序集成到SOA架构中的能力。SOA架构需要通过提供可重复的开发模型、消除不断重新编写代码的时间、成本和风险等方式支持不同的技术。Rogue Wave对这些标准提供了帮助指导,特别是有C++有关的事情。
Rogue Wave公司的HydraSCA是第一个支持SCA技术规范的商业性的运行时间,在高性能环境中实现了可重复的服务实现模型。HydraSCA支持采用C++、Java和BPEL等语言编写的SCA组件。Rogue Wave还提供了最完整的支持整个IT范围的平台,让应用程序能够集成到SOA、老程序和其它环境中。
虽然C++是一种老的编程语言,但是,产生C++语言的技术创新的基础在标准和开源软件社区继续扩展。在C++OX标准中,C++语言正在经历重要的提高。这些提高包括一些重要的新功能。此外,C++项目在Apache和SourceForge领域都是第二活跃的项目。Apache“stdcxx”计划是一个跨平台的C++标准库,基本上是根据Rogue Wave捐献的代码制作的,并且与Rogue Wave SourcePro C++一起出售。
成为C++团体的一员再次成为荣耀
C++开发人员本身把2008年看作是他们职业生涯中突破性的一年。据全球在线报酬研究公司PayScale称,C++开发人员的平均薪酬要比Java或者.NET开发人员的薪酬高3%至12%。CareerBuilder、Dice和Monster等求职网站都显示金融服务、电信、航空、国防和其它大型工业对C++开发人员的需求非常强劲,超过了对Java或者.NET开发人员的需求。
有些企业有一些误解,以为他们被C++锁定了。现实是C++仍有活力。C++应用程序能够提供流行的平台提供的相同的服务,具有容错性、兼容多种语言和负载平衡等能力。更重要的是,C++应用程序能够利用现有的处理能力,不需要为多线程模型重新编写代码的巨额投资。