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

一起聊编程语言之大家的老伙计Java

Java 简史:
任职于太阳微系统的詹姆斯?高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用替换,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口替换,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。”

Java不同于一般的编译语言或直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。

与传统型态不同,Sun公司在推出Java时就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。

Java语言之父-詹姆斯.高斯林
20160908210713203
Java语言的特点:
使用面向对象程序设计方法学
允许同一程序在不同的计算机平台执行
包括内建的对计算机网络的支持
被设计成安全地执行远端代码
易于使用,并借鉴以前那些面向对象语言(如C++)的长处。

我与Java:
最初接触Java的时候应该是在1998~1999年左右,那个时候因为Java已经开始火起来,所以也就买了本书来看。不过那本书主要讲怎么写Java小程序的,看了之后感觉不怎么高大上。于是就继续用VC++和Delphi写各种分布式的企业应用系统。

到了2003~2004年左右的时候随着网络越来越便宜,越来越多的系统开始使用B/S架构,我们那个时候开始用Java开发B/S系统。刚开始作B/S系统和以前做的C/S分布系统比,最爽的就是不用再考虑数据同步问题了,管他什么总部,分中心,门店,一套代码全部解决。我们一开始就是用的简单的Jsp+JavaBean,后来逐渐的用上Struts,Spring,Hibernate等框架,到现在已经十几年了,感觉Java就像一个十几年的老伙计,虽然已经不年轻,但是一直很可靠。

大家一起来聊一聊:
你是什么时候在什么情况下开始接触java的?
你现在是否在用Java,如果用的话主要用它来做什么?
你觉得Java有什么让你喜欢或者需要改进的地方?
你是否看好Java在未来的发展?

参与话题

奖品区域 活动规则 活动已结束,可继续参与讨论哦

  • 奖品一

    阿里云代金券 x 5

  • 奖品二

    定制保温杯 x 1

  • 奖品三

    手机话费 x 3

38个回答

0

cjsoldier 已获得定制保温杯 复制链接去分享

你是什么时候在什么情况下开始接触java的?
大二的时候有一门java课。后来又去培训了一下。

你现在是否在用Java,如果用的话主要用它来做什么?
用。主要写一些测试代码,因为比较熟悉。开发都尽量使用scala了。

你觉得Java有什么让你喜欢或者需要改进的地方?
喜欢的地方(都是以前c/c++的痛点):
①字符编码问题直接统一成UTF-8(大家都自觉遵守),简单粗暴我喜欢。
②语法的连贯性。后来的jdk几乎总是能成功编译以前的代码。超喜欢这一点。
③即时编译,编译的速度还挺快,节省了多少时间啊。
④屏蔽指针,垃圾回收,热点探测,给我们csver过滤掉多少头疼的问题啊。
⑤IDE好用,而且安装方便。很多工具都是开源免费的。反编译也比较容易,.class文件也没有那么多加密与解密,没有源码也能玩。

你是否看好Java在未来的发展?
我很担心java未来的发展。
Lambda表达式硬拖到java8才支持。java语法本来就啰嗦,也就是说这个语言的表达能力比较弱,我觉得lambda就应该在java7的时候出来,那个时候出来正是时候!

虽然java8有很多新语法比如functional,optional,stream等,可惜半道被scala截胡了。scala更简洁更优雅,java8有的,scala基本上都有,甚至有些地方scala性能比java还好,干嘛还用java8呢。再说spark技术栈首推scala,不用scala都有点不好意思了。scala的闪耀出场连本自同根生的groovy都黯然失色。在scala面前,java8已经输了。

好,虽然java8输了,我们还有大招java9呢。java9的jigsaw能扳回一局吗?对不起我看难。为什么?IBMRedHat都有自己的模块化技术,都有自己的小九九。这两个巨头选择不跟进。所以oracle强推java9的模块化。这就尴尬了,人家不跟进你还show hand,这还不算,java10又要开始了。这是要闹哪样,想跟H5一样搞两个标准吗?前端浏览器兼容问题遭的罪还少吗?几十年来java一直很稳定,我最不愿看到java分崩离析,这一天天的我的心都要操碎了。模块化多么好的一个愿景啊,就算做不成我们还有微服务啊,别搞的不欢而散啊。

cjsoldier 回复

对了还有个kotlin忘了说了。哎~,我的心脏~

北方的郎 回复

写的挺全啊

cjsoldier 回复

多谢打赏,有感而发嘛。关键是话题提的好。

1447957605741353 回复

这是要闹哪样,想跟H5一样搞两个标准吗?前端浏览器兼容问题遭的罪还少吗?几十年来java一直很稳定,我最不愿看到java分崩离析,这一天天的我的心都要操碎了。
前端的兼容的问题是因为各位浏览器厂商对标准的实现不一致,感觉java不会向前端一样。

评论
1

沙漠的热情 已获得阿里云代金券 复制链接去分享

你是什么时候在什么情况下开始接触java的?
应该是2004年吧,那时刚到深圳,很是火热人才紧缺,专业的不专业的稍微懂些的都有不错的起薪。

你现在是否在用Java,如果用的话主要用它来做什么?
现在不用了,用不到了,没机会用喽。

你觉得Java有什么让你喜欢或者需要改进的地方?
没什么感觉,也许是先入为主了,不过现在和Python比较起来,实在是繁琐一点不简洁。

你是否看好Java在未来的发展?
Java好比是编程语言界的IBM、微软,依然是巨头但是已经不那么有活力了。
新人入门不建议选择,老手还可以做几年,不过还是建议一颗红心两手准备。

1

微wx笑 已获得手机话费 复制链接去分享

你是什么时候在什么情况下开始接触java的?
11年12年的时候吧,当时的一个项目甲方要求用Java开发,于是开始学习开始招聘;
那时还主要是做C#方面的开发,由于两种语言比较象,基本上很容易上手写个类,写个方法什么的,
在和另一个图片资源平台对接的时候,写了一个 Servlet 模拟登录访问另一个平台的资源。
也是这时觉得 Java 也并没什么,没去了解相关的 Spring 之类的框架。

你现在是否在用Java,如果用的话主要用它来做什么?
现在的话用Java做智能家居平台服务端,做网站后端。

你觉得Java有什么让你喜欢或者需要改进的地方?
说起来也用Java几年了,但对这种语言真没有什么喜欢的地方。

你是否看好Java在未来的发展?
不看好,但近几年的用户量应该不会有多大变化。

0

该昵称占 已获得阿里云代金券 复制链接去分享

你是什么时候在什么情况下开始接触java的?
第一次接触Java应该是在大学上学学习面向对象程序设计,使用java作为代表学习,之后在学习数据结构和算法也都是使用java

你现在是否在用Java,如果用的话主要用它来做什么?
今年刚大四,找工作也是java相关,签了工作,过一段时间会去,估计是网站后端

你觉得Java有什么让你喜欢或者需要改进的地方?
可能是自己掌握得比较少,语言也就了解这一种,c语言学的也比较烂,js也就那样,也不好说哪里需要改进,起码现在来说关于“面对对象”理解的应该还蛮好

你是否看好Java在未来的发展?
看好啊,觉得java生态体系很庞大,不会轻易被其他语言所替代。
工作地点在杭州,争取过几年能到阿里系的公司工作。

0

浮生递归 已获得阿里云代金券 复制链接去分享

你是什么时候在什么情况下开始接触java的?
去年啊,2017年,是不是很厉害。因为单位之前一直采用.net做bs结构系统的开发。去年技术总监说转java吧,还是Java靠谱点,于是,大家都开始逐步转java啦。

你现在是否在用Java,如果用的话主要用它来做什么?
没有,因为.net还不娴熟。等我.net娴熟了,再转成Java。转过来之后,自然还是继续用来开发bs结构的系统。这是主营业务,并且也是java的强项吧。这类系统Java开发的也很多,遇到问题,也好找人找资料。

你觉得Java有什么让你喜欢或者需要改进的地方?
总监说java怎么好怎么好balabalabala,基本上就是聊主说的那几点吧。当然,实际上还是要等自己亲自上手使用比较后,才能感受的到。

你是否看好Java在未来的发展?
看好,毕竟是主流语言。而且连我单位的开发人员都开始转Java了,说明群众对她还是很有信心的。毕竟转开发语言也是要付出不少成本的。

0

天机浮现 已获得手机话费 复制链接去分享

before:当时还在风电行业,还记得13年的那个下午,我们公司确定要裁员,虽然不知道我会不会被裁掉,就想着规划下自己以后的路子吧,一顿苦苦思索并和度娘亲切交流后,终于决定转行干软件,并报了北京传智播客培训班,学了6个月,怀揣着26个字母加各种数字符号的组合去找java开发的工作.
begin:
1.面试时人一看是培训出来的,很委婉的拒绝了,虽然学校老师跟我们讲面试时千万别说是培训过的,就说自己有2年经验,谁让咱太实诚,觉得以诚待人说不定会感动面试官呢.
2.后来找了家外包公司,称之为A吧,A把我卖给了B,B把我送到了甲方,呵呵,终于又有工作了.工作很简单,画画页面,写写增删改查,搞个excel导入导出,不稳不火的待了一年,总算把培训班学的东西消化个七七八八.
gradually:
自我感觉涨钱了,就把A踢了,跟B重新谈的,跟人要12k,人不要我;我就降到10k跟人把合同签了,呵呵呵呵.
upsurge:
1.感觉是java给了我新生,做软件后媳妇有了,工作顺心了,零花钱也越来越多了
2.待久了感觉技术遇到了瓶颈,总是一种模式的工作也无聊了就换了个环境;这一换不要紧,差点把宝宝吓尿了.
3.新公司自己搞了一个开发平台,各种模型配置好,前端和后台统统自动生成,基本功能都不用写了,当时真被惊呆了,尼玛还能这样开发啊.
4.于是乎终于知道了智能开发,自动生成,半手工开发等等玩意.
5.用的久了,就特别依赖java,生活中总想着这个需求可以自己开发下,那个数据咱自己做个程序记录岂不妙哉.
future
1.java的未来肯定是一片光明,云计算,大数据都有他的身影.国内bs项目用java的还是占多数
2.2018年计划把java相关的基础都再深入了解下,各种原理各种底层;不然框架组件用的多了心里感到虚.(真不是肾虚).

0

shawn.ss 已获得阿里云代金券 复制链接去分享

你是什么时候在什么情况下开始接触java的?

大学必修课之一,然后就入坑了,因为这语言当时是万金油,基本上从桌面程序,到服务器到移动端什么都能做

你现在是否在用Java,如果用的话主要用它来做什么?

还在用,做一个线上系统的后台,几十万人流量的服务吧

你觉得Java有什么让你喜欢或者需要改进的地方?

java类型检查过于严格,导致很多节省代码的写法行不通,必须要用反射或者动态代理搞定,编码效率需要提升
当然各类ide的模板生成之类的方法很适合提高效率,但其实还需要更高级的工具来支持java开发

你是否看好Java在未来的发展?

讲实话,曾担忧过java的未来,但是目前java已经不是简单的一个语言了,java集成了太多外延性质的资源,例如android,gradle,spark,各类服务器中间件等,这些东西都和java有紧密联系,以致于java事实上是一个巨大的生态(jvm上运行的语言其实也包括python)这种状态下,未来java的发展其实不用担心,因为资源积累到这种巨无霸的程度,除非另一个好很多的巨无霸出现,并且长期处于超越状态,才会令java这个巨无霸生态系统逐渐消失。
而目前,这个假设条件显然不成立。。。

0

gfriend_24 已获得阿里云代金券 复制链接去分享

大家一起来聊一聊:
你是什么时候在什么情况下开始接触java的?
答:大二的时候,准确的说是2012年。当时身边的同学都是学的C语言,因为学校课程安排里只有C语言,大家考计算机等级证书也是考的C语言。我比较奇葩,因为对谷歌的Android操作系统比较感兴趣,而且对三星的智能手机情有独钟,正好三星使用的也是Android系统,于是下定决心开始学习Android应用程序开发,我是先学了Android一段时间之后才倒回去学习Java编程语言的,后面也考取了全国计算机等级考试二级Java语言程序设计证书。
你现在是否在用Java,如果用的话主要用它来做什么?
答:还在用,主要用来开发Android应用程序,开发Java游戏和Android游戏,还有就是Hadoop大数据分析。
你觉得Java有什么让你喜欢或者需要改进的地方?
答:接口很多,方便调用,但是语法较繁琐而且不易理解。
你是否看好Java在未来的发展?
答:说实话,随着Python和Kotlin等新兴语言的流行,Java在未来的发展并不被看好,但是Java的优点以及广泛的应用使得它仍旧是编程语言中一股不容忽视的力量。

0

饭娱咖啡 已获得手机话费 复制链接去分享

你是什么时候在什么情况下开始接触java的?
2012年,大三的时候到一家培训机构培训的Java

你现在是否在用Java,如果用的话主要用它来做什么?
现在仍然是在使用Java开发程序,主要是用来做后台的功能

你觉得Java有什么让你喜欢或者需要改进的地方?
Java,用了这么多年,也就是所谓的习惯成自然,不想舍弃也不愿舍弃。

你是否看好Java在未来的发展?
Java还是有未来的,虽然现在人工智能发展让 Python 等一些语言流行起来。
但是,Java自身也在不断的改进升级,在企业级的应用仍然占有重要地位。

1

古散 复制链接去分享

你是什么时候在什么情况下开始接触java的?
2012年大一,开始学java,了解了什么是面向对象

你现在是否在用Java,如果用的话主要用它来做什么?
还在用,用来做网站的后端

你觉得Java有什么让你喜欢或者需要改进的地方?
喜欢的地方在于框架比较多,使用起开开发起来很快,就是业务逻辑需要大量的思考,语言本身是很不错的语言

你是否看好Java在未来的发展?
就像是一把屠龙宝刀,本身很厉害,如果使用它的人也厉害的话,那么确实厉害
很看好,也会一直使用下去

0

lrq1988 复制链接去分享

你是什么时候在什么情况下开始接触java的?
毕业后1年

你现在是否在用Java,如果用的话主要用它来做什么?
之前用,主要是后端开发

你觉得Java有什么让你喜欢或者需要改进的地方?
Jvm强大,演化快;但是演化太快,版本过多,跟不上借走了。

你是否看好Java在未来的发展?
未来感觉挑战Java的还不是太多或者太有力量。

0

1306219622252775 复制链接去分享

你是什么时候在什么情况下开始接触java的?
16年寒假,也就是我大二上半期吧。之前用嵌入式C写单片机玩来着,就想把手机跟单片机结合起来搞点玩具,又不会安卓,听说安卓是基于java的就傻头傻脑的来学java了,然后就入坑了。。。

你现在是否在用Java,如果用的话主要用它来做什么?
还在学,才鼓捣web没几天,之前参加比赛,学数据库和js中断了一段时间。

你觉得Java有什么让你喜欢或者需要改进的地方?
java的生态超级庞大,各种支持超级完善,而且是很严谨的语言。我一个新手就不谈改进了。

你是否看好Java在未来的发展?
短期还是相当好的,好像现在很多分布式的系统都是java实现的。个人认为未来可能会是超大规模高性能计算机群来为每个个体提供计算和应用程序服务,可能会需要一种针对性更强的系统或语言来保证其性能。

0

1948805887873946 复制链接去分享

大家一起来聊一聊:
你是什么时候在什么情况下开始接触java的?
答:大一下学期的时候,一个学期学完了大学课程的C和C++,觉得很像进一步学习,于是就在下学期学习了java,然后是安卓,然后又接着学了javaEE从原始的servlet,jsp写了一个网站和服务器,到后面学习框架,struts2,hibernate,spring,springmvc,mybatis,到现在的springboot,springcloud一步步走过来,技术在一步步向前进。
你现在是否在用Java,如果用的话主要用它来做什么?
答:还在用,主要用来开发Android应用程序,开发java服务器,用springboot开发。
你觉得Java有什么让你喜欢或者需要改进的地方?
答:接口很多,方便调用,但是语法较繁琐而且不易理解。
你是否看好Java在未来的发展?
答:说实话,随着Python和Kotlin等新兴语言的流行,Java在未来的发展并不被看好,但是Java的优点以及广泛的应用使得它仍旧是编程语言中一股不容忽视的力量。

0

大爷大 复制链接去分享

第一次接触是2001年 知道了java是跑在jvm上的字节吗,后来果断放弃,当时我学语言的主要目的是写木马(>﹏<)

0

ypan@007 复制链接去分享

java是最实用的,个人觉得能够被更多人用来解决问题的语言,应该才是最好的,越复杂的语言尽管它是性能好,都不算是一门好语言

0

1309418272633549 复制链接去分享

厉害了厉害了

0

1850118310759183 复制链接去分享

我不会编程怎么解决?

0

1872383875592861 复制链接去分享

蹭个热度吧

0

麒麟论坛 复制链接去分享

我现在还没开始学java 现在学的是c

0

1559918258612242 复制链接去分享

红红火火过大年

2
14082
浏览
0
收藏
邀请他人互动
关注
18
粉丝
124
话题
31

简介:

一个IT老兵,在这行摸爬滚打快20年了,很多工作都做过,也熟悉不少技术。现在对云计算,大数据以及机器学习很感兴趣。
充分利用阿里云现有资源管理和服务体系,引入中间件成熟的整套分布式计算框架,以应用为中心,帮助企业级客户轻松构建并...

提供海量、安全和高可靠的云存储服务。RESTful API的平台无关性,容量和处理能力的弹性扩展,按实际容量付费...

一种稳定、可靠、容量和服务能力可弹性伸缩的分布式关系型数据库服务。

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