毫无疑问的,C++是一种强大到了变态的语言,在语言层面上可以用C++做出很多令人惊喜的效果,比如多继承、模板编程、模板元编程,即使穷经皓首也难尽其详,无论多么难处理的难题,总有柳暗花明又一村的思路。但是如果做应用开发……,当然也不在话下,但是没人不皱眉头的。

  用VB或者Delphi很容易完成的功能,往往只需要拖动一个控件设置几个属性就搞定的事情,C++就要柳暗花明上六棵柳树搂六搂也未必能完。VB和Delphi都已经做完跑上了,C++的类才刚刚写完,真是头疼死了。

  根本原因在于VB或者Delphi本身就有很强大的类库支持,本来人家就是针对这个设计的;而C++面向的并不是应用开发,它更是一种独立于类库的纯粹的语言。那么只需要加入适当的类库支持C++也同样可以便捷的做出应用开发,当然,不过从个人喜好上说,MFC不在这个“适当的类库”的范畴里。STL、Boost都是优雅强大的类库,但是它们更专注在语言方面而不是应用方面,比如网络连接、数据库连接等等的支持至少STL基本为零。同样优雅精致的还有一个是Poco C++,它主要针对的是应用方面的功能,同时也是跨平台的。

  用Poco你可以轻而易举的实现建立常用的网络连接,比如Pop3、SMTP服务;解析XML文件、使用正则表达式,建立日志系统,加密解密,压缩解压缩……。当然,要用Poco做界面,嗯,虽然我不喜欢MFC,但是你要做界面还是喜欢一下MFC的好。Poco优雅、精致但是不那么强大,优点是不像MFC那样繁复,缺点是不如MFC那么合用。但是Poco跨平台,它的全称是Protable Component Library,可移植控件库,它的官方网站是http://pocoproject.org。

  我个人用它的感觉,固然做界面是不可能,但是我喜欢命令行,啪啪啪啪敲键盘很有感觉;平时的所有应用,就用Poco都可以应付,比如网络方面就涵盖了ftp、http、邮件服务、时间服务器等所有我能想到我想不到的应用;其他比如加密解密、正则表达式等等也很实在。另外,Poco的一个好处在于,它也是开源免费的,在功能上和STL没有重叠但是有结合,可以做为STL在功能上很好的补充和改进。

  以后有空,我会把使用Poco的一些在Windows上的用法放上来,这个就是第一篇前言了。

  有了Poco,加上以前就有的STL,如果在能有支持数学计算、界面设计的开源免费库,最好跨平台,那么就完美了。

下文:

Poco:第二步,一个简单的程序: http://hi.baidu.com/%B3%BF%B3%D8/blog/item/d3b19233c09bc157ad4b5f5c.html

Poco:Why?:http://hi.baidu.com/%B3%BF%B3%D8/blog/item/31fa43fa5a43728359ee90cd.html

[原文在百度空间已经关闭]