Ruby真的那么神奇吗?

Posted by admin on September 9th, 2006

今天看了下Ruby,受那本 From java to Ruby的书的鼓吹,,稍微有点点心动,不觉想弄个 RoR玩玩

恰时,同事MSN问我玩什么,我说Ruby。

即被否定之,

RoR很适合中小应用的快速开发,比较著名的社区JavaEye也用RoR

但是,细想下来,Java就不能快速么?

其实类似以下的RoR实在,,用Java实现也不错啊。

class BookController < ApplicationController
scaffold :book
def list
@books = Book.find_all
end
def edit
@book = Book.find(@params["id"])
@categories = Category.find_all
end
end

<select name=”book[category_id]“>
<% @categories.each do |category| %>
<option value=”<%= category.id %>”
<%= ‘ selected’ if category.id == @book.category.id %>>
<%= category.name %>
</option>
<% end %>
</select></p>

但最终不还是 HTML,CSS,JavaScript么,换了哪个动态脚本语言不行呢?

所谓的低重用性,ROR的无缝集成,几行代码把即把MVC一层统一。

上面的例子,诸多脚本语言PHP,Perl,Python,BeanShell,ASP,JSP各个都能做到,还能列出他们的优点一大堆。自己也能达到类似的目的啊。 语法都很严谨啊,自己封装也能增加积累习惯。

再说,即便是操作系统,最简单的指令多个执行,最终是不是还不如自己积累最严谨的语言,写好并调试好一段Shell来执行更保险呢?

而脚本语言始终还是有一些做不到的地方,工业级的应用,经历了那么多年的洗练。 远程调用,分布式方案,消息,WS. ..尽管脚本也可能会有这样那样的实现,但真的会在企业级应用中使用么?

Ruby也许是一个脚本语言改进的榜样,也许又一种面向对象的脚本的Show,也许是大家尝试新技术的一种热情,,但真的让我Fram java to Ruby ,理由太薄弱的,即便的确挺好玩的。

看来,用语言,有时候还看场景。。Java会不断系统脚本语言的特性,越来越简单好用,最近也不刚有JRuby的两个核心开发人员,也投奔了SUN,是不是Ruby开发者也觉得Java更有前途呢?

继续老老实实的学习Java吧,Ruby有余力可以当作另一种思维习惯。Ruby并不神奇。

Java好玩很多呢,WFEngine,Quartz,RuleEngine,Q,WS 这些诸多开源的开源,真想把他们一个个弄明白,然后应用到企业开发中去。。

XQuery快餐

Posted by admin on September 3rd, 2006

 近日,对XQuery 做了稍微的学习。
XQuery 是XMl查询语言, 目前版本为1.0
XML最大的两个特点,即定义了构化化的文本,可用于文档结构转换。进来用的较多的 XML-Object,XML->HTML XML->WML, XML->XML, XML-DATABASE,WSDL…

直接拿XQuery最流行的Query语言SQL来比较。
Xquery 相应的就是查询 结构化的XML的一种语言,同时也可对XML进行解释和转化。
SQL执行返回的是一串表结构化的数据,XQuery执行之后返回的是XML结构化的数据。所以有时候,我怎么看XQuery像存储过程。
XQuery可以用来做XML数据抽取(基于Xpath2.0,同XSLT2.0)
XQL片断:BTW:注释也有意思 (:--注释--:),左看右看都象个笑脸

for $doc in collection($docs)//booklist/book[contains(title,$title)   and (year=$year)

XLST2.0 与 XQuery
XSLT与它也非常的相似。同样上面的查询,也有collection函数来实现遍历

一开始,误以为XQuery是XSLT的替代品,而事实上经查阅,XQuery和XSLT2.0规范是先后进行的,两者都是基于Xpath2.0, 应该各有各的用途。
总而言之,XQuery的的语法看起来更相SQL,更好阅读一点点。。而XSLT偏重于那种模板的风格。
因此,如果数据杂乱无章的话,用Xquery更好一点。非常适合,我们一大堆数据信息中数据的搜取和转换,应为这个合我们拿SQL取出数据来做DTO的开发习惯。

XQUERY的设计和应用。

现实中,XQuery也越来越成为一个重要而实用强大的语言。有IBM,Oracle,BEA的老大们照着,前途甚好,而SOA的产品中间层也都用XQUERY来做信息转化和缓存。
而新的数据库为了顺应SOA趋势,也加强了XML存取,新的数据库如 Oracle10G,Db29,SqlServer2005,还有MySql5等都也已经支持了Xquery.
由于XQuery 工作没用起草指导XQuery设计的正式原则表,所以对开发人原来讲,一切都要从Best pratice总结来。。也可以踩别人的肩膀。总结下来是。 组合性,闭包,模式一致性,XPath 兼容性,简单性,完整性,普遍性,简洁性,静态分析:(可参下考文献)

而我,继续期望能用一种更优雅的方式来编程 ,XML-XQuery- XMLBEAN 来遵照IBM,BEA的新定义SDO来做应用。
今后开始实践。

部分工具
开发工具:Stylus Studio 2006 (http://board.verycd.com/t356303.html
解析器  Saxon (http://www.saxonica.com/)
参考文献留个底,
XQuery 简介
XQuery 与 SQL: 变化万岁!
使用 XML: XSLT 2.0 和 XQuery 对比
XQuery from the Experts: 影响 XQuery 设计的因素