posts - 257, comments - 1336, trackbacks - 63, articles - 8
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

IronPython的伙伴——Boo

Posted on 2004-09-12 21:59 FantasySoft 阅读(3236) 评论(2)  编辑 收藏 网摘 所属分类: All About SoftSharp IronPython

        带着IronPython和Python之间兼容性的问题,我拜读了Jim的blog,也查阅了很多资料。结果是没有找到答案,倒是有一个意外惊喜,因为发现了在.NET上IronPython并不孤单,除了先前就曾关注过的Python. For NET之外,现在又多了一个更Cool的伙伴——Boo。Boo这个项目来头也不小,她是开源社区CodeHaus在Language方面的两个项目之一,而另外一个则是Groovy——现在很Hot的基于JVM的动态语言。而Boo项目的负责人Rodrigo Barreto de Oliveira更是一个新技术倡导者,Bamboo Prevalence项目就是他的得意之作。虽然Bamboo.Prevalence我是第一次耳闻,但是对这个项目的介绍却让我似曾相识:Bamboo Prevalence is an opensource .NET implementation of the Prevayler concept。Prevaler?不就是号称从Oracle数据库中查询数据要比JDBC快9000倍的那个Prevaler吗?Prevaler的概念就是将数据库中所有的数据以对象的形式都缓存到了内存中,以减少数据库中的数据在每次查询中都要被转换成对象的消耗。So Cool! Boo就是由这样的社区和这样的项目负责人发起的项目,我们完全有理由相信Boo也会是很Cool!
        果然不出所料,Boo在很多方面已经走到了IronPython的前面,当然Boo本身和IronPython有着很多的不同。从
Boo Manifesto中,我们可以看到Boo诞生的原因。正如Rodrigo所说的,他尝试了单独使用Python或者单独使用C#去编写自己的应用程序,但是两个都不能让他满意,于是Boo就诞生了。在这篇manifesto中,我们可以不仅可以看到与Boo相关的信息,还能从字里行间看出这位天才的幽默和激情:
         Nothing more tiresome than writing the same type name over and over just to make the compiler happy.

         I wanted a compiler system that could be taught new things, taught how to automagically generate common code for me. I should be able to do that, right? We all should. We are programmers! We're entitled to that ... Well, more than anything else, I needed some old-fashioned quality sleep and time to put my head straight.

        Boo本身有很多的优点:使用Boo语言编写的程序可以被编译成为.dll或者.exe文件;Boo本身是静态类型的语言,编译期错误检查的能力得到了很大的增强,但是你可以选择声明或者不声明
其类型,因为她支持类型自动声明和类型推断;Boo还提供了一个很不错的编辑器Boo Explorer(可惜的是只提供了源代码,需要自己去编译,但是我弄了好久都没有编译成功);在Boo的下载包中还包含了很多的例子,甚至有一个完整的blog程序。整体感觉Boo已经做了很多的工作,无论是文档,还是范例。
        最后,我再次在boo的interpreter下,键入了我昨天在IronPython的Interpreter下面不能通过的三行代码,不过要做一点的修改,print "Hello,World!"改为print("Hello,World!")。接着,Hello,World!如我所愿地出现在了控制台窗口。是啊,又一种很cool的语言在向我们打招呼了。   

Feedback

#1楼    回复  引用  查看    

2004-09-13 08:57 by Cure      
Python for .net似乎并不受重视,看来还是Ironpython更受瞩目些:)

#2楼    回复  引用  查看    

2004-09-13 09:14 by FantasySoft      
从IronPython的MailList中,可以听到来自Python For .Net的声音。Brian Lloyd,一位来自Python for .net的member在给Jim的mail中写道:
Contribution: I'd really like to contribute to get IP to a production-ready release. Contributing builtin-module implementations would be right up my alley given my, er, copious free time ;) There isn't a public repository at the moment, so what is the best way to do that? Email things to Jim?

真的期待两者可以结合起来,把劲都往一处使,IronPython真正投入应用就为期不远了!

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2004-10-14 17:08 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: