如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念。犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值。而Java作为现代程序员的中坚力量在这点上会不会成为下一个COBOL?

有关JAVA的技术卖出多少本书已经是一个很久远的记忆了。现处中年时期的Java语言的用途已经不再出现在各种杂志的封面上了。JAVA从出生到现在已经26年了,应用开发圈已经开始绕着那些更有吸引力的新技术。Java或许是Web 1.0时代的一个传说。

从招聘信息你就可以知道,跟iOS相关的开发有2500左右的招聘,Java则有17000多个。数据不一定能完美的衡量技术的价值,但是在不断推陈出新的技术推广压力下,Java职位是iOS的7倍之多可以说明问题。

在忘记Java在计算机行业里所扮演的角色和做出的那些卓越贡献前,有12个绝对的理由来告诉你Java不但不会和COBOL一样被堙灭,并且在其后时代中更加壮大。换句话说:Java一直就在并且其地位无法撼动。

Java在市场斗争中不屈不挠 
技术界从来没认为Java会成功,尽管它的对手太多但依然繁荣发展起来。那些诧异Java仍然存在的人们并没有真正去理解为什么Java会成功。微软是Java第一个面对的强大对手,因为那时MS-DOS提供了通用性,而微软看到Java是此通用性最具可能性的替代者。

此外,苹果Steve Jobs从来没接收过Java,即使是在Mac被除了Adobe之外所有人忽视的年代。Java的兼容性可以带来很多有用的代码,但是Apple一直未把Java视作第一选择。

Java内部的很多斗争也给它带来了巨大痛苦。IBM喜欢Java,但是一直在和Sun斗争。IBM将其开发的优秀的IDE工具称为“Eclipse”的决定,一直没被Sun的人员欣然接受。Sun也从来没像IBM那样深刻理解商业领域。

尽管这些原因,尽管Java创造者也在Java发展中有许多失策之处,Java依然快速壮大,在服务器应用领域如鱼得水,在桌面应用领域满足基本业务需求。

Java虚拟机优化线程的魔力 
Java虚拟机的强项之一是多线程控制。JVM针对大型多核机上数百线程的稳定性做了极佳的优化。其他语言会为了能跑在JVM上面搞出交叉编译器和模拟器。Java的这个能力同时也吸引了很多高流量的网站。他们可以在台式机上搞开发然后丢到服务器上让JVM发挥出多核的功效。

Ruby因为语法的简洁和源码可读性好成为了Java目前的一个对手。但是当性能成为瓶颈时,Ruby开发人员转到了JRuby,一个用Java模拟出来的Ruby环境并增强了高负载下的线程处理能力。

Java成为编程初学者的语言 
作为大学AP计算机课程,意味着在很多学生第一次接触到的计算机语言就是Java。由于这个先入为主的原因,当他们学习其他新的语言时,即便转行学其他语言课程,但是他们在思考的时仍会受到Java的影响。

Java作为一个教学语言是有它的原因的。声明数据类型看上去可能比较抽象,但是为了能让初学者理解计算机的原理,声明数据类型通过编译器会告诉他们数据类型不匹配而无法编译时,可以让他们更好的理解计算机的底层原理。而一些新语言已经摒弃了花括号,维护麻烦使得新人有所厌倦,但是花括号对那些新手是非常有用的,因为能帮助他们理解嵌套的代码块。

Java具有跨平台兼容性 
虽然Java并不是第一个提供跨平台兼容能力的语言,但是Java已经成为最受欢迎的跨平台编程工具,Sun以及Oracle已经为程序可以跨平台使用提供支持。当程序不能在多个平台上使用时,导致问题的原因通常是可以解决的。

Java程序员可以使用他们的桌面开发工具进行编码,并部署到目标设备,可能是一台手机或者一台服务器。如果编译器包含了正确的库并且使用了正确的版本,代码就可以运行。

Java在移动领域上的持续成功 
Java也许并没在大型应用程序中有很好体现,但它却在移动领域的细分市场获得快速发展。Android平台从上到下都是基于Java构建起来的,并且它如今的销量轻易的超过了iPhone。JAVA ME作为精简版的语言和VM已经被广泛应用在智能手机上,而智能手机如今已经遍布在全世界。

Java在蓝光应用取得突破 
Java曾经为机顶盒而设计的语言,Sun想在占据此市场,但是Java却在另外领域中找到了合适的位置。蓝光标准是围绕Java建立,任何想在蓝光光碟中添加额外内容的人,必须得到其Javac编译器版本。蓝光光碟不止限于存放视频内容。那些额外特性和交互工具可以使用纯Java代码修改并增强。压缩后的视频和压缩后的Java字节码的混合。

Java让花括号能优化代码工作 
类似 Ruby、Python或CoffeeScript等语言的开发者对于Java要求程序员们敲打花括号键来明确表达代码段的开始和结束。括号、花括号、甚至方括号对于程序员略显多余。但是改变符号并不能消除复杂性,使用像制表符等空白后你只能用直觉去感受那些无法看到的东西。

如果if语句只引导了一行代码,这样不会有问题,但是当很多层嵌套时,就很难看明白。当用Python编程时,并不意味着代码像理解英文简单。

Java动态类型语法工具Groovy 
Java开发者必须要有一个带有动态类型的语法,可以使用Groovy一个带有预处理器的工具,它能够生成出Java字节码来。这种语言也完全集成到了Java中,因此可以在Groovy中混入对Java库的调用。就像是编写Java代码的缩略形式。

这一灵活性让开发工程师得以找到问题的出路。在使用了动态方法调用时,开发者可以用Java来重写重要的核心操作。

Java虚拟机让编程更加的灵活 
Java虚拟机是按照运行Javac编译器产生的代码源头来设计和优化,但开发者们意识到Java虚拟机也可以运行其他代码。只要编译器们产出标准的Java字节码,Java虚拟机根本不关心是使用的那种编程语言。Haskell、Scala和Clojure的开发者们设计编译器就采用Java,而只 是这个由Java虚拟机产生的。

另外,Sun/Oracle 为创建跨平台环境而努力,工程师们消除平台间差异,并考虑兼容性问题,然后所有人可以运行他们想运行的程序。微软在创建C#时为大部分主要语言设计了编译 器,使得C#虚拟机可以运行这些语言编写的所有程序。C#程序员可以用很多不同的语言编写程序,只要通过一个Windows盒子将其运行在一个虚拟机上即 可。

NoSQL建立在Java之上 
数据库是保存信息并快速有效应对查询请求。NoSQL的出现让程序员们可以自己编写数据库,并根据需求修剪其代码。那些最重要NoSQL工具中很多都是用Java编写。Cassandra、Lucene、ElasticSearch、HBase和Neo4J只是一些经常提到的NoSQL选择。

据了解,工具通常是开源的。开发者将其独立运行,或将它们集成在自己的模块中,使得Java在数据库层中成为通用语言,保证了Java开发者们担心由于字符编码和行结束符带来的故障。这意味着Java开发者们可以享受由NoSQL革命带来的丰硕果实。

Minecraft游戏中00后的情结 
非主流们对Java嗤之以鼻,但是Java程序员们却领先一步。在Ruby时尚团正聚集起自己的一群粉丝时,Minecraft让之后的一代人爱上了Java。它用Java编写而成,要扩展该游戏就需学习Java来设计其插件,这保证下一代程序员首选是Java。

开源成就Java代码广泛的应用 
Sun一直是开源领域中的领导者之一,Java程序员们发布众多开源许可的库和项目。Apache项目一直都在使用一个没要求太多回报的许可证来提供优秀的Java代码。07年完成在GPL许可下公开大部分代码的工作,这种开放的立场一直延续并保证Java平台很大程度是开放和免费的。

由此,Java有自己的问题,花括号增加混乱等缺点。但目前还没有一个广度和深度上可与之竞争的语言。最接近的也许是JavaScript,依靠有闪电般速度的Node.js在服务器领域受到广泛关注。而语言是开源且灵活多变,意味着Java程序继续存在甚至更加兴旺。

Java地位无可动摇的12个原因相关推荐

  1. 我的世界一个程序导致JAVA,Java地位无可动摇的12个原因

    如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念.犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值.而Java作为现代程序员的中坚力量在这点上或许会成为下一个COBOL. ...

  2. java制表符_Java地位无可动摇的12个原因

    如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念.犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值.而Java作为现代程序员的中坚力量在这点上会不会成为下一个COBOL? ...

  3. java的地位_Java地位无可动摇的12个原因

    如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念.犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值.而Java作为现代程序员的中坚力量在这点上会不会成为下一个COBOL? ...

  4. java康纳塔评测_Java地位无可动摇的12个原因C_服务器评测与技术-中关村在线

    Java动态类型语法工具Groovy Java开发者必须要有一个带有动态类型的语法,可以使用Groovy一个带有预处理器的工具,它能够生成出Java字节码来.这种语言也完全集成到了Java中,因此可以 ...

  5. php编程 地位,4月编程语言排行榜_4月编程语言排行榜:java地位无可撼动,Python跌出前三...

    4月编程语言排行榜:java地位无可撼动,Python跌出前三, 公布了2019年4月编程语言排行榜,总体排名变化不大,排名前十的分别是:Java, C, C++, Python, Visual Ba ...

  6. Java在编程语言中,地位无法撼动的12条原因你知道吗?

    我们很容易就会遗忘那些曾经在猿群中大热而又被各种新技术掩盖直至堙灭的技术的价值.就拿COBOL这个老猿们当年所用的神器来说,就跟条死鱼一样被现代猿基本这么形容:没价值,腥臭,过时了,对你没好处.Jav ...

  7. Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

    2019独角兽企业重金招聘Python工程师标准>>> Java 程序员方向太多,且不说移动开发.大数据.区块链.人工智能这些,大部分 Java 程序员都是 Java Web/后端开 ...

  8. 使用微服务失败的12个原因

    在过去的几年中,我已经对处于数字化转型过程中的多个产品团队进行了架构审查.大多数团队都在按照微服务架构构建产品.他们有使用基于微服务的体系结构的所有正确意图-更快的开发,更好的可伸缩性,更小的独立团队 ...

  9. java 多线程缓存_[Java教程]【JAVA并发编程实战】12、使用condition实现多线程下的有界缓存先进先出队列...

    [Java教程][JAVA并发编程实战]12.使用condition实现多线程下的有界缓存先进先出队列 0 2016-11-29 17:00:10 package cn.study.concurren ...

最新文章

  1. 真香!20张图揭开「队列」的迷雾,一目了然
  2. 大年初一,今年的春晚你看了吗?
  3. python x y z 1_Python下的数值列表 - range(x,y,z)函数
  4. 使用Docker Compose 搭建lnmp
  5. 【招聘(深圳)】迈瑞招.NET 开发Leader和PM
  6. Windows之在终端打开当前目录的命令
  7. [css] 为什么说css中能用子代选择器的时候不要用后代选择器?
  8. 苹果cms_影视双端源码_支持在线切换前端主题+安装教程文档
  9. bug君你好啊之servlet页面读取jsp的url的值显示为null
  10. 专访商汤联合创始人林达华:商汤的开源战略,从算法做起
  11. A*算法 带cocos2d-x例子 a*寻路算法
  12. oracle删除导入库,oracle数据库删除和导入方法
  13. go 导出 html 报告(使用 hero 预编译 html 模板引擎)
  14. 花生壳5.0 for Linux使用教程
  15. 转录组学分析之基因芯片的预处理
  16. Linux高清壁纸软件,十个小众的 Linux 桌面软件
  17. Linux S3C2440 学习笔记02
  18. unity 设置纯白3D环绕背景
  19. 2022年西式面点师(初级)考试题库及模拟考试
  20. c语言中查重,体验CCleaner查重功能,快速找出电脑中的重复文件

热门文章

  1. 【MySQL篇】第三篇——表的操作
  2. 安装Brat标记工具
  3. 文明与征服平民武将搭配,教你克敌制胜
  4. 服务器双系统怎么安装教程视频教程,微pe双系统怎么安装教程
  5. 崩坏3服务器维护2月8号,崩坏3 8月29日更新官方公告
  6. Django migrate 报错,通过fake 和 --fake-initial来修复
  7. mailgun php版本,使用 PHP mailgun 发送邮件
  8. matlab彩色图像的R、G、B三个分量以灰色和彩色的形式显示
  9. oracle erp fnd api,Sample of API FND_PROFILE (转)
  10. Arcgis更换布局模板_PPT模板到底怎么用呢?