本文首发 | 公众号:lunvey

人人都在学Python,我还学C++吗?
现在只要提及编程语言,得到的答复都是:学Python,有未来!
 
大家可能有一个误区,数据分析带火了Python,让人们觉得只学Python可以进入到人工智能和数据分析领域。诚然,Python社区的庞大产生了不少第三方库,可以让你傻瓜式直接调用库完成某些需求,往往几条语句即可。刚学Python的朋友往往会从request之类的库入手,然后因成功抓取到某个网页的数据而欣喜,最终一直停留在开箱即用的阶段,如果没有这个库,什么都完成不了。那这样还叫编程吗?应该叫粘贴复制,没有思想的灵魂。
Python主要是封装了太多模块,易于调用,在大型项目中作为胶水语言,减少代码量,提高复用率。所以我们可以看到很多项目都提供了Python开发接口,比如微信公众号开发可以使用Python\C++\Java,最终用什么,完全取决于你擅长的语言。而如果没有封装好对应的JS库,你的Python完全跑不起来。这是前端领域,JS的不可替代性。而后端大家经常听见的服务器语言,如Php和Java,对性能要求不高的网站或许会使用这些来开发,而游戏服务器,必然是C++开发的。游戏里面的部分模块可能会由Python或者Lua编写,方便实时改动,毕竟他们是脚本语言,不用编译。这对于时常需要在线更新的软件来说,使用很频繁。
C++不可取代的地方
也就是说脚本语言必须运行在一个底层环境里面,而C和C++包括Java这些都是用于处理底层环境,能对系统接口进行调用,然后实现对应的需求,俗称客户端的开发。而有了这个客户端框架,里面的部分功能可以用任何语言开发,完全看你的用途。在这之上,如果做数据采集,封装一个Python模块,代码量确实很少,效率也很高。这也是Java和C++开发岗位那么多的原因,而Python培训机构多而已。毕竟Python简单,可以让你不用深层次了解系统底层在做什么,对于Python机构来说,可以很快笼络一部分学员,让他们信服,觉得课程物超所值。也有部分大学在开设Python课程,然而万变不离其宗,软件开发正规军没有一个不是从c开始的,然后c++。甚至和一些刚转行的朋友交流到,他们现在处于学了Python很难找工作的地步。这里我立马查看了下大厂对于Python岗位的需求分析:

从C++

Python 岗位挺多,比C++稍微低一点,毕竟腾讯三分之二的是开发人员,能找到这么多的招聘岗位也实属正常。那么我们看看Python的上岗需求是什么。看了很多都发现有如下的要求:
不难发现后面写了一句:具备娘好的学习能力,对互联网新技术有很强的的求知欲望。因为随着工作的深入,你要学习很多依赖,仅仅纯Python是无法应对的。反观C++则不一样:
C++毕竟是一门经历了时间考验的,能应对各种程度项目的这么一门语言,这些年仅仅标准再更新,目前最新的是C++23,其实标准也就是增加部分,弃用部分。对C++高级工程师来说,影响不大。他们不需要学习太多新知识,也不需要什么所谓框架,需要什么自己动手开发就行。
在开源库GitHub,可以看见很多大厂的自己动手造的轮子,只是为了业务顺手而已。
毕竟依赖别人的就得遵循别人的开发标准,很是不方便。
如果真正想入门软件开发,C++是你的必经之路。毕竟Python能做到的C++都能做到,C++能做到的Python不一定能做到。凡事讲究先苦后甜,四年大学难道仅仅为了学一下Python吗?最近很火的ImHex的作者,大二就沉浸在底层开发中,并用C++打造了这款接近一万星的开源十六进制编辑器,为他点赞!C++真的挺难,但是会当凌绝顶,一览众山小。学会C++之后,再用Python来充实自己的职业生涯,岂不是身心舒畅吗?

