模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 Jonathan Allen 译者 张龙 发布于 2009年5月18日 上午12时36分
D语言是一门相对来说比较新的语言,就像ObjectiveC一样,它试图解决C++中的一些严重问题。下面的内容来自于对Cristian Vlasceanu的采访:
D语言在很多方面都鼓励采取“正确”的行为。比方说在C和C++中,如果你写“"int i;”,那么i这个变量就是没有初始化的,这时程序员就需要敲入额外的代码“int i = 0;”来实现“正确”的行为,但D语言却与之不同:“int i;”会安全地将变量i设为其默认值(也就是0)。要想不对i进行初始化,你需要额外的输入“int i = void;”来表示你是有意不对i进行初始化而不是因为疏忽大意。
D.NET是D语言到CLR的移植,目前还处在试验阶段。其包含两部分,一个前端组件及一个后端组件。前端组件用来解析源码并生成抽象语法树。后端编译器接收生成的抽象语法树并生成实际的机器码或IL代码。虽然前端及后端组件的代码都在CodePlex上,但其只维护后端组件。前端组件已经超出了D 2.0语言编译器的范围之外了。
需要注意的是:
后端组件代码的质量还不足以用在产品中,目前只是用作研究及学习目的。D语言是一门相当复杂的语言,一些非凡的特性比如TLS和闭包是如何生成IL代码的呢?这些都很值得我们去研究。
查看英文原文:Source for the D.NET Compiler is Now Available
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
没有回复
关注此讨论 回复