仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 520|回复: 8
打印 上一主题 下一主题

[学习教程] 发布一篇在不改动言语的条件下怎样促进Java的不休演进

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:07:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解
JamesGosling在“TheFeelofJava”中说到:
Java是一种蓝领言语,它并不是博士的论文素材而是用于完成事情的言语。形形色色的程序员都十分熟悉Java,由于在计划Java之初我就保持如许一种概念:选择久经磨练的工具而非仅仅是听起来很美。
Java所取得的伟大乐成证实了这类计划体例是准确的,但假如这仍然是现今Java的主要方针的话,那么其了局就是言语的演进将变得十分迟缓。除此之外,Java是一门成熟、利用普遍的言语这个现实也将导致其演进历程充斥了坚苦。一方面,增加到言语中的每一个特征都大概在必定水平上形成不成意料的了局,这么做会冷淡那些已利用了该言语的开辟者。另外一方面,自己很完善的特征大概在同言语中的其他特征举行交互时发生不成意料的了局。更糟的是,一旦增添了某个言语特征,几近就不成能再将其移除,即即是该特征会对全部言语发生倒霉影响也没举措。为了证实某个新特征是准确的,言语计划者必需确信从久远来看,该特征会给言语带来优点,而不是短时间效益或是针对某个成绩的疾速办理计划,以后就变得可有可无了。为了下降风险,言语计划者一般城市创立独自的一种言语或是分支来举行实验,好比Pizza语言就是在完成前用来测试Java泛型的。这类体例的成绩在于实验的介入者十分小众而且都是本人想介入进来的;明显他们对言语特征很感乐趣,良多人都是学者或研讨员。可是,在一般的程序员入手下手利用这些特性时,那些学者或是研讨员以为很棒的特征大概会变得很糟。
为了直不雅感觉一下这类情形,请思索关于Java7闭包特征的剧烈争辩。一段工夫以来,有人在提案中给出了闭包的完成,但终极却仍是没有告竣共鸣。随后,Sun决意不盘算在JDK7中增加完全的闭包撑持。这时候争辩的核心转向为Java是不是变得愈来愈庞大了,在Java5中增加泛型(特别是通配符语法)时就已呈现了这类争辩;在Java已经由过程匿名外部类部分完成该功效的情形下,完全的闭包撑持是不是是准确的呢。必要完全闭包撑持的两个主要场景是简化fork/joinAPI(增加到了JDK7中以改善多核编程)的利用以及帮助资本的清算。JoshBloch的ARMblock提案(希冀经由过程ProjectCoin到场到JDK7中)就第二个成绩给出了另外一种办理计划。CliffClick博士在面向Java的可扩大、非堵塞编程作风的研讨中给出了关于fork/join的另外一种计划,跟着处置器中心数的不休增加,这类计划看起来更公道。假如这统统都成为可能的话,那末Java中利用闭包的中央将变得十分少了,言语基本没需要供应这个特征。
话虽云云,但关于编程言语来讲,延续不休地安稳开展仍是十分主要的。因而本文探求了以下3种手艺以向Java中增添新的言语特征而又不改动言语自己,他们是客户化范畴特定言语(DSL)、Java6的注解处置器(经由过程库来增添可选的言语特征)和将语法糖从言语迁徙到IDE中。每项手艺都可让浩瀚的主流开辟者以非侵进的体例体验这些新特征,最棒的设法则能够融进到言语中心傍边。
客户化DSL
在这3项手艺中,人们议论最多的仍是DSL。该术语切实其实切寄义至今还没有一致,但出于会商的目标,我们在这里复杂地把它看做是用于办理特定成绩、使用局限很窄的一种言语而非用于办理一切盘算成绩的通用言语。如许,DSL就并不是是图灵完整(non-Turingcomplete)的。固然了,仍是会有一些边沿情形存在的,好比说Postscript是一种图灵完整的言语,但依据我们刚刚的界说,它也是一种DSL。
如上所述,DSL并不是新观点。其他相似的DSL另有正则表达式、XSLT、Ant和JSP等等,一切这些都需要某种客户化的剖析器对其举行处置。MartinFowler还说fluentinterfaces/API也能够看做是另外一种DSL,称之为外部DSL。他说外部DSL是间接在宿主言语中开辟出来的。这关于Lisp和Smalltalk开辟者来说很简单了解,而比来Ruby社区也入手下手对外部DSL情有独钟了。
<p>
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。
柔情似水 该用户已被删除
沙发
 楼主| 发表于 2015-1-20 14:48:03 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
海妖 该用户已被删除
板凳
发表于 2015-1-29 10:29:38 来自手机 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
不帅 该用户已被删除
地板
发表于 2015-2-6 00:22:54 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
飘灵儿 该用户已被删除
5#
发表于 2015-2-14 15:21:54 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-4 07:30:28 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
老尸 该用户已被删除
7#
发表于 2015-3-11 17:54:33 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
兰色精灵 该用户已被删除
8#
发表于 2015-3-19 05:13:53 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
谁可相欹 该用户已被删除
9#
发表于 2015-3-27 08:10:23 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 22:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表