Boo简介及无关的一些牢骚

Boo是.net运行库之上,使用类似Python语法的一个全新的静态语言。

官方定义:

Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a special focus on language and compiler extensibility.

网站:http://boo.codehaus.org/Home?nocache

从定义可以看出,Boo一方面可以获取动态语言,例如类似Python这样的语言语法方面的优势,例如一些内建数据结构;另一方面,其又是有类型的静态语言(通过Duck类型支持运行时类型识别等动态语言的特征,个人觉得类似VB的Variant类型),具有速度等方面的优势。

目前,类似Python语言的基于.net的实现,除了IronPython外,就是Boo了,IronPython在博客园有很多介绍。Boo作为静态语言,具有类型安全,速度等优势,而通过推导(inference)来模拟或者模仿动态语言的特性。

Boo的文档,网站,例子做得很好,而且已经有了一些应用,例如#Develop的插件,这点是IronPython所无法比拟的。Boo Primer〔http://boo.codehaus.org/Boo+Primer?nocache〕是一份很详细的Boo的入门文档。

Boo目前在#Develop下有Addin支持,可以作为其IDE。目前,已经有很多使用Boo创建的程序:http://boo.codehaus.org/Boo+Applications?nocache


另外,Guido van Rossum对目前Python的Web Framework作了一个评述


一些牢骚

语言层出不穷,平台一天天更强大,做项目还是在使用VB 6,因为足够强大和有效,轻量级,以及与底层平台(GIS平台,组件等)的兼容性。03,04年很迷Python,看了不少书,但至今,没有做过一个东西。因此,有时候真的很困惑,这些,真的很必要吗?前面贴了一个基于#Develop核心创建插件式系统的文章,大概有1年多了,一直也想是否把一些项目的核心抽出来做一个底层或者核心,但是一直没有去做,或者是惰性?或者是必要性不大?

2006年,技术方面是该真正关心Web(WebGIS)有关的东西,而不是还在桌面方面做重复的不需要太多大脑的工作。或者沉下心来好好看看MapServer Enterprise的实现和应用,以及一些有关技术,或者是Spatial DB有关的东西,总之,不能在熟悉的领域里打转了。个人的精力很有限,关注太多会浪费生命!

 

posted on 2006-01-31 13:44  马维峰  阅读(4266)  评论(8编辑  收藏  举报