初见Boo[原]
初见Boo
其实以前在看一个开源的.Net开发环境SharpDevelop的时候就已经见过Boo了,但是并不知道Boo到底是用来做什么的。因为Python,我了解了Boo的存在。Boo同样属于脚本语言,官网是http://boo.codehaus.org/。Boo是基于.net的脚本语言,语法格式与python非常相似,当然许多理念也与python非常相似。虽然说Boo是脚本语言,但是我们依然也可以使用boo生成.net可执行程序。
Boo脚本用法简单。一般来讲,我们下载好他的bin包之后,然后在windows下将bin目录设置为环境变量path中就可以使用了。执行boo脚本的命令是
booi [args]
例如: booi hello.boo
当然,如果你想要生成可执行程序的话也很方便。例如:
booc -output:hello.exe hello.boo
这样就可以生成可执行程序了。
这是boo最基本的用法了。当然,如果你喜欢用IDE的话,就又回到了我们刚才的话题,sharpDeveloper就是一个不错的选择。语法高亮、代码提示都有,还是非常不错的。
Boo能做什么?从编写普通的控制台程序到windows form程序,再从asp.net程序到gtk程序都没问题的。这些可以从例子里面我们可以看到。在boo程序中,我们的数据类型不需要预先强制声明和定义,这一点很不错的。我觉得用boo来快速的制作基于.net的应用是一个非常不错的选择。基本上vb.net/c#可以做的事boo都可以做,但是却再加上他是脚本语言,可以解释或编译执行,这一点却非常有意思。所以对boo的了解也是应该的。下面是一个简单的boo的win form例子,从这里我们可以看到有多简单了。
import System
import System.Windows.Forms from System.Windows.Forms
class App:
[getter(Times)]
_times = 0
def Run():
f = Form(Text: "My first boo winforms app")
button = Button(Text: "click me!")
button.Click += def:
print("clicked!")
++_times
f.Controls.Add(button)
if Application.MessageLoop:
# if we are running inside boox
# just show a dialog
f.ShowDialog()
else:
Application.Run(f)
app = App()
app.Run()
print("The button was clicked ${app.Times} times.")