C++,Java,Python,Ruby,Go哪个好?我们选哪个?

我们在开始想学一门计算机开发语言的时候,相信都会有过这样的经历:学那门语言好呢?那么多语言。C/C++,Java,Python,PHP,Ruby,Go等等,还有很多。但是你每门都不会,自己又没办法比较,自能网上去搜。网上各种开发语言有贬也有赞,你又拿不定主意了。现在,我就简单讲一下这些语言的特点:

C/C++

编程语言:C/C++,Java,Python,Ruby,Go哪个好?我们选哪个?

C/C++

现在写C/C++的好像少了很多,它们主要写一些比较底层的东西,什么是比较底层的东西呢?就比如:

  1. 操作系统的开发,就像我们使用的windows/linux/Android等等;
  2. 驱动的开发,就像洗衣机、空调里面的单片机控制程序之类的;
  3. C++是C的升级版,C++其实就是C的基础上扩展了许多包进去,开发相对来说比C要简快一点,C++比C要火一点。大部分招聘的C/C++都处于游戏、引擎之类的开发上了。

C/C++相对于PHP、python、Ruby而言偏于底层,好多东西——库方法模块都需要自己写,所以这两个语言相对来讲就比较复杂。

Java

编程语言:C/C++,Java,Python,Ruby,Go哪个好?我们选哪个?

JAVA

Java诞生于90年代初,因为那时候一出来便有跨平台的特性。C/C++都不是跨平台的,就比如说在windows上开发的东西,想移植到linux上,是一件非常麻烦的事情,你就要开发两套一样的软件,甚至更多。Java就避免了这样的事情,它有个自己的虚拟机,你只要在每个平台上安装了它的虚拟机,你在windows或linux上开发的代码切换到另一个平台上,基本上不用怎么改动就可以跑起来。所以他的跨平台性特别好,这样的特性让它火了起来。

现在它的这个特性,已经没有特别的优势了,只是因为占领了早期的市场,企业中使用最广泛。很多企业的早期软件都是它开发的,逐年使用扩展下来,已经不可能再用其它的编程语言再写一次了(通俗来讲,也就是钱的原因),除非系统有很大的问题,不然不可能会换了。

当然,经过多年的发展,他也是一个很成熟、稳健的一个语言。但是相对于某些领域,比如运维开发,使用Java没有python、ruby、perl方便。学习成本也相对较高,没有脚本语言简单易学的特点。

PHP

编程语言:C/C++,Java,Python,Ruby,Go哪个好?我们选哪个?

PHP

PHP它的诞生就是为了用来做WEB(网页)开发的语言。所以它有它的局限性,它主要的优势是做中小型网站开发的时候能很高效、快速做出来。当然,也有些人用它来做一些服务器端的(后台)开发,比如:系统管理软件、游戏开发等等的软件。这样不是不行,也能干,但是这样它的优势便没有了。就好比你用linux shell(另一门命令行式的脚本语言)去写一个俄罗斯方块游戏,特别牛的人也能写出来,但是它不是做这个事情的。

PHP现在是挺火的语言,它也是火在它能迅速的开发一个中小型网站。并且与Java出生年代相似,占领的市场比较早也是原因中之一。大家一直用,所以就用起来了。但是一些新创业公司,新起来的网站,他也很有可能会选择其它语言去做,比如:python、ruby。

ruby

编程语言:C/C++,Java,Python,Ruby,Go哪个好?我们选哪个?

ruby

它在国内应用不是很广泛。由一个日本人开发的,代码风格有python的影子。它最出名的框架是有个由美国人开发的,叫ruby on rail,主要用来最web的开发。在应用开发方面发展比较缓慢。在我看来,它也是一门非常优秀的开发语言。因为它出生比python晚,也不比python优秀多少。学会了python其实看Ruby的代码也能懂。

Go

编程语言:C/C++,Java,Python,Ruby,Go哪个好?我们选哪个?

Go

谷歌新出的语言,比较火。其实我看到现在很多人都很推崇学Go,但是有的人连Go是干嘛的都不知道。谷歌之前用python比较多,但是后来发现有些地方python不够高效,运行速度不够快,但是用C语言开发又比较麻烦,所以就借鉴了很多C语言的东西,做出来了一个Go语言。在国内新创业公司企业,有部分企业是使用Go语言开发的。代码看上去也不算复杂,比python稍微难点。但是,相信我,他很可能主要做开发方面的,就是开发服务器端的。但是做一些小脚本、自动化、运维这些,它肯定不如ruby、python。

python

编程语言:C/C++,Java,Python,Ruby,Go哪个好?我们选哪个?

python

python相较于以上语言,它集成了以上的所有特点:跨平台、web开发、运维自动化开发、桌面应用、服务端开发、游戏、甚至硬件也正在掺和。但是国内大部分应用都是在运维、web、科学计算、爬虫方面的。特别是爬虫,现在只要一提爬虫,一般人就会联想到python,我觉得这是走偏了。因为它的第三方库非常非常多,它没有只适合做某个方向的开发,几乎所有领域(对我们普通一般人而言,不指某些特殊职业)都有对应的库/框架。可以说,都是它所擅长的。

后记

介绍到这里,相信大家心里也有数了,学哪门语言取决于你自己最想要干嘛,你想要做一个挖掘机自动炒菜的程序你不可能用除了C之外的php、Ruby等其它语言去做,也做不出来。你想要做运维,你肯定不回去学了Java然后去干运维的活,你要写游戏辅助脚本你也不可能用C去做。*(“PHP天下第一!”,求各位PHPer不要打我(讨好脸~))

选择取决于你想干什么,而不是哪个语言“棒棒”哟


分享到:


相關文章: