- 授权协议: EPL
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: https://git.oschina.net/cxxjava
软件介绍
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系列项目的开发队伍中来,谢谢大家!
算法的陷阱
阿里尔•扎拉奇 (Ariel Ezrachi)、莫里斯•E. 斯图克 (Maurice E. Stucke) / 余潇 / 中信出版社 / 2018-5-1 / CNY 69.00
互联网的存在令追求物美价廉的消费者与来自世界各地的商品只有轻点几下鼠标的距离。这诚然是一个伟大的科技进步,但却也是一个发人深思的商业现象。本书中,作者扎拉奇与斯图克将引领我们对由应用程序支持的互联网商务做出更深入的检视。虽然从表面上看来,消费者确是互联网商务兴盛繁荣过程中的获益者,可精妙的算法与数据运算同样也改变了市场竞争的本质,并且这种改变也非总能带来积极意义。 首当其冲地,危机潜伏于计算......一起来看看 《算法的陷阱》 这本书的介绍吧!