都学Python了,C++难道真的用不着了吗?的更多相关文章

  1. 数读 | 为什么运维朋友们都需要学Python?

    运维人员需不需要学开发?需不需要学Python?PythonN和Shell有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能, ...

  2. 小白学 Python 爬虫(26):为啥上海二手房你都买不起

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. 他学习一年Python找不到工作,大佬都说你别再学Python了!

    引言: 都说,滴水穿石非一日之功.然而有些人即使奋斗一辈子也比不上别人一年,别人学习一年比不得你学习一个月.其中缘由,有些人看了大半辈子还没看明白. 即使Python这么火,为何你学习一年的Pytho ...

  4. 学Python必背的初级单词,你都背了吗?

    今天给大家分享一些学习Python必须认识的英文单词,同时也是学习编程都必须会的单词,新手赶快学起来!有点长耐心看完. 小编推荐一个学Python的学习裙:九三七六六七 五零九,无论你是大牛还是小白, ...

  5. 为什么我建议每个开发人员都需要学Python?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/10-reasons-why-every-d ...

  6. 简学Python第一章__进入PY的世界

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  7. 投入机器学习的怀抱?先学Python吧

    前两天写了篇文章,给想进程序员这个行当的同学们一点建议,没想到反响这么好,关注和阅读数都上了新高度,有点人生巅峰的感觉呀.今天趁热打铁,聊聊我最喜欢的编程语言——Python. 为什么要说Python ...

  8. D16——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D16 20180927内容纲要: 1.JavaScript介绍 2.JavaScript功能介绍 3.JavaScript变量 4.Dom操作 a.获取标签 b ...

  9. 一张图告诉你为何必须学Python?

    互联网行业的薪资高.发展前景好,已经是人尽皆知的事了.越来越多的人对编程有了兴趣,想通过加入大公司实现人生逆袭,我们身边也涌现出了一些从零学习.变身大神的励志故事. 但更多的人还是选择观望:有人觉得编 ...

随机推荐

  1. jvm系列三垃圾回收

    三.垃圾回收 1.如何判断对象可以回收 引用计数法 弊端:循环引用时,两个对象的计数都为1,导致两个对象都无法被释放 可达性分析算法 JVM中的垃圾回收器通过可达性分析来探索所有存活的对象 扫描堆中的 ...

  2. 2019牛客暑期多校训练营(第三场)G.Removing Stones(ST+分治)

    题意:给你n堆石子 每堆有ai个 现在问你有多少个连续的区间保证最大值小于等于该区间和的两倍 思路:我们可以考虑每个区间的分割点 总是该区间的最大值 所以我们只要ST找到该区间的最大值 然后每次都枚举 ...

  3. hdu5489 Removed Interval

    Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission ...

  4. Codeforces Round #479 (Div. 3) E. Cyclic Components (思维,DFS)

    题意:给你\(n\)个顶点和\(m\)条边,问它们有多少个单环(无杂环),例如图中第二个就是一个杂环. 题解:不难发现,如果某几个点能够构成单环,那么每个点一定只能连两条边.所以我们先构建邻接表,然后 ...

  5. css整理之-----------选择器

    背景 在20年初时总感觉自己的css 不够用,想把css 相关的东西整理下,去年一整年都比较忙,忙着就到2021了,今天趁着有点时间,先从选择器开始吧. 听说图片可以提升颜值.... 选择器 CSS选 ...

  6. 【原创】docker & kubernetes问题总结

    1.entrypoint & cmd 指令的区别 这主要考察 Dockerfile 良好实践中关于容器启动时运行的命令. entrypoint 和 cmd 命令都是设置容器启动时要执行的命令, ...

  7. OpenStack Train版-7.neutron网络服务概述

    网络服务NEUTRON概述 一.NEUTRON架构 OpenStack的网络服务neutron是整个OpenStack中最复杂的一个部分,它的基本架构是一个中心服务(neutron-server)外加 ...

  8. 系统找不到C:\ProgramData\Oracle\Java\javapath\java.exe问题及解决方案

    一.问题由来 前一段时间本人的电脑崩溃了,系统还原之后,eclipse就用不了,也找不大原因.eclipse报错原因是jvm出现问题:JVM terminated Exit code=2 C:\Pro ...

  9. CodeForces 348D Turtles(LGV定理)题解

    题意:两只乌龟从1 1走到n m,只能走没有'#'的位置,问你两只乌龟走的时候不见面的路径走法有几种 思路:LGV定理模板.但是定理中只能从n个不同起点走向n个不同终点,那么需要转化.显然必有一只从1 ...

  10. js中当for循环中有事件要使用循环变量时,变量用var声明和let声明的区别

    var 声明一个全局变量,声明的变量会变量提升: let 声明一个局部变量: 当页面加载完后,for循环也结束了,如果用var声明的变量此时也随着for循环的结束而自增到满足结束循环的条件, 此时调用 ...