cxxJava - 像Java一样开发C++


EPL
跨平台
C/C++

软件简介

cxxJava – 像Java一样开发C++

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

java类库的丰富性、通用性、易用性、特别是丰富的文档和搜索引擎上信手拈来的使用示例,使的java开发变的容易;而c++兼容c语言、支持进程、信号、Unix
domain socket等更贴近操作系统的特性却是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++语言开发的小伙伴也可以轻松体验到类java
api带来的使用便利,一举多得,enjoy it!

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