为什么感觉程序员以写java语言为主?

我的名字长度有3厘米


首先我们从历史趋势来看,正如题主所说,Java在2020年2月,又回到了编程排行榜的第一名。


(数据来源:HelloGitHub)

2020年2月Java流行程度17.385%,除了C语言比Java只第一点外,其他的编程语言和Java相比,其流行程度比Java相差甚远。


Java占比数量大,使用人数多,这也是题主认为大部分程序员都在写Java的原因。


为什么使用量会这么大呢,这其实和Java语言本身的特性有关。

Java的诞生,解决了C++很多的问题,它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。


实际上,Java使用的人数太多,还是因为他的生态圈太庞大了,我们哪儿都无法摆脱他的影子。


一个果核


对于IT科技圈而言,程序员很普遍,特别是一些城市的科学城,路上十个人估计能找出一半的程序员来,另外一个奇怪的现象就是这些程序员当中绝大多数都是从事Java编程开发的,为什么会有这种现象呢?

Java在编程界的地位不可撼动

Java作为一门面向对象的编程语言,从诞生到现在已有25年了,由于其跨平台、生态好、安全性高被广泛应用于桌面应用(如传统的EXE程序)、Web应用、各类分布式及嵌入式系统中。

虽然Java也有缺点,比如占内存、运行相对于C/C++要慢,但在编程语言排行傍上始终名列前二位,足见其影响力。

互联网及金融企业多数采用Java为主要后端开发语言

互联网对于社会的发展起到了巨大的推动作用,特别是“互联网+”思想让各行各业都进入了信息化,再小的企业也都有网站,各类APP应用层出不穷,而这些网站和APP的背后也离不开Java的支持。

虽说Web类的编程语言很多,但互联网、电商网站、金融类应用后端绝大多数都是采用Java为主要开发语言,导致了市场上对Java岗位需求的增加。

Android及大数据技术让Java又“火”了一把

在Android和大数据技术没出现之前,Java的应用场景更多的是偏Web应用、嵌入式系统等。而Android系统诞生后,Android应用首选开发语言就是Java,让Java的应用场景更加多元化了。

另外,当下流行的大数据开发平台很多也是基于Java的,比如Hadoop是用Java语言编写的。


综上,感觉程序员中大多是偏Java方向的缘故是Java的市场需求量大的缘故。


以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

网络圈


作为一名IT从业者,我来回答一下这个问题。

首先,当前Java语言是IT行业内最为流行的编程语言之一,伴随着互联网的发展,Java语言在很多领域都有比较广泛的应用。除了Web开发领域之外,Java语言在移动互联网开发和大数据开发等领域也有比较广泛的应用,而且由于Java语言的生态体系比较健全,所以很多技术团队也比较愿意采用Java语言,这也给不少人造成了一种程序员都在使用Java的错觉。

当然,随着当前Python、Go、OC等编程语言的崛起,Java语言也出现了一定的下滑趋势,目前在大数据、人工智能等领域,Python语言的应用正越来越普遍,所以未来在产业互联网时代,Python语言的发展前景还是非常广阔的。当前对于学习能力比较强的人来说,学习Python是比较不错的选择,然后可以进一步向大数据和人工智能领域发展,这些领域的岗位附加值还是比较高的。

虽然当前Java语言出现了一定程度的下滑,但是Java开发的市场存量非常大,而且目前依然有大量的任务开发在采用Java语言,所以未来很长一段时间内,Java语言都将是最为流行的编程语言之一。如果当前想在IT行业内获得一份初级开发岗位,那么学习Java也是不错的选择。

最后,从编程语言的发展趋势来看,未来在产业互联网时代,编程语言本身将逐渐简化,大量的功能将由各种技术平台(云计算、人工智能)来完成,所以未来学习编程语言的难度也会不断下降。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!


IT人刘俊明


那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。

---因为没人用,那么库就会少。因为库少就不会好用。因为不好用。所以用的人更少。生态圈的核心思想。

--那这个世界是不是只有C++/Java了。肯定不是。因为有些语言是有前途的。最大的特点是。简化了程序员的负担。或者效率更高。未来肯定是主流。

那么我们常用的语言和有前景的语言是哪些

C/C++/Java/C#/Python/Ruby/Go/JavaScript+Html

好。这些是我们常用的语言。我们看待的是怎么把这些语言一步步的踢掉。然后只剩下Java的。

首先踢掉的是C。至今大型的超过10万行代码的图形化界面程序没有几个是用C的。因为复杂的错误处理和没有纠错机制。使得程序非常容易崩溃。同时。因为C没有面向对象。那么工程化开发显得非常麻烦。

相信没有人现在主动说。用C开发App这种多界面程序吧。

继续踢掉的是C#。我干嘛要用一个一出生就为了对付Java的。还是微软的私货的语言。对。Android是开源界的。而C#注定不是适合开源界的语言。

那我们继续踢语言:

我们该要一门重语言还是轻语言?

Java/C++/C#/Go/C是重语言。

Python/Ruby/JavaScript+Html/是轻语言。

对。我心目中划分语言的标准基本上是属于这样的,只要在代码中体现我们需要讲效率的。那就是重语言。

重语言首先讲究的是运行效率。然后讲究工程化。

轻语言讲究开发效率,讲究敏捷性开发。

回到我们选语言的原则。

我们想开发一款本地App。还在性能不高的手机上。

那么除了C之外的开发语言中。运行效率最高的是C++,然后是Java。

那么轻型语言就要被一个个踢掉了。

Ruby在网页端有作为。但是库太少。图形库更少,开发者都是网页端的人。被踢。

JavaScript+Html - ----> 这是未来大一统的趋势。但是我们现在是找一门开发本地App的语言。

外加真心html+JavaScript有着先天的劣势。(效率+Offline)

Python有着完善的库。有着极高的人气社区。在手机上开发也有过尝试。(Nokia就干过这事。Ubuntu Phone的UML也是一种类python的语言。)Google也是python的大用户。效率是问题。但是不是绝对的。先对Python实现保留意见。

那么我们看这一轮入围的四门语言

Java/C++/Python/Go

再说Go。Go语言还不成熟。库也不多。开发者少。但是作为Google主打的语言。很有可能。Google会提供基于Go的Android sdk。至少现在Android的主打语言不会是Go。

剩下三门

C++/Python/Java

C++重运行效率。但是跨平台性较弱。开发难度较高。库多,用的人多。

Python,重开发效率。跨平台性高。开发难度低,库多,用的人多。

Java。重开发效率。不及python,重运行效率,不及C++。开发难度低。库多。用的人多。

那再回到需求:

Google是想要一门开发本地App的语言。Google想屏蔽掉底层硬件的差异。实现对于开发者来说是一个统一的平台。

同时。对于手机这个现阶段的平台来说。耗电,以及性能。是无法回避的问题。

那么这门语言的跨平台性要求很高。同时效率又很高。

说Python:效率实在无法达到其普遍的手机要求。尤其是对于图像处理这种高计算操作。且。社区无法与C++/Java相比。意味着库没有Java和C++多,开发者不是跟Java和C++一个等级的。

说C++:用过JNI的人都知道本地的C/C++库,至少要编译多次。不同的框架就代表者不同的编译环境。而且直接用C++编译运行的话。C++并不能很好的屏蔽掉硬件差异。所以对于开发来说调试来说,都是一个比较艰巨的任务。

C++也不是一个非常好的工程化开发语言。

那有没有破解法。Qt。可以用框架屏蔽掉大部分的细节操作。Qt5.0支持Android。

为什么没用。估摸着是跟Qt不是Google家的产品加不开源的问题吧。

说Java:虚拟机是核心。因为虚拟机真正能屏蔽掉开发的很多差异。而且通过虚拟机。开发者只要在打包的时候翻译成运行码而不需要翻译成机器码。通过虚拟机完成很多差异的解决。而效率并不是丢的非常严重。

且Java比C++更受开源界和工业界的共同欢迎。即使Java也有版权问题。。。

我们屏蔽掉最基础的硬件差异。通过Linux,在屏蔽掉手机的一些基本功能差异。然后提供纯粹的利于开发者开发和测试的方法。只有通过虚拟机了。而这个虚拟机是需要讲性能的。

Google搞了一个Davlik虚拟机。对。这就是Android的核心。就是因为性能要求高。不得不重新开发虚拟机。Davlik就是一个非常讲效率的虚拟机。而其他的常用库都有的,现成的。根本就不需要自己去写的。只要打包就好。


阿阿行


Java是一种在虚拟机上运行的编程语言,这也就保证了其可移植性较好,同时很多Java包的封装给使用Java语言编程的程序员带来了很大的便捷,所以,Java在应用程序开发中使用的很多,因为应用程序开发市场很大,涉及生活生产的方方面面,因此感觉到很多程序员是以Java作为主要开发语言的,但在比如嵌入式领域、工业控制领域等,用Java的就比较少了。


来无影去无踪


1、java的社区活跃,各种开源组件多,容易找到合适的处理案例;

2、国内互联网大厂主要项目多是用java,引领了方向,比如阿里等;

3、java性能好,上手不难。


蹦跶的小金鱼儿


主要是国内的大厂以Java为主,大厂出来的人做小公司的Leader就会选择Java作为技术栈.


花乞丐


java有大公司背书,有很好的开源社区,有杀手级的应用,解决了很多其它语言的不足,所以java得到极大应用


挖挖机三号


java是跨平台的,并且比较容易上手


精灵之行


当然不是,Python, C, C++,Swift等的非常多,具体看应用领域


分享到:


相關文章: