作为一个C/C++工程师,聊聊对Python的看法

开发 后端
近年来以及最近想必大家总能看到Python的身影,有的是频繁报道Python制霸编程语言排行榜,有的是总能看到各种Python的培训课程,作为主要使用其他语言的你,恐怕心里很难不会有悸动。那么应该如何看待Python?

前言

首先说明,这不是软文。仅仅是个人看法,同时也会仍然坚持C/C++,毕竟要吃饭。

近年来以及最近想必大家总能看到Python的身影,有的是频繁报道Python制霸编程语言排行榜,有的是总能看到各种Python的培训课程,作为主要使用其他语言的你,恐怕心里很难不会有悸动。那么应该如何看待Python?

说说排行榜

TIOBE 编程语言排行榜说明的是编程语言的流行程度,它主要根据搜索引擎中被搜索的频次来进行排名。

近几年排名如下:

个人感觉有点像高考报名大家都说哪个专业火差不多,主要突出的是某种语言的“火热”程度,而非好与不好。近年来,Python的排名确实不断上升,但你是否该学习它,肯定不是看这个排名,所以不要被这个排名忽悠,而要看看它的什么特点让它如此火热,它的这些特点能否吸引你?毕竟C/C++/Java常年居于前列,它们可什么都没说。

Python应用领域

通常一门语言都有它“擅长”的领域,选择合适的工具做适合它的事情是非常重要的。

可以说的Python的特点很多,比如:

  • 简单容易上手--提升学习开发效率
  • 丰富的库--更大程度避免重复造轮子
  • 跨平台

而由于这些特点,它通常在应用在以下领域:

  • 网络爬虫
  • 人工智能
  • web开发
  • 系统运维
  • 自动化测试
  • 数据分析
  • 云计算

这些领域,如爬虫,人工智能,web开发用其他语言可不可以?完全可以,但是Python有着极高的开发效率以及丰富的库支持,你只需要专注你的事情本身即可。

但是人工智能,云计算等底层用的是什么?有效率问题时,用的又是什么?高并发的时候用的是什么?不过话又说回来,你有多少时候需要考虑这些呢?

总归一句话,每一种语言有它适合的领域,另外也和公司本身的技术积累有关。

要不要学Python

当然要!无论你是嵌入式还是后台开发,个人认为Python都是值得学的,即使你是非开发类工作,也建议你学一学,但没有必要花过多精力刻意去学。

写一个小工具使用Python会比你使用C/C++快得多。而Python也可以快速帮你处理各种繁琐的数据。

记得刚去公司的时候,部门里用Python的极少,但是慢慢地,几乎组里每个人都用Python做一些事情,当然不是因为事情杂,而是它在做一些小功能或工具或者做一些自动化测试的时候非常方便。

学什么语言好

我觉得问这个问题之前,先定义什么叫好?学起来简单,容易上手,工作好找,钱还多叫好?我也想知道。所以当有人强调Python多么火,又是多么简单,工作多么高薪的时候,你一定要先喝杯凉水冷静一下。

不过某种语言处于时代的浪潮,行业的浪潮还是有可能的,但是又有多少人能预测到浪潮的到来,又真的能站在浪潮之巅呢?

所以这个问题我也不知道,不过我觉得可以从以下几个方面考虑:

  • 准备进入的行业,金融?通信?电商?
  • 了解语言的适用场景,如底层开发,后台,web开发,大数据等等
  • 了解语言的特点,如上手难易程度
  • 了解自身的基础情况,如是科班还是非科班,基础如何?
  • 岗位的需求量
  • 岗位的需求难度

作为一个普通人,那种既简单轻松,又有高回报的,想想就好了,想到了也告诉我们。

实际上上面这些就像计算机中经常见到的时间换空间或者空间换时间,有时候就是两难全。

对于我个人来说,如果让我大学时重新来一次,大概会更加关注操作系统,基本算法,计算机网络等内容,而不倾向于某种具体语言。

而如果说非要加一门语言,那么也是基于C/C++,而非其他语言,因为C/C++似乎和这些基本原理更“亲”。

怎么学

已会其他语言,相信你已经知道该如何学习了。这里有一个简明Python教程,适合快速浏览语法。地址:https://bop.mol.uno/

对于纯小白,想用Python提高工作效率的,可以看看《python编程快速上手 让繁琐工作自动化》这本书,里面讲解非常细致到位,当然也可以根据自己的情况通过视频教程或者培训课程进行学习。

这里我作为一个Python小白,就不多说,欢迎学习Python的朋友补充。

语言只是其中的一部分

语言的使用虽然是工作中关键的部分,但却是很小的一部分,尤其是当你已经熟悉语言本身之后,你的瓶颈可能不是语言本身,而是像网络,操作系统等基本问题和设计模式,方法论等更进一步的内容。

但是不建议:

  • 什么都会,但没有一门熟悉的语言
  • 只专注语言本身
  • 只接触一种语言

记得别忘了你的主用语言修炼,如C,C++。

不局限于技术

作为一个技术人,很多时候对技术过于执着而忽略了其它方面的扩展,自己就是如此,其实多接触其它方面,多与人交流,能扩展自己的思维,一定程度上对自己技术之路也是有帮助的。这方面自己做得不太好,与君共勉吧。

总结

反正也是随便说说,回头看一下,好像有点乱了,按照习惯,还是总结一下吧。

  • Python值得位开发者学习,快速上手,提高效率
  • 了解语言的基本特点和其使用场景
  • 内心不要拒绝其他语言
  • 不要觉得XXX就是好
  • 不过当我用学C++的时候,真实感受到,C语言果然简洁!
  • 人生苦短

 

责任编辑:赵宁宁 来源: 公众号
相关推荐

2009-02-26 10:57:52

CCNA网络工程师认证考试

2009-02-23 11:28:20

软件工程师IT职场

2010-05-10 13:40:22

CCIE思科认证

2011-05-31 09:29:31

C++Linus Torva

2023-01-02 18:15:42

PythonC++模块

2021-05-28 18:12:51

C++设计

2018-10-16 08:00:00

2011-09-16 10:00:56

C++

2010-01-15 15:52:18

CC++

2010-01-15 10:41:06

CC++

2021-06-16 07:56:48

C++新特性类型

2020-06-29 15:42:48

爬虫工程师学习

2013-08-01 10:58:53

2015-08-24 09:02:49

前端工程师

2014-05-13 13:42:54

工程师流程管理

2015-08-17 10:32:06

前端工程师优秀

2020-07-27 08:05:56

C++语言后端

2021-05-10 17:22:49

工程师代码技术

2022-09-16 18:11:14

工程师源码

2009-03-05 09:39:07

工程师软件测试加班经历
点赞
收藏

51CTO技术栈公众号