代码改变世界

像使用C#一样使用C++

2011-02-25 11:08  zhoujie  阅读(3384)  评论(17编辑  收藏  举报

最近对这样一个问题感兴趣:能不能像使用C#一样使用C++?既兼顾c#的开发效率,又保留c++的强大。

起因是.net庞大的框架,由于像写一个小工具类软件,不想附带庞大的框架,所以选择用c++开发。可是由于

自己习惯了C#写代码,效率啊!快,顺手!

一转到C++傻眼了,首先开发工具支持不够,让我郁闷了好一阵,

幸好visual assist x还算好用,可还是没有C#自带的智能感知舒服。

第二,代码封装性不够,类库易用性不强,学习曲线陡峭。 比如消息映射麻烦,API调用繁琐。

总而言之,对程序员的接口不友好。 我需要的是:一个能立即上手,能够满足常用编程的窄接口;如果

有特殊需求,也可以调用繁琐的接口。其实完全可以把常用的接口放在基类里,不够用了再重写啊!

第三,界面开发麻烦!WTL感觉是高手用的,一个底层封装,不好用!MFC也不理想,复杂的文档视结构,

我要的只是一个窗体,可以放控件,可以与用户交互!整的挺复杂。

也许是我不会用一些有用的类库吧!有谁知道快速开发方法的告诉我,不然我可要自己封装了!

真不知道C++高手们怎么能够容忍自己强大的语言没有开发效率?也没有人自己写个好用的开发工具?

 

-------------------华丽的分割线-------------------

 

经过一段时间的QT开发,发现QT就是答案。

 

经过一个星期的使用,觉得QT还是比较适合C#和Java程序员出身的我们转到C++编程的。

编程工具QTCreator也比较顺手,并且是开源的,用QT库开发的。 如果不能满足我们的使用,还可以

自己写插件。

毫不夸张地说,精通了QT,用C++的开发效率不亚于C#。

 

总结

      对于开发客户端软件,我指的是需要部署到用户计算机上直接运行的程序,如:QQ,360安全卫士等根本不适合用C#开发,特别是那些共享软件的作者,还是放弃C#,投向C++或Delphi,就算是VB也行。因为他们直接编译成本地代码,不需要安装.net框架,运行效率也高;并且使用C++的活,对于winApi是直接调用,而不需要PInvoke。用Qt作为界面库和基础类库再加上C++的强大,我认为是开发效率和程序高性能的最佳结合。 对于C#开发者来说,如果你不是特别迷恋或者依赖.net平台的话,又像我一样喜欢写一些小程序为不会编程的人解决问题,不妨试一下QT,写起代码来一样很快,很顺手!如果你是面向企业应用的开发或者服务器端开发,还是继续使用C#,这是C#的领地!

      飞信客户端为什么要放弃C#,用C++重写就很能说明我的以上观点!毕竟应用场景决定选型。也许多年以后,随着硬件的提升,会改变这种现象,用C#搞定一切。说实话,作为程序员我更喜欢C#。


特别推荐Qt开发的windows小程序实例源代码:

 

生成的程序全部打包只有4M多,用户解压后可以直接运行。