试图获得一个业余项目爱好,让我从朝九晚五的 C# 工作中保持动力,并且正在研究 Boo。一些?
- 你和 Boo 在一起是什么体验?
- 您使用 Boo 完成了哪些应用程序/项目或
- Boo有什么能力?
猜猜是网络世界,想弄脏桌面应用程序等。
试图获得一个业余项目爱好,让我从朝九晚五的 C# 工作中保持动力,并且正在研究 Boo。一些?
猜猜是网络世界,想弄脏桌面应用程序等。
我与 Boo 的个人经历是从大约 18 个月前开始的,从那时起我就没有积极地遵循它,所以请记住我所说的。这是一种很酷的语言。但这也是实验性的。这实际上意味着什么:
由于尚未完成,因此偶尔会在关键区域出现不一致和错误。
我不确定是否可以使用 Boo 创建泛型,但它们肯定可以使用。
性能很好,但编译器没有优化器。
类型推断很酷。鸭打字很酷。所有这些都可以让您接近动态类型的错觉。
就个人而言,我开发了一种工具来简化创意写作。为作家考虑 IDE。
虽然它只使用 Boo 作为实现语言(而不是从根本上讲Boo),但您是否阅读过 Ayende 的“在 Boo 中构建特定领域的语言”?它尚未完全发布,但您可以获得早期访问版本。
我还没有时间仔细研究 Boo,但与 C# 3(获得 Boo 的一些特性)相比的主要优势似乎是简洁(大量类型推断)和元编程。
Boo 是非常强大的 DSL 创建工具(外部和内部)
可以使用宏、元方法和可扩展的编译器管道创建内部 DSL。Boo 语言的扩展 - Boo.OMeta.Parser 可用于创建外部 DSL。
目前解析器正在开发中,但它已经可以用于创建复杂的外部 DSL。OMeta 是一个强大的工具,它使程序员能够轻松地实现词法分析器和解析器。Boo 的可扩展编译器管道架构允许用 Boo.OMeta.Parser 替换标准的 Boo.Parser。它可以用几乎任何一种语法来扩展 Boo 语法。该示例可以在此处找到。
一些真正符合 Boo 动态思维的用法:
我正在与 Boo 合作一个辅助项目,以实现声明性数据绑定宏。语言很酷!它给了我一些我没有的编译器构造经验。
只是为了好玩,我正在 Ubuntu 8.10 上的 Mono 上使用 Boo。
你应该看看 Boo 的一些有趣的语言特性。