返学费网 > 培训机构 > 全国IT培训中心

13081913316

全国统一学习专线 8:30-21:00

想了解学java好还是c++好吗?想了解为什么全网都在劝你学Java、Python,而不是C++??? 吗?......本文带你一探究竟。

1.为什么全网都在劝你学Java、Python,而不是C++?

都2021年了,我们为什么还要学C++?因为C++贴近底层,而且在追求性能、降低功耗方面,C++是首选。它适用的领域非常广泛,小到嵌入式,大到分布式服务器,随处可以见到 C++ 的身影。面向物联网的“嵌入式”开发和面向大型化的“分布式”开发都离不开它。​C++学习是一个漫长的过程,语言本身复杂、见效慢。但如果你想了解更多编程语言的思想源泉,想要一窥大型企业级开发工程的思路,想开发别人做不了的高性能程序,那C++就是你的不二之选。有同学说我已经看了一本六百多页C++的语法书,C++基本语法都看懂了,按照书上所写的程序,实验例程都能够正确演示出来。但是,如果让我自己编程,丝毫无从下手。其实很多人都要经历这一阶段,这也是学习C++的一个瓶颈。在这说下我的学习路线吧。看完 Primer 后,基本可以编写一些小规模的有用的程序了。但是想掌握好 C++ 离不开大量的练习,同时多看一些经典的书籍,也可以加快学习 C++ 的速度,尤其是 effective 系列,通过学习别人总结的经验,避免自己去踩坑,可以快速提高自己的 C++ 编码质量。这里也推荐一些C++从入门到逐渐进阶的路线和书单~1. 《C++ Primer》 首先是 C++ primer,这本书基本包括了 C++ 11 的全部特性,最好把前面三部分:C++基础、C++标准库、类设计者的工具都看一遍,我当时花了一个多月断断续续看到了第16章模板那里。 2. Effective 系列:《Effective C++》、《More Effective C++》、《Effective STL》 第一本是重点,光看《C++ Primer》缺少实践的话,大概率还写不出合格的 C++ 代码,而《Effective C++》就是通过 55 条非常具体的做法告诉你什么样才是符合 C++ 编码规范的,可以极大的缩短你写出合格 C++ 代码的时间,减少踩坑,强烈推荐必读,后面两本优先级稍低,可以有时间再读。 3. 《STL 源码剖析》和《深度探索 C++ 对象模型》 看完 Primer 和 Effective,你应该已经能够比较熟练的使用C++了,但是还缺少对 C++ 底层实现机制的认识。比如虚函数表、成员变量布局等,同时对于 STL 库可能也仅仅停留在使用上。 推荐的这两本可以分别完善你在 C++ 底层实现和 STL 源码、原理上的认识。 这些书大家都可以在我的电子书库->编程语言->C++ 这里面找到,绝不是在网上那种打包下载的,而是自己需要学到某个方向知识的时候,去网上挨个找的,最后汇总而成。汇集了编程语言(Java、C++、C、Python等等)、操作系统、计算机网络、系统架构、设计模式、程序员数学、测试、中间件 、前端开发、后台开发、网络编程、Linux使用及内核、数据库、Redis....等主流的编程学习书籍。这部分我是会不断把它完善的,当成自己的小电子书库,不多,但贵在精。我整理的这些书大家可以在这里获取,对于学习计算机的同学帮助非常大,且十分系统:书单:书单推荐,少即是多(含下载方式)以上书籍同时建议和侯捷老师的视频配合服用,效果更佳。直接在 B 站搜索「候捷 C++」即可,主要有以下几个系列:《C++内存管理》《STL源码分析》《C++ STL与泛型编程高级》《C++11 新特性》以下是B站部分链接:侯捷C++新标准-C++11/14【高清版】侯捷C++新标准-C++11/14_哔哩哔哩_bilibili侯捷-C++程序的生前和死后【高清完整版】侯捷-C++程序的生前和死后_哔哩哔哩_bilibili侯捷-C++ STL标准库和 C++ 泛型编程【高清完整版】侯捷-C++ STL标准库和 C++ 泛型编程_哔哩哔哩_bilibili我基本都看了,收获挺大的,建议看下,可以开倍速。看完以上资料,算是 C++ 入门了,应付面试也是足够的,基本到达了正确高效地使用 C++ 这一层面。是不是听到这有点崩溃,特么的看了这么多,才入门???如果你想在 C++ 语言上更进一步,那么有以下的书籍推荐:《C++ 语言的设计与演化》 这本书是 C++ 之父 Bjarne 写的,关于 C++ 的前世今生,以及未来的演进方向,可以了解 C++ 的设计哲学。C++ 复杂的语言特性一直让人诟病,通过这本书,可以看到各种特性引入的目的,也更深入了解到了 C 和 C++ 之间关系。比如 C++ 里有个原则就是所有的实现机制都不能带来额外的运行时开销。 我也正在看这本书。《C++ 沉思录》 《C++ Templates》和《C++模版元编程》 C++模板元编程属于另外一个世界了,一般公司里开发用得比较少,这个也是一个大坑,如果实在感兴趣可以去看看,感受下 C++ 的博大精深,不过这玩意我也不太会,也不推荐你去花时间在上面。 另外,也推荐刷刷CppCon视频 这是 C++ 社区组织的类似开源峰会那种,每次都会讨论一些关于 C++ 的话题,没事去刷一个,还是挺有意思的。 Youtube 直接搜 CppCon 即可找到。 当然了,学习 C++ 还有比较好的方式就是看优秀的代码,比如很多浏览器的内核 chromium、leveldb 等,我的理解是,不必全部全完,可以挑出其中一些utils类,比较独立的类,看看大佬是如何写C++的,能学到不少东西。同时,这里也给大家推荐一些 C++ 项目,大家可以先收藏,后面慢慢去阅读源码:一、 Web Server听说今年人均一个web server??那这里也给大家推荐几个,都比较类似,核心用到的技术点和思想就是epoll、、one loop per thread、日志等。这里推荐两个: (牛客大佬) HTTP GET、HEAD方法添加定时器支持HTTP长连接,定时回调handler处理超时连接使用 priority queue 实现的最小堆结构管理定时器,使用标记删除,以支持惰性删除,提高性能使用epoll + 非阻塞IO + 边缘触发(ET) 实现高并发处理请求,使用Reactor编程模型epoll使用保证一个socket连接在任意时刻都只被一个线程处理使用线程池提高并发度,并降低频繁创建线程的开销同步互斥的介绍使用RAII手法封装互斥器(pthrea_mutex_t)、 条件变量(pthread_cond_t)等线程同步互斥机制,使用RAII管理文件描述符等资源使用shared_ptr、weak_ptr管理指针,防止内存泄漏什么?你说不想卷WebServer?好咧,那咱们来点其它的轮子:三、libjson这是一个超级高效的JSON解析器,并且高度可定制的,非常轻巧。主要特性:Lazy or JSON % JSON ++ C interface地址: RPC框架rest_rpc这是它的简介:c++11, high , cross platform, easy to use rpc framework.It's so easy to love RPC. Modern C++开发的RPC库就是这么简单好用!是的,这是一个使用modern C++ 开发的rpc框架,rest_rpc为用户提供了非常简单易用的接口,几行代码就可以实现rpc通信了,来看个 :这是一个加法服务,是不是很简单?地址: C++ 八股文吧,可以对照着检查下,也是面试经常会考的东西:指针、引用、数组、内存引用与指针区别虚机制:虚函数、虚函数表、纯虚函数C 和 C++ 的一些区别,比如 new、delete 和 malloc、free 的区别一些关键字的作用:static、const、volatile、extern四种类型转换:static_cast, dynamic_cast, const_cast, _castSTL部分容器的实现原理,如 vector、deque、map、hashmap模板特化、偏特化,萃取 traits 技巧继承、虚继承、菱形继承等多态: 动态绑定,静态多态重写、重载智能指针原理:引用计数、RAII(资源获取即初始化)思想智能指针使用:shared_ptr、weak_ptr、unique_ptr等编译链接机制、内存布局(memory layout)、对象模型C++11 部分新特性,比如右值引用、完美转发等觉得不错的,记得关注我,帮我 @编程指北 点个赞哟,笔芯~

上述文章了解到关于为什么全网都在劝你学Java、Python,而不是C++??? ,让我们对学java好还是c++好 有一个直观的认知。我们发现,作为一个优秀的Java程序员是多么的自豪。

温馨提示:为不影响您的学业,来校区前请先电话咨询,方便我校安排相关的专业老师为您解答
  • 热门课程
  • 作者最新文章
  • 在线报名
申请试听课程

只要一个电话
我们免费为您回电

姓名不能为空
手机号格式错误