作为工作两年的PHPer,最近想接触些其他语言,Python go选择哪个合适?

谢谢邀请回答。作为一个2000年就开始用PHP作为WEB开发语言,7年前开始正式用 PYthon语言作为大数据和机器学习的码农来说,很适于回答这个问题。

我的建议是,语言不仅仅是简单的工具,你选择语言主要是取决于语言对应的工作场景,只有明确了自己以后职业发展方向,选择对应语言才是明智之举。

首先,Python是解释性语言,代码在执行时会一行一行的翻译成CPU能理解的机器码。优点:优雅、明确、高效、简单缺点:运行速度慢、代码不能加密

Python是跨平台的,即互通性。它可以运行在Windows、Mac和各种Linux/Unix系统上。如:在Windows上写Python程序,放在Linux上也是能运行的。

Python是一个面向对象的语言,在Python里面一切皆对象。在大数据和机器学习时代,Python作为一个广为使用的万能语言,受到了大家的追捧,也就是,有很多的第三方库用python来开发,维护,特别是机器学习和深度学习领域,基本上主要框架都是用Python编写,如果你想在这些领域有发展, python无疑是尚好选择。

现在来说说Go 语言,它从发布 1.0 版本以来备受众多开发者关注并得到广泛使用,Go 语言的简单、高效、并发特性吸引了众多传统语言开发者的加入,而且人数越来越多。鉴于Go语言的特点和设计的初衷,Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web 应用、API应用、下载应用等;除此之外,Go语言还适用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。分布式系统、数据库代理器、中间件等,例如Etcd。如果你以后职业发展定位于服务后端,那Go无疑是面向未来的一个领域语言,可以值得拥有。

附图下各个语言的工作职位排名,也可以作为参考。

综上所述,Python语言适合于大数据,人工智能领域的发展,Go语言适合于面向服务端的解决方案,希望对您有帮助,谢谢!

PHPer,再学一门语言,Python 和 Go 如何选择的问题,我觉得需要从以下方面考虑!


01 学新语言的目的


要问问自己,为什么想学习其他语言?目的一般无非以下几种:


1)工作需要

这种情况下,一般是跟着工作走。比如,团队决定某一个部分使用 Go 语言实现,这时你的学习!


2)提升自己的竞争力

技术人员,需要保持不断学习。这几年,Docker、k8s等很流行,它们是 Go 语言实现的,为了更好的掌握它们,你可能会考虑学习下 Go。同样的,这几年 AI 很火,如果你想学习相关技术,Python 会是更好的选择!

另外,目前这种形式,很多时候,只会一门语言是不够的,为了提升竞争力,很有必要学习其他语言,看看其他语言的设计。PHP 是动态语言,Python 也是,而 Go 是静态语言,而且,Go 语言对多核、并发做了很多工作。从这个角度,Go 语言会是更好的选择,对能力提升会很有帮助!


3)想换其他工作,转领悟

如果是这个目的,我们应该根据领悟哪种语言更合适进行选择。如果转 AI,Python 更合适;如果转 区块链,Go 可能更好;如果云计算,Go 也更合适;如果科学计算,Python 值得拥有。。。


02 候选语言对自己能力的补充


如果抛开学习目的,纯粹从候选语言层面考虑,我们需要了解自己目前的状况和候选语言能给自己带来哪些方面的补充。


Python 和 PHP 一样,是动态弱类型脚本语言,从这个角度考虑,它们会有相似性。PHP 主要用于 Web 开发,Python 除了这方面,更多用于数据分析、运维、科学计算、爬虫和 AI 等领域。这里很多东西涉及到非语言层面的知识,如果你对这里的领域感兴趣,学习 Python 对能力会是一个很好的补充。

Go 是一门静态强类型语言。它出身名门,对 C 语言做了很好的扬弃。作为一门通用的系统编程语言,学习它,能够让你更好的了解计算机底层知识,掌握计算机和语言的运作原理。当然,要掌握这些需要有较强的基础。但一旦掌握了这些,会让你的 Level 上一个台阶。从这个角度,我强烈建议学习下 Go ,学习另外一种不同的编程方式。


03 总结


通过以上的分析,你对自己应该选择什么语言有数了吧!在时间、精力允许的情况下,不管选择什么,作为 PHPer,我都建议了解下 Go 语言,为自己打开一扇不一样的门。加油,行动起来吧!

谢谢邀请!

个人觉得还是得看你的工作方向来决定吧,服务端如果使用go语言,估计就再也不想用其他语言了,go太省体力,太方便,而且性能罩得住,可能这也是为什么近两年go语言发展飞快的原因吧!但是 python作为脚本语言,写一些工具还是很方便的,还有就是如果你想往大数据、人工智能 方向发展,那python是需要深入掌握的语言,因为很多相关生态链都是用python,这领域go还不行。

选哪个语言合适,我觉得这个问题应该从你的工作情况出发:

什么语言工作机会最多

目前,软件公司招聘的开发岗位,最多的就是Java工程师,不管是服务端开发还是移动端安卓开发,都是要求掌握Java语言,最近比较火爆的大数据开发工程师也是很多要求掌握Java语言,毕竟大数据平台的基础构件:Hadoop、HBbase等都是Java开发的。

什么语言对应的岗位薪酬最高

Java语言可能不是最高的,但是绝对是最稳定的,以下数据来自看准网:

语言排名对比

最新一期,TIOBE语言排行榜:

从上图可知,Java继续排名第一,Go排名第15,Python排名第3。

Java自从2001排名第一以来,已经持续10多年排名第1,位置近期内仍然不可撼动。

Python上升趋势明显,排名8.5%达到历史新高,如果保持这一增速,有可能在3,4年后取代Java或C语言的地位。

Go语言同比上升3位,仍然不温不火

结论

从现实出发,建议你选择更为稳定的Java语言作为PHP的替代者。

专业从事软件研发工作多年,在软件设计、开发、测试、研发管理等领域里经验丰富,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有软件研发方面的问题,可以咨询我。
谢谢!

首先我给你的回答是两个都可以。

目前来看,python的市场占有率很大,因为毕竟已经发布很多年了,所以它和php一样,有着丰富的第三方类库,很多平台也都有对它的支持。比如,微信支付,支付宝支付都是有python语言的支持的,所以学习python你会感到社区氛围浓厚,资料很多,可能唯一的缺点就是从众多资料中选择的幸福吧。

反过来,golang还很年轻,年轻意味着它没有包袱,它没有历史遗留问题,相反,它借鉴了很多语言的优点,摈弃了很多缺点。这使得它既好学,有高大尚。如果你听过go语言,一定知道它处理并发的优雅,一个goroutine就简洁优雅地解决了问题。

python是脚本语言,go是编译语言。如果从学习的广度来说,推荐学习go语言,这样,php脚本语言你会了,go编译语言你也会了,这样对你深刻认识和理解软件编程有非常大的帮助。

最后,我想说的,不要太纠结学哪一个,挑一个学就行,慢慢你会发现,你可以两个都学了~

相关代码参考