{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

现在想再学习一门编程语言,应该选择go还是python?

娣辩孩娣辩孩 回答9 收藏1
收藏问题

9条回答

Yuqi

Yuqi

回答于2022-06-22 19:12

谢邀。首先,不要限制住你的思维。现在想学习一门编程语言,不一定是go或是Python,而是根据你想要做什么、具体是什么而定,这取决于你的目标,真的。

如果您想进行Web编程,请学习Javascript,因为它允许您对前端和后端进行编码(通过Node.js)。

如果你想进行系统编程,请学习C。Microsoft Windows和Unix / Linux / OSX都是C语言的核心,因此可以从C语言无缝地与大部分系统接口。如果您愿意,可以让您进入嵌入式编程。

如果您对算法体系结构背后的数学理论以及学习构建高效,可组合,解耦,可维护系统背后的科学感兴趣,并使用类型系统来证明代码的正确性以获得最终的安全性和稳定性,那么请学习Haskell。 Haskell强调使用纯数学函数构建软件,IMO是有史以来设计最好的语言之一。

但是,如果您对代码和算法的结构感兴趣,并且编写它们的方式与编写lambda演算时的方式非常相似,并且有兴趣学习将代码作为数据和数据处理为代码,那么请学习Lisp。有趣的是,Lisp很容易在非常快的速度上变得疯狂。 Lisp是非常高级的,所以掌握这种语言我认为给你最好的机会,能够很快写出很多有用的东西(我建议使用常见的Lisp方言来实用)。

如果您有兴趣在跨平台遗留系统和大型企业环境中工作,并且学习一种在企业软件开发中根深蒂固的语言,至少在接下来的20年内它可能不会消失,那么学习Java。

如果您对大数据感兴趣并构建处理数PB数据的机器学习和分析应用程序,请学习Scala。这里有人会说Java,但我在这个领域的经验是Java在这个问题领域的扩展性不够好。 Scala在不牺牲性能的情况下为您提供更大的灵活性,并且在这个领域迅速普及。

但是,如果您只是对大数据的数据科学和发现部分感兴趣,请学习Python,因为它拥有统计建模和分析大数据集样本特征的最佳工具。 Python还为您提供服务器端Web编程和系统脚本。

正如您所看到的,您应该学习的1种语言取决于您想要做什么。

这并没有一个正确的答案,永远都不要限制住自己的思维,希望我的问题对您有一定帮助。


我会在这里发布所有与科技、科学有关的有趣文章,欢迎订阅我的我们。偶尔也回答有趣的问题,有问题可随时在评论区回复和讨论。

(码字不易,若文章对你帮助可点赞支持~)

评论0 赞同0
  •  加载中...
Carbs

Carbs

回答于2022-06-22 19:12

再学一门编程语言,选 Go 还是 Python ?这个问题需要从几个角度考虑!


一、现在掌握的语言是哪种类型


首先肯定是服务端开发,要不然应该不会说选 Go 还是 Python。


1、如果现在掌握的语言是动态语言,比如 PHP,那么建议学习静态语言 Go。

首先 PHP 容易学习,容易使用,而 Go 也有这些优秀的特质!


其次,你已经学会了一门动态语言,了解动态语言的写法,甚至深入了动态语言的原理,是时候系统学习一门静态强类型语言了,而 Go 绝对是很好的选择!


再次,现在微服务架构很流行,而 PHP 在这方面会有点难受,Go 这方面却表现不错,除了开源界一些流行的框架外,大厂也有很好的 Go 微服务实践!


最后,在 Docker、k8s 大势横行的年代,我们没有理由不接触下它们的实现语言 Go!


2、如果现在掌握的是静态语言,比如 Java,我建议可以看看动态语言 Python!


Python 有它很多独特的东西,比如使用缩进确定代码块。同时,Python 是一门很通用的语言,它在科学计算领悟、Web 领悟、人工智能领悟、运维领悟等都有很好的作用,特别是最近几年的人工智能领悟,Python 可谓风光无限!


同时,Python 简单易学,拥有强大的社区支持,强大的类库、生态,它表现能力强,很多语言很长的代码,它可以很短的代码实现。如果想深入了解动态语言的机制,Python 无疑是很不错的选择!

二、学习另外一门语言想用来干什么


学习任何东西,我们还是希望有实际用处。学习编程语言也是如此,而且如果学习了不用,很容易就会忘记,使用是很好的掌握技能的方式。


如果想要在科学计算、AI 等领域使用,建议学习 Python,虽然 Go 在 AI 方面也有一些库,有人在使用,但相比而言,Python 是最成熟、最火热的。从每月的编程语言排行榜可以看出,AI 的兴起,对 Python 还是有很大的助推作用。


如果想用于 Web API、微服务、云计算、中间件等领域,推荐学习 Go 语言。Go 语言号称是云计算时代的语言,在这方面确实有它的优势。很多大厂,比如今日我们、滴滴、知乎等都在大规模使用 Go 语言。


总结


综上,如果你现在使用的是 PHP 这样的动态语言,且继续从事相同的行业,Go 绝对是值得学习的语言,而且,我建议一定学习下 Go;如果想从事 AI 方面,可以学习 Python,或者现在使用的是静态语言,可以尝试下 Python 这种动态语言。

评论0 赞同0
  •  加载中...
Ashin

Ashin

回答于2022-06-22 19:12

如果题主不是从事软件开发,只是因为个人兴趣,我建议学习python,很多库,能很方便的实现很多有趣的东西。但如果题主从事软件开发,在这里提这个问题,我觉得你应该学习一个可以和你本职工作有相关性的。而不用去问别人应该怎么选择

评论0 赞同0
  •  加载中...
impig33

impig33

回答于2022-06-22 19:12

根据通常情况:

1.首先,学习Python,熟练语法,编10个左右的小项目,基本掌握。

2.接着,学习Go语言。


原因:Python,未来编程界必须掌握的语言。Go语言,为工程而生,为并发而生。

不是掌握了这两种语言天下就是你的了;而是,你占据了编程语言最有利的“语言”地形。

评论0 赞同0
  •  加载中...
miguel.jiang

miguel.jiang

回答于2022-06-22 19:12

编程语言,其实都是触类旁通的,只要你精通一门,不管是面向过程,还是面向对象,不管是静态语言还是动态语言,其实精髓和核心思想都大同小异。

Java、Ruby,Python,Go,PHP。。等等吧,只要真的学会一门,其他学起来都不是难事。

关键是你的问题是你们公司要求转Go,如果不转,就意味着你可能要失业,这个你要考虑好。

在我看来,我个人是比较喜欢公司要求的,相当于带薪学习,这可不是每家公司都能做到的,在我看来都相当于员工福利了。。

而Go和Python,都是一门编程语言而已,关键是看他们的生态圈,如果公司让你们转,证明你们公司有这方面的业务,那你就放心大胆的去学Go,而且还能快速的学以致用。

而python,既然是你的兴趣所在,你业余时间学学也不是不行啊。。

评论0 赞同0
  •  加载中...
lowett

lowett

回答于2022-06-22 19:12

没有最好的语言,只有某个场合最适合的语言,关键看你想怎么用。并且学一门编程语言只是最基本最简单的事,你还需要学习这门语言围绕的技术生态环境,并综合使用它们的来解决实际问题。

评论0 赞同0
  •  加载中...
shixinzhang

shixinzhang

回答于2022-06-22 19:12

首先人要理智,个人觉得对于架构师和高级工程师们,把Python和Go作为小工具语言或者中间件语言是最适合不过的。

对于刚入行或者要入行的朋友要注意了,只学Python或者Go的话,工作是相对不好找,市场需求量目前并不大,它两各自的可用库比较少,尤其是Go。

我客观的说一下:Go的优点并没有外界吹嘘的那么NB,经常被培训机构和初学者以点盖面,实施是它的缺点缺陷还是比较多的,有很多人认为Go 比 Python 要快而且说快30 倍,这是不负责任的,Python其实并不慢,反而有很多地方比Go快,一方面呢,大多数开发者自身编码能力的问题,另一方面Python的绝大多数库是C/C++写的,Python能慢到那么离谱是不可能的,反而多数情况下比Go稳健且快。Go有它优势但是它的火热多数是被培训机构吵起来的,跟国内高房价类似被炒房客抬高的。

总结一下,对于产品或者项目来说,技术的选型往往是变化的综合的,选择适合项目或者需求的开发语言和技术才是最重要的,比如一个淘宝等电商项目使用了Java,C/C++ ,PHP,Python ,Go等等把不同的语言综合起来把它们擅长的地方用在恰当的地方。

评论0 赞同0
  •  加载中...
Clect

Clect

回答于2022-06-22 19:12

不管是go还是python,或者其他语言,都只是一门编程语言而已,虽然你未来想做什么领域,人工智能也好,云计算也好,微服务也好。。。其实理论来讲,每门语言都行,但实际上每门语言因为产生的历史背景不同,语言特性不同,都有各自的优缺点,就会导致某门语言,在某个领域,比较流行。。

比如提起人工智能,很多人就说提到python,这就让很多不太了解内因的人,很容易混淆这两个词,会误以为,python就是做人工智能的,人工智能就是python。。但实际上,python是一门脚本语言,一般学Python可以往很多方便发展:

1,比如可以做web应用开发

2,网络爬虫

3.AI 人工智能 与机器学习

4,数据分析等等。

所以,只是python语言相对来讲,比较适合研究人工智能,但是人工智能包含的方面很多,要求也和难搞,不是说只学会了python就会了了人工智能。。

而Go语言,是一门新生代语言,主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。

Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

说到底,python也能做大数据,Go语言也能做人脸识别,所以哪门语言不重要,而且都是触类旁通的,如果你有编程基础,推荐Go语言,如果你是零基础的小白,也推荐Go语言,因为学习曲线低,比Python好入门。。

评论0 赞同0
  •  加载中...
ivydom

ivydom

回答于2022-06-22 19:12

从实用的角度,初学者直接进入golang或python之一即可,是之一,两者不要同时学,也不要在语言上做对比做类比。如果对语言感兴趣,首选Python/ c++/ java均可,然后再去学习golang 会经历一种拨开云雾见明月的内心体验????

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<