1. 聚能聊>
  2. 话题详情

膜拜!编程语言界它才是真王者

近日,stackoverflow发布了Developer Survey Results 2017,该报告对开发人员进行了使用语言(最喜爱的、最讨厌的、最想用的等)、检查代码次数等等的调查,据调查并绘制了表格我们来看看

程序员最常用的编程语言

screenshot
图表中可以看出JavaScript占据了该调查的榜首,热度有增无减,SQL、Java的排名没有什么大变化,Python和PHP第一次排名如此靠前,不知道会不会成为接下来一年的新趋势。

最常用的框架、库和其他技术:

screenshot

最受欢迎的数据库

screenshot
上述图表显示,MySQL和SQL Server是最常用的。值得注意的是,本次数据库调查主要针对初学人员,也就是说大部分初学者会选择MySQL或SQL Server。

Web开发程序员最喜欢的编程语言

screenshot

最受程序员欢迎的开发环境

screenshot

全球范围内挣钱最多的编程语言

screenshot
在全球范围内,使用Clojure的程序员平均工资最高达72,000美元。在美国,使用Go的开发人员以及使用Scala的开发人员薪酬最高,平均工资为11万美元。在英国,最高的是TypeScript为53,763美元,在德国最高的则是Java,在法国,Python是42,151美元。

___________【语言大PK】__________

.

NO.1 你认为谁才是王者语言,说说理由!

NO.2 你觉得那种语言是吸金能力最强的,理由是!

NO.3 分享下你所精通语言有哪些优缺点!

NO.4 说说你最不看好那种语言,理由是!

参与话题

奖品区域 活动规则 1月后 结束

  • 奖品一

    阿里云代金券 x 5

  • 奖品二

    云栖社区纪念胸针 x 2

  • 奖品三

    云栖定制电脑包 x 3

68个回答

3

似水的流年 已获得云栖定制电脑包

NO.1 你认为谁才是王者语言,说说理由!
java,java一如既往的受开发者的欢迎,开发大军比较多,适用范围广
NO.2 你觉得那种语言是吸金能力最强的,理由是!
java.php都比较好吧,现在大多数网站都是这两个语言为主,可能之后php会有优势,感觉比java方便
NO.3 分享下你所精通语言有哪些优缺点!
java一次编写到处运行,面向对象学习比较简单,缺点是速度比较慢,没有C和C++快
NO.4 说说你最不看好那种语言,理由是!
go语言出来到现在社区还是比较少,学习麻烦,使用的人比较少

巴洛克上校 回复

我猜你一定是搞java开发

似水的流年 回复

∩_∩恭喜你猜对了

zht2000 回复

python是世界上做好的语言

巴洛克上校 回复
回复@zht2000:

来啊,快来谈谈你的见解,这里快被java包围了!

zht2000 回复

简单容易上手,使用,你先抵抗一下哈

评论
2

shawn.ss 已获得云栖定制电脑包

NO.1 你认为谁才是王者语言,说说理由!

(以下个人看法)
两种语言最终会制霸编程界:

一类是快速开发,被广泛支持的泛用类语言,

代表是JavaScript,只要硬件性能超过一定阈值,执行效率不在成为问题的时候,开发效率就是关键。
这个时候,学习曲线最平缓,开发社区人数最多,各类资源最多,编写速度最快的语言会迅速占领市场,任何能用这一类语言写的程序,都会渐渐变成用这一类语言写,**马太效应,赢者通吃**。
看看js最近势如破竹的进军各个领域就知道这个趋势可能还会继续下去(预期是以y=1.000000001^x 的速度推进,前慢后快),js可以写后台,可以写桌面应用,可以写网站,可以写部署脚本,可以写客户端,这个是10年前绝对没人想到的。

第二类是和硬件紧密连接,编写为泛用类语言提供支持的环境的语言,

原因很单纯,有了蛋(JavaScript)总要有鸡(v8 engine)。

未来趋势

当硬件性能超越阈值,目前的主流服务器语言:java / go /php(这货应该不成,暂且列进来) 会在大公司中集中,毕竟只有这一类大公司才有性能要求,才最没办法替换成JavaScript。但外面的各类中小规模的软件系统,将全部用JavaScript完成,原因很简单,速度快,资源多,未来几年内,JavaScript的开源库将超过java的,几乎所有的基础需求,都会有至少一个JavaScript的开源库支持。

NO.2 你觉得那种语言是吸金能力最强的,理由是!

按职业为程序猿,通过编码劳动来赚取工资的标准判断,根据上述的逻辑,写支持泛用性语言的引擎的语言会在未来成为最吸金的。这类语言难度大,学习成本高,对编程技巧和底层硬件知识积累要求极高,门槛决定了吸金能力。
要是有人说大数据和其他复杂的建模之类的事情,认为支持那些语言吸金,我想说那些人不是程序员,那些人是数学家,后续编程是人人都会的基本技能,做模型所需要程序语言知识会少到小孩子都能掌握, 真正有用的是模型本身,而不是模型的编程代码。所以做python的研究者后续可以考虑不要划归在码农行列了,那种简单的代码如果规模再做不大,基本上只是把编程当成工具使而已。

NO.3 分享下你所精通语言有哪些优缺点!

还好会两样:

java java的缺陷,

写起来慢,录入量大,过于重量级,不适合作为脚本使用,即使开发小型程序也会因为需要配一个不小的jre而感觉累赘;

java的优势,

效率不错,稳定,社区庞大,资源多,开发工具多(各类内存监控,线程监控,单步调试工具),编译检查不易出错;

javascript javascript的缺陷,

执行效率不高,无类型检查易出错(typescript扩展表示不服,strict模式也表示不服),目前还是明文编码,无二进制可执行版,传输速度和保密性有待提高。

javascript的优势,

泛用性,编写效率高,社区庞大,资源多

NO.4 说说你最不看好那种语言,理由是!

即不具备泛用性,又不贴近底层的语言统统不看好,包括java
趋势上看,java还会活跃很久,但从趋势分析,C(GO)和JavaScript最终会实现霸权,
除非出现新的情况,谁知道呢

巴洛克上校 回复

说出你想要的奖品!!

shawn.ss 回复

哈哈,谢谢,如果可以,奖品三,不然奖品一也很好

巴洛克上校 回复
回复@shawn.ss:

电脑包吗?

shawn.ss 回复

是的^_^

巴洛克上校 回复
回复@shawn.ss:

木问题

评论
1

巴洛克上校

折磨多支持JAVA的,PHP表示不服!快来人啊,难道么有搞PHP的吗!

巴洛克上校 回复

折磨多支持JAVA的,PHP表示不服!快来人啊,难道么有搞PHP的吗!

巴洛克上校 回复

折磨多支持JAVA的,PHP表示不服!快来人啊,难道么有搞PHP的吗!

巴洛克上校 回复

折磨多支持JAVA的,PHP表示不服!快来人啊,难道么有搞PHP的吗!

似水的流年 回复

有呀

巴洛克上校 回复

在哪里!

shawn.ss 回复

阿里云主流的技术是java,阿里也是java技术的大本营,这么呼唤其他语言,不怕被多数人暴政吃掉 <_<

巴洛克上校 回复
回复@shawn.ss:

哈哈要的就是这个效果 哈哈~~~

shawn.ss 回复

之前当过论坛的斑竹,想拉人灌水,找话题的心情历历在目啊

巴洛克上校 回复
回复@shawn.ss:

老司机啊

评论
1

浮夸点点 已获得阿里云代金券

NO.1 你认为谁才是王者语言,说说理由!
我并不认为有什么绝对语言王者,大多数语言都有他擅长领域,那么在他的擅长领域这门语言就是王者。最早接触C算是启蒙语言,对于我对计算机语言的实现原理有很好的引导作用。java算是我认识最早一处编译到处运行的语言,随着不断的了解发现java确实博大精神用处多多。python学习简单,提供了很多线程的模块能让你快速上手完成大多数工作。

NO.2 你觉得那种语言是吸金能力最强的,理由是!
Go和python两个把,这两个心性可以说各有自己领域,因为兴起的时间短精通人少所以费用高。Go依赖于近些年一些分布式的开源服务火起来,python因为他的开放包容迎来了大数据和人工智能的春天。

