cxxJava 像Java一样开发C++开源项目

我要开发同款
匿名用户2016年12月12日
32阅读
开发技术C/C++
所属分类程序开发、其他开发相关
授权协议EPL

作品详情

cxxJava--像Java一样开发C++

当你同时有过java和c++两个语言的开发经历后,你会喜欢上java语言开发效率的高效但又深深的被c++语言运行效率的高效所吸引。

java类库的丰富性、通用性、易用性、特别是丰富的文档和搜索引擎上信手拈来的使用示例,使的java开发变的容易;而c++兼容c语言、支持进程、信号、Unixdomainsocket等更贴近操作系统的特性却是java所不具备;

java由于虚拟机的限制,程序运行效率在中大型的的服务器程序上始终无法跟c、c++等编译类语言比拟,特别是广为诟病的gc问题;而c、c++却是业界公认的运行高效的系统开发语言,但c++语言其缺点同时也非常明显:

c++语言过于灵活,掌握门槛高,学习曲线陡,真正做到像java一样高效开发的程序员少之有少;

c++语言缺乏强大的开发类库,stl、boost、poco、qt等等,碎片化严重,而且无论哪一款跟java类库相比都是依然相去甚远,其中std基础类库跟jdk相比更是差了几条街;

...

那有没有在c++的基础上集成java的一些优点,让c++开发的变得更为容易呢?答案肯定有!这里提供一些实现思路:

jdk基础类库设计了优秀的api,编写了丰富的使用文档和搜索引擎上信手拈来的使用示例,我们可以直接参考使用,降低学习曲线和后期程序维护门槛;

jdk有强大的且经过工业级考验的多线程并发库,如ConcurrentHashMap等,而c++却严重缺失一样强大的类库,这个也可以直接参考,多快好省;

java世界有很多优秀的开源项目,如netty、mina、log4j、kafka等等等等,在一些云服务等对性能有严苛追求的企业可以直接参考并转译这些java项目,以最小的研发成本快速获取想要的目标软件成果;

另外,c++世界没有像java一样好使的ide开发工具,所以我们可以先快速java原型开发,而后再快速转译到c++;

为此,笔者针对上述思路做了一些有益的尝试,具体详见cxxJava系列项目。

CxxJDK:类jdk基础类库,实现包括concurrent并发库在内的绝大多数常用类;

CxxLog4j:类log4j日志库,在log4j原功能基础上创新实现不停应用动态刷新日志配置文件;

CxxMina:类Mina2.0网络库,测试结果显示比java版QPS高出很多;

从此,基于CxxJDK,广大java开发者只要学习基础的c++语言知识即可轻松进行c++应用开发,原已掌握c++语言开发的小伙伴也可以轻松体验到类javaapi带来的使用便利,一举多得,enjoyit!

同时,也欢迎大家加入到cxxjava系列项目的开发队伍中来,谢谢大家!

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论