|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。最使人等候的Java8已于2014年3月18日公布,该版本包括良多使人镇静的新特征,被以为是自Java5公布以来对Java做出的最年夜改动。关于开辟者而言,最值得注重的特征包含:Lambda表达式/闭包、接口撑持静态办法、默许办法、函数式接口、java.util.stream、改良了泛型中对范例推理的撑持、java.time和NashornJavaScript引擎。别的,新版本还移除PermGen。
而被一部分人以为是Java替换者的Scala则是一门风趣的言语,它一方面吸取并承继了多种言语中的优异特征,另外一方面也没有丢弃Java这个壮大的平台,它能够运转在Java假造机之上,可以轻松地与Java互联互通。与Java分歧的是,Scala既撑持面向对象的特征,又撑持函数式编程,它的作风和特征吸引了大批的开辟职员,那末新版本的Java可否借助大批的特征“立异”干失落Scala呢?体系架构师、开源传教者AhmedSoliman比来在本人的博客上宣布了一篇博文表达了本人的意见,同时这篇文章在LinkedIn和HackerNews上也引发了剧烈的会商,上面是笔者摘录的一些概念。
AhmedSoliman以为:Java8新引进的Lambda表达式其实不像Scala中的Lambda那末壮大,它仅仅触及了Lambda的外相。比方,并非一切函数都能够作为一等元素(first-class)传进其他函数中,函数必需被显式地界说为Lambda表达式大概利用函数式接口。在汇合操纵方面,借助于新的java.util.stream包,开辟职员能够在一些Java汇合上编写函数式作风的操纵,这和Scala中的办法相似,可是后者更简便、范例更准确。Java和Scala之间仍然有很年夜的差异,Java其实不会酿成一门函数式言语,它的方针是企业,同时要包管安定的向后兼容性;而Scala的方针则是多核软件开辟。Java8向前迈出了巨大的一步,这一点让良多人都十分镇静,乃至关于Scala程序员也是云云,可是它的方针并非“干失落”Scala,现实上,这二者应当是一种互补的干系。 来自于Reply的StefanoS复兴说:Scala在计划上就是函数式,而Java则是被扩大成函数式,在函数式的纯度上这两门言语就纷歧样,我以为Java8是不是可以获得乐成很年夜水平上取决于JDK的完成情形。假如JDK8安定且凝结性高,那末对Scala而言一定会形成伟大的打击。假如仅仅必要进修一些新的语法就可以使用和其他言语类似的语法及特征,那保持本人熟习的言语往进修一门新言语的来由是甚么呢? openForce信息手艺的具有者GesmbH批评说:Java不成能替换Scala。起首Scala开辟十分活泼,计划明晰,方针明白。JDK的开辟则对照停止。很明显,关于Oracle而言定时托付一个新的JDK仿佛有一些贫苦。以是,我团体对JDK8在2014年可否包括之前答应的一切特征持嫌疑立场。而就Scala而言,假如统统停顿顺遂,那末我们能够在往年见到Scala2.11,该版本会办理良多使人厌恶的成绩。其次,JDK类库在计划上就有一些缺点,要成为一门真实的函数式言语必需要办理这些缺点,比方汇合框架。再就是Java相对良多其他的言语太甚于拢沂褂Java开辟了12多年的企业使用,而利用Scala才两年,可是我其实不想回到已往。固然Java生态体系十分优异,JVM也十分巨大,可是Java作为一门言语已有点过期了。 数据和软件工程师AdamR批评到:我以为Java8的函数式功效太少,来得也太迟了。固然这的确是一个改善,可是间隔Scala仍然很远。那些真正在意这些功效的开辟职员早就转向了其他的函数式言语。Java8的确会为Java开辟职员带来函数式编程的认识,可是一部分隔发职员希冀取得更多的特征,而另外一部分则基本不在意。 来自于CabotResearch的软件工程师BrianT以为:思索到Java7给我们带来的劫难,同时鉴于Java8仅完成了闭包的一部分而其他部分将会在Java9中完成,我以为Scala基本没需要忧虑。就是在今天我们不能不将一台新呆板从Java7回退到Java6,缘故原由是一些Eclipse插件没法在新版本上事情。Java8大概会是多数人利用(绝对而言)的一门优异言语。 Eranation在HackerNews上批评说:
[quote]作为一个Scala和Java开辟者,我乃至没有一点乐趣鄙人一个项目中保持Scala转向Java8。假如只能选择Java,那末最好是Java8,可是假如有其他选择,我想除Lambda以外Scala另有良多吸引我的中央。
一切的工具都是表达式,它撑持推导式(出格是有多种大概的情形,利用大度的语法办理出生回调三角)、隐式转换、Case类、形式婚配、元组、字符串拔出、多行字符串、默许参数、定名参数、范例揣度、内置依附注进,同时一切元素的equals和hashcode办法都已被准确地完成(可使用元组乃至是数组作为map的键)。
我以为Scala仍然会呆在这里,最少关于Scala开辟职员来讲是如许的,我十分断定没有任何一个Scala开辟职员会说:“Java8撑持Lambda表达式了?十分好,再会Scala!”。我会思索Java8只要两个缘故原由,就是编译工夫和二进制兼容性。假如疏忽失落这两个缘故原由,我只能说Java8所做的这统统刚好证实了Scala正走在准确的路上。
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。 |
|