NO.3 分享下你所精通语言有哪些优缺点!
我对python算熟悉吧,感觉易学难精,如果用vim开发语法格式tab和四个空格不好识别。。。。

NO.4 说说你最不看好那种语言,理由是!
我要大黑一下C#,因为好几个朋友第一份工作都是C#后来就找不到工作了,然后都去转php和java了

巴洛克上校 回复

C#表示不服,哈哈!

浮夸点点 回复

主要现在win server的市场占有率越来越少,很多朋友也是被逼无奈,一般技术总监不是做C#出身,不会语言选型C#。陷入死循环。。。。

巴洛克上校 回复

linux 的天下

浮夸点点 回复

是的linux确实比win server多很多,之前我们很多在win下开发同事也都换到mac和ubuntu了

评论
0

1521297579551734 已获得云栖社区纪念胸针

NO.1 你认为谁才是王者语言,说说理由!
我认为是C,C是公认的语法最简单,编写最复杂的高级语言,而且可以内嵌汇编,是功能最强大的语言之一。如果精通C,那么精通的是编程思想,你可以快速上手java,csharp之类的语言,而你精通java,你只是精通一门语言。

NO.2 你觉得那种语言是吸金能力最强的,理由是!
目前看来是java吧,这些商业化语言毕竟天生就是为了盈利,所以技术,性能不是最重要,易学易上手,快速开发部署,并且可用才最重要。这些语言天生就为商业化,当然最吸金。

NO.3 分享下你所精通语言有哪些优缺点!
C的优点不用说,基本可以实现所有的功能,并且支持内嵌汇编,弱数据类型和指针使得能够容易实现复杂的数据操作。
C的缺点就像许多人所说,开发效率低,因为所有的功能都得自己实现。

NO.4 说说你最不看好那种语言,理由是!
最不看好那些商业化语言吧,虽然容易上手,开发部署快,但性能一般,功能受限,哪天商业公司转向其他更新的语言,会迅速没落。像现在十多年前C开发的经典软件和代码库仍有许多,但如果java热冷却,十年后就基本看不到java开发的软件了吧。

巴洛克上校 回复

我也喜欢C语言,你是开发C的吗

shawn.ss 回复

其实C不如汇编,汇编才是不商业化的基础语言,而且学习了汇编,你就掌握了计算机的全部(^_^)

城东苑铁匠 回复

66的c

评论
2

易水寒666 已获得云栖定制电脑包

NO.1 你认为谁才是王者语言,说说理由!

java吧,这种多年一直长盛不衰,伴随着随着互联网的崛起而发展,在开源、跨平台方面也是起到了示范作用,前无古人。

NO.2 你觉得那种语言是吸金能力最强的,理由是!

Python,当前最热的AI、ML领域首选语音,看看这块领域的人均薪酬就知道吸金王该是谁了。

NO.3 分享下你所精通语言有哪些优缺点!

JAVA,精通算不上。优点:
1、入门门槛低,拿本thinking In java 花上1个月自学就差不多上手了。
2、不需要关心内存分配,没了担心内存溢出等c++语言的痛苦。
3、跨平台,一次编写,到处运行。
4、开源,想深入学习可以看源代码,遇到问题实在搞不定可以自己改源码,给你更多成为大师的可能性。
5、API多,且很多也是开源的。
6、招人门槛低,大把大把的毕业生。
缺点:
1、性能较c++差点,但现在性能基本不是问题了。
2、需要运行环境、不适合开发桌面应用程序

NO.4 说说你最不看好那种语言,理由是!
语音存在即合理,不看好的是语音代表的应用发展前景,而非语音本身。

巴洛克上校 回复

看来你也是做JAVA的

易水寒666 回复

哈哈,老人家大多是用java吧

评论
1

nifflers 已获得阿里云代金券

1、在我眼里最赚钱的就是王者语言;Clojure,虽然这是在美国,不知道在国内是哪个,但是我还是我的答案,谁最赚钱,谁就是王者语言。2、Objective-C,想做iOS开发,先学这有个(暂时抛开swift),学完这个,做出app来,想发布,得注册开发者账号,99$,还是钱。3、我不精通Objective-C,算是熟悉这门语言吧!集编译器,语言,框架于一身的语言。可以和swift混合编程,但是不支持多重继承,运算符重载等,但是这些都不影响!4、最不看好的语言,国内的啊,我不看国际的了,无脑跟风的语言,最不看好,但是目前来说,还没有,不过让我有一点不开心的是:kotlin,盲目跟风,太严重,我保守,但是也赚钱学习前沿技术,不过,前沿归前沿,我心里有分寸。

巴洛克上校 回复

挣钱的语言才是王道哈哈~~

nifflers 回复

哈哈~谢谢您了。

评论
1

海洋的云 已获得云栖社区纪念胸针

NO.1 你认为谁才是王者语言,说说理由!
应该没有真正的王者语言存在吧,每种语言对应着不同的业务场景有着各自的优势,随着技术的不断发展,只是有些语言紧跟了潮流,有些脚步有些慢而已。
NO.2 你觉得那种语言是吸金能力最强的,理由是!
感觉这个吸金应该分情况讨论。

如果是对别人而言吸金的话,感觉Java、PHP比较吸金,因为你看外面各大培训班,培训Java、PHP一培训就是少则三个月,多则大半年,学费基本上都是五位数。而R啊、Java啊JavaScript啊,等等,都是各种99元1-7天速成。所以如果想做培训教育的话,你懂得~

如果就个人职业发展而言的话,当然是学一些与技术发展结合比较紧密的语言,比如在机器学习领域,Python可以让你玩转各种算法。再加上最近很火的深度学习,Python也可以信手拈来。减轻了学习新语言的时间精力耗费,省时省力省钱,还可以赚钱,对不。

NO.3 分享下你所精通语言有哪些优缺点!
完了,发现自己没有**精通**的语言啊,肿么办。目前使用中的R、Python最大的优点就是免费!免费!免费!再就是数据分析、数据可视化和机器学习、深度学习方面的库很健全,使用起来很得心应手。
NO.4 说说你最不看好那种语言,理由是!
不是很看好我还没接触到的语言,因为我目前业务没接触到的话,最起码就我个人而言,这些语言对我的价值不是很高,但是如果哪天突然冲出一匹黑马的话,我也愿意直面自己的问题。

0

fy1983 已获得阿里云代金券

NO.1 你认为谁才是王者语言,说说理由!
我觉得随着人工智能领域的持续升温,接下来很长一段时间python会越来越强,毕竟python简单易学,新人容易入门。人工智能又是一个跨领域的事情,这些领域需要人工智能相关的人才,那肯定要有这么多职位,用的人多了,自然会成为王者。但是现在来说java还是王者,毕竟有这么多系统是java写的,也不太可能去改。
NO.2 你觉得那种语言是吸金能力最强的,理由是!
吸金能力,我觉得java php 都比较容易找工作。小众专业性的语言可能会更赚钱一些,毕竟物以稀为贵嘛。
NO.3 分享下你所精通语言有哪些优缺点!
我是主要用的php,我认为最大的问题是php,没法做队列,做定时任务。因为他主要是用来做网站,而这些又是网站上经常会用到的一些东西,可是他又做不了,还得找熟悉其他语言的程序员帮忙,或者购买这方便的服务。
NO.4 说说你最不看好那种语言,理由是!
小众的语言,文档少,社区不活跃的,都不看好。自然选择嘛,用的少的就会变的更少,最后挂掉。

2

shawn.ss

NO.4 说说你最不看好那种语言,理由是!
单纯想针对PHP回答下这个问题,毕竟也做过php开发,
整体感觉,PHP其实非常鸡肋,
性能上干不过java:mysql连接池都没有,常驻内存的结构没有(连接memory cache吧,少年,即使只有几百byte的数据),多线程编程的各类支持少的可怜;
泛用性干不过JavaScript,写php的脚本谁用过,虽然我知道他能写;
可扩展性和可维护性简直是负分:代码容易被滥用(很多直接在页面里嵌入服务端代码的实例),尽管写得快但难维护,各种风格杂糅(面向对象的风格+全局函数式+各种奇葩的全局define),加上某些框架的随意性(例如,ThinkPHP,数据库操作的类一大堆,同一个函数调用居然可以产生不同的结果),更加使得整个语言无法规模化。
此外,由于php本身很简单,简单到很多事情办不了,所以复杂的php的扩展只能用C写,扩展成本不低吧;
唯一算得上优点的是:上手快,免费资源多,于是成了某些不合格的开发的起步点,之后便在这群人帮助下故步自封的成了“最好的语言“,这是我见过最励志的故事了。

巴洛克上校 回复

做过PHP 还这么说它,它会伤心的哈哈!!

shawn.ssh 回复

就是因为做过,才说了自己的看法,而且目前已经有php编译成js的babel编译工具了,PHP开源的内容,后续可以继续用node做

评论
0

始皇 已获得阿里云代金券

NO.1 你认为谁才是王者语言,说说理由!
java,为什么是王者都不用说,都知道是王者。
NO.2 你觉得那种语言是吸金能力最强的,理由是!
Java,烂大街的培训机构,公司里的保安都会写helloworld。
NO.3 分享下你所精通语言有哪些优缺点!
c#,我曾经做过很长时间的c#开发,规范好,好开发,IDE是最好的没有之一,缺点,C/S时代可以纵横天下,B/S时代也是不错,只不过了解的人少,所以大众对c#这个语言不如Java知道的多。
NO.4 说说你最不看好那种语言,理由是!
GO 很火,Google的主流语言,但是发展时间短,对未来不看好!

0

天—空

**第一个回复的> .< **

NO.1 你认为谁才是王者语言,说说理由!

JAVA,java毕竟出出现的时间比较长,拓展性强,几乎达到全平台兼容的特性~而GO语言虽然有较强的跨平台性,但是出现的时间较短~

NO.2 你觉得那种语言是吸金能力最强的,理由是!

个人认为JAVA是吸金能力最强的~毕竟本人JAVA工程师~

NO.3 分享下你所精通语言有哪些优缺点!

1.0**优点**Java为我们省去了这样的麻烦,或者说JAVA完整的限制了对内存的直接操作,让程序员能够安心去搞业务逻辑,而不用管自己后院的那堆内存有没有人来收拾.
1.1.平台无关性的真正意义在于程序的可移植性高,能够在多个平台平滑迁移。这点就特别适合网络应用。

1.0**缺点**JAVA并没有让程序员完全省心,他代办的事情也仅仅是内存罢了,其他资源的调用和释放都还是需要程序员自己来关心的,比如数据库,比如文件.当然了,我们不能指望什么都吃现成的,总有东西是要自己做的吧.
1.1当然首先就是内存操作限制带来安全的同时带来的副面效果了.....

1.2 其次呢,就是面对对象的一个很重要的特点所带来的——多态,这个东西是娘胎里带出来的,谁也没办法,而且这个因素的“后果很严重”(我等下会讲我们的JAVA小朋友自己跟别人学了一招来解决这个问题)。但是不对啊,C++不也声称自己面对对象的嘛,这个问题他也有,你干吗非说我呢?来自JAVA的声辩。哈哈,这你就不如人C++圆滑了吧,人家的多态是编译器编译和连接时实现的,可你是运行时实现的,效率问题可见一斑了吧。

JAVA小朋友想了很久,想了一招。。。我已经不记得他什么时候开始会这招了,但是他真的会,征对一些不会变化的程序,他就让大家可以用预编译来实现。其实这个事情也是C++真正做的。但是这样的一个解决方案就屏蔽了动态创建和连接的能力。这里还需要说明的是,这样的方法一般都运用在变化少而且对性能要求特别高的时候。毕竟如果不是面对大批量的处理和集中请求这样的问题,我们的硬件应该能满足这样的要求。

1.3平台无关性带来的。由于需要平台无关,所以JAVA是不能直接调用OS的API的,JAVA需要调用自己的API来隐式地调用OS的API,大家可想而知这样的效果。多一层调用,必然多一层代码需要加载到栈内了。不过这个问题目前也有解决方案了吧。。。这个方面我不是很在行,只是看到一些资料而已,接触太少。比如JNI(Java Native Interface)

2.逆向编译问题

确实是第一次听说这样的问题,天啊,没接触的东西还真的。这里就只能套书上的话了。

由于JAVA程序是动态连接的,从一个类到另外一个类的引用是符号化的。在静态连接的可执行程序中,类之间的只是直接的指针或者偏移量,。相反地,在java class文件中,指向另一个类的引用通过字符串清楚地标明了所指向的类的名字。如果引用指向一个字段的话,这个字段的名字和描述符会被详细说明。如果引用指向一个成员变量,这个成员变量的名字和描述符(方法的返回类型,方法参数的数量和类型)也会被详细说明。

这有什么关系哦。。。。不过据说这样就能通过逆向编译一下子就把我原来的代码给搞到了。。。那我写了那么久不是太亏了嘛。。。这样看来。。。产权问题咯(呼呼,上升到法律了。。。西西,我喜欢)

3 线程调度问题

关于线程调度,说老实话,我在学操作系统的时候,所有的线程问题都是在Linux下用C去做的,原因第一是linux的线程API比较清晰,而且我受不了Windows的那些API的名构造。第2就是因为我觉得Java虽然是一个总进程下的多线程,但是线程间的调度没有非常的清晰,相比较而言,还不如直接调用操作系统的线程支持呢(虽然linux对线程级别支持也不是特别好,但是毕竟不是有包支持的嘛),记得当初的哲学家饥饿问题我最后算是用JAVA调配出结果了,可是到最后我自己都晕了。这些都是我个人的看法,也很可能是一些偏见,至于别人书上专业的解释是:由于为了能够支持多种系统的不同的线程支持策略,JAVA只能采取这样笼统而又松散的线程规范。

其实优点和缺点是相对的,做过比较就知道,其实优点和缺点有时候正是同一个因素带来的.这也需要我们用唯物主义辨证原理来看待(我只是说唯物主义,没有国籍的那种).更多的时候我们需要在我们所需要的东西和我们为此需要付出的代价间作出正确的trade off.(操作系统老师最喜欢说的词).

NO.4 说说你最不看好那种语言,理由是!

最不看好的语言就是C/C#,因为任何一个学过C或者C++的人都知道指针的操作对于他们是很重要的,为什么,指针能够支持内存的直接操作,这样的直接操作能够带来的是效率上的提高.但是任何一个东西都是有副作用的,指针给程序员带了的混乱也是无可比拟的.对于一个不是很强劲的C程序员而言,指针是要命的(对我而言也是,我几乎不会写C代码).

PS:码了一上午字了~

天—空 回复

PS:万水千山总是情,给个评奖行不行~

巴洛克上校 回复

说实话,全是你一个个打的字吗?

天—空 回复

天—空 回复
巴洛克上校 回复

http://blog.csdn.net/williamandurey2014/article/details/39748763 你看看看这篇文章怎么解释呢

评论
0

双子大人

js一统天下!

巴洛克上校 回复

必须的

评论
1

1641601295917935

从统计数据上,JS是最受欢迎的,使用人数最多,可谓大众所趋。相信未来这种趋势是势不可抵挡,但不同语言各有各长短之处,JS也不能完全替代其它语言。

0

可可商务

swift

0

1583394137256598

JavaScript比较少

0

1908464311700046

css

0

coocooco

各有所长。。没啥好比的

0

1466302187089976

厉害啊,java最多

0

kouryoushine

webstorm,工具貌似没有啊

4
4803
浏览
1
收藏
邀请他人互动
关注
8
粉丝
70
话题
11

简介:

WEB前端工程师 & 网页设计师 & 伪极客
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、PostgreSQL、高...

大数据开发套件(Data IDE),提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,为您...

在云上签发Symantec、WoSign、CFCA证书,实现网站HTTPS化,使网站可信,防劫持、防篡改、防监听...

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...