本文首发 | 公众号: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. PHP版本Non Thread Safe和Thread Safe如何选择?区别是什么?

    PHP版本分为Non Thread Safe和Thread Safe,Non Thread Safe是指非线程安全,Thread Safe是指线程安全,区别是什么?如何选择? Non Thread S ...

  2. NodeRED - 全局变量的使用笔记

    NodeRED - 全局变量的使用笔记 global global.get(..) :获取全局范围的上下文属性 global.set(..) :设置全局范围的上下文属性 global.keys(..) ...

  3. Codeforces Round #648 (Div. 2) E. Maximum Subsequence Value 贪心

    题意:E.Maximum Subsequence Value 题意: 给你n 个元素,你挑选k个元素,那么这个 k 集合的值为 ∑2i,其中,若集合内至少有 max(1,k−2)个数二进制下第 i 位 ...

  4. hdu5317 RGCDQ

    Problem Description Mr. Hdu is interested in Greatest Common Divisor (GCD). He wants to find more an ...

  5. Codeforces Round #498 (Div. 3) D. Two Strings Swaps (思维)

    题意:给你两个长度相同的字符串\(a\)和\(b\),你可以将相同位置上的\(a\)和\(b\)的字符交换,也可以将\(a\)或\(b\)中某个位置和对应的回文位置上的字符交换,这些操作是不统计的,你 ...

  6. java通过HttpClient调用接口总结

    2.HttpClient 2.1简介: 最近看项目的代码,看到工程中有两个jar包张的很像,一个是commons.httpclient-3.1.jar,一个是httpclient4.2.1.jar,很 ...

  7. Superset 1.0.1发布——稳定版本

    Apache Superset最近发布了1.0.1版本,这也是1.0版本后的有一个重大的版本,Superset也会在以后有更多的改进.那么让我们来看一下最新的新功能吧. 用户体验 通过更简单,更直观的 ...

  8. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  9. Invalid prop: custom validator check failed for prop "***"

    使用element ui时,绑定参数参考官方参数说明,比如progress的status 值必须是在以下三个里面选择 "success/exception/text", 其它情况可 ...

  10. github gist 无法访问

    转自这里 以管理员身份在hosts文件: Windows: C:\Windows\System32\drivers\etc Ubuntu: /etc/hosts 添加: 192.30.253.118 ...