56

Python这么火,要不要学?听听华为工程师怎么说...

 5 years ago
source link: https://studygolang.com/articles/19888?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

编程语言发展得非常之快,后起之秀中Python显然最为耀眼。简明优雅、易于开发,“人生苦短,我用Python”并非一句戏言,Python成为许多工程师们心中“最美的语言”是有道理的。但是,有人就有江湖,编程的江湖亦是如此。迅速崛起的Python,免不了要被拿来和其他语言比较,而“Python如此火爆,我需要学吗?”也成为了很多人的困惑...

mayABnj.gif

image

当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢? 学习Python中有不明白推荐加入交流群号:973783996 群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF!

最近在心声社区也有关于Python的讨论:“为什么要用Python”?大家谈到了,动态语言的灵活性是把双刃剑,Python的三方库,效率问题,等等。

工程师A:

最近用Python这种动态类型变量语言越用越烦躁,每次点完顿号都想摔电脑,太不方便了,啥方法提示都没有。这种明显降低编写效率,无有效提示的竟然说适合新手。当然周边支持类库确实多,随便拉一个都能写个自动图像识别点确认实现游戏挂机。如果说动态类型是趋势,GOOGLE新出的(09年发布)go语言宣城综合所有优点,不还是采用静态类型么。计划放弃用Python了但是公司里面天天吹Python。

工程师B:

Python和java的比较,其实金庸的天龙八部里面说得很清楚,Python类似鸠摩智的小无相功,靠着小无相功内力催动,能够轻松搞定少林寺72绝技,但是当实现复杂的大的项目的时候,如果没有搞懂底层的东西,会被反噬。java类似北冥神功,威力无穷,和小无相功同出一门,但是适用范围没有小无相功那么大,只针对天山派的武功才能发挥出威力。从这里可以看出,在以效率优先的华为派,当然是鼓励大家学习Python,这样即便无法拿下72绝技,也能各自学个一招半式闯江湖。

工程师C:

Python合写些小工具轻巧便捷,运维工具之类的,提示关联找个好的IDE就行了和语言没关系。go交叉编译易,部署简单,适合搞服务器做些高并发之类的场景。Java适合搞业务或者大型项目,主要是生态好,工具多,会的人多维护方便,像go依赖管理非常不便,Python的性能还是不行。当然只要你给力其实用啥高级编程语言都可以把项目完成出来,只是熟练度,语言成熟度,开发是否便捷的差异。就像前端的人玩js,搞一个nodejs把后端也玩出来了。

工程师D:

对Python真的是很无语。三方库虽然多,然而难用之极,API返回的究竟是变量函数句柄还是类?完全不知道。除非在固定领域经常使用Python,能过对领域专用API烂熟于心,否则没有help没有文档,只能翻源码猜啊我去!根本不适合新手好吗? 根本不是信手拈来的语言好吗?一引用三方库就各种依赖各种版本不匹配,2.x和3.x都叫Python长得完全不一样啊!如果你需要花1天时间写核心代码,那么之前需要2天做准备好啊有么有!

工程师E:

Python开发工作两年,来华为后写C/C++,最喜欢Golang和Ruby,也会shell、JavaScript。还是那句话,语言只是一种工具!python能做的Java也能做,执行效率高,Java能做的python也能做,编码效率高,知道在什么时候该用什么语言就好了。

工程师F:

作为Python和Go都略懂的人,简单表达一下观点:

  1. 语言选择主要看场景,抛开这个一切都是空谈;
  2. Python适合什么场景:单人或者小项目开发,因为生态的加持,快速(比如AI、数据处理),如果不用库,这个优点就体现不出来;
  3. Go适合什么场景:大项目开发,因为静态编译的问题,静态编译解决的问题,一个是性能,另外就是编译时发现问题,再加上强类型,比较适合多人合作;然后Go加了大量的工程化的优化和工具,都是对着软件工程的常年痛点去的,这个是学院派语言不具备的;
  4. Go是不是那么好?不是的,如果对于高手来说,写Go特别别扭(我自己感觉有一点点,但优点居多,所以我也不是高手),因为有别于Python的写什么代码都要写到足够好,Go是写什么代码基本只有一种写法(别瞎写),而且比较boring;
  5. 一句话:Python写的开心,Go写得放心,个人更喜欢Python多一点。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK