本文首发 | 公众号: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. Qt update刷新之源码分析(一)

    在做GUI开发时,要让控件刷新,会调用update函数:那么在调用了update函数后,Qt究竟基于什么原理.执行了什么代码使得屏幕上有变化?本文就带大家来探究探究其内部源码. Qt手册中关于QWid ...

  2. hbase Master is initializing

    重装hbase后导致出险问题:hbase(main):007:0> create 'test_t2','f1' ERROR: org.apache.hadoop.hbase.PleaseHold ...

  3. 【uva 1610】Party Games(算法效率--构造 dfs)

    题意:有一个N个字符串(N≤1000,N为偶数)的集合,要求找一个长度最短的字符串(可不在集合内)S,使得集合中恰好一半的串小于等于S,另一半大于S.如果有多解,要求输出字典序最小的解. 解法:本来我 ...

  4. AtCoder AIsing Programming Contest 2020 D - Anything Goes to Zero (二进制,模拟)

    题意:给你一个长度为\(n\)的\(01\)串,从高位到低位遍历,对该位取反,用得到的十进制数\(mod\)所有位上\(1\)的个数,不断循环直到为\(0\),输出每次遍历时循环的次数. 题解:根据题 ...

  5. HTTP的传输编码(Transfer-Encoding:chunked) / net::ERR_INVALID_CHUNKED_ENCODING

    https://blog.csdn.net/m0_37668842/article/details/89138733 https://www.cnblogs.com/jamesvoid/p/11297 ...

  6. log查看工具log2console

    log查看工具log2console介绍:https://www.cnblogs.com/TianFang/archive/2013/03/27/2985296.html Log2Console日志监 ...

  7. C# 通过Internet搜索网络资源

    Internet 网络资源非常丰富,几乎涉及到日常生活和研究的各个方面.流行的搜索引擎像Google.百度.雅虎等都能完成快速搜索网络资源的功能.本节我们将学习用C#实现这些功能的基本思路. 在Sys ...

  8. C语言之库函数的模拟与使用

    C语言之库函数的模拟与使用 在我们学习C语言的过程中,难免会遇到这样的一种情况: 我们通常实现一个功能的时候,费尽心血的写出来,却有着满满的错,这时却有人来告诉你说:这个功能可以用相应的库函数来实现. ...

  9. Qt开发Activex笔记(一):环境搭建、基础开发流程和演示Demo

    前言   使用C#开发动画,绘图性能跟不上,更换方案使用Qt开发Qt的控件制作成OCX以供C#调用,而activex则是ocx的更高级形式.  QtCreator是没有Active控件项目的,所有需要 ...

  10. String的20个方法

    String的20个方法 面试题 1.new和不new的区别 String A="OK"; String B="OK";//会去常量池查找有没有"Ok ...