C# での 9 時から 5 時までの仕事のやる気を維持するためにサイド プロジェクトの趣味を手に入れようとしていて、Boo を見ていました。いくつかの?
- ブーとの経験は?
- Boo または Boo でどのようなアプリやプロジェクトを行ったことがありますか
- ブーの能力は?
Webの世界だと思いますが、デスクトップアプリケーションなどで手を汚したいと思います.
C# での 9 時から 5 時までの仕事のやる気を維持するためにサイド プロジェクトの趣味を手に入れようとしていて、Boo を見ていました。いくつかの?
Webの世界だと思いますが、デスクトップアプリケーションなどで手を汚したいと思います.
Boo に関する私の個人的な経験は約 18 か月前のもので、それ以来積極的にフォローしていないので、私の言うことを念頭に置いておいてください。それはクールな言語です。しかし、それは実験的でもあります。これが実際に意味すること:
まだ完了していないため、時折重要な領域に矛盾やバグがあります。
Boo を使用して Generics を作成できるかどうかはわかりませんが、確実に消費できます。
パフォーマンスは良好ですが、コンパイラにはオプティマイザがありません。
型推論はクールです。ダックタイピングがかっこいい。これにより、動的タイピングの錯覚に近づくことができます。
個人的には、クリエイティブな文章を簡単に書くためのツールに取り組みました。ライター向けの IDE を考えてみてください。
Boo は DSL 作成 (外部および内部) のための非常に強力なツールです。
内部 DSL は、マクロ、メタメソッド、および拡張可能なコンパイラ パイプラインを使用して作成できます。Boo 言語の拡張である Boo.OMeta.Parser を使用して、外部 DSL を作成できます。
現在、パーサーは開発中ですが、複雑な外部 DSL の作成には既に使用できます。OMeta は、プログラマーが語彙アナライザーとパーサーを簡単に実装できるようにする強力なツールです。Boo の拡張可能なコンパイラ パイプライン アーキテクチャにより、標準の Boo.Parser を Boo.OMeta.Parser に置き換えることができます。ほぼすべての種類の構文で Boo 構文を拡張するために使用できます。例はここにあります。
実装言語として Boo のみを使用していますが (基本的に Booについてではなく)、Ayende の「Building Domain Specific Languages in Boo」を読んだことがありますか? まだ完全には公開されていませんが、アーリー アクセス エディションを入手できます。
私はまだ Boo を注意深く見る時間がありませんでしたが、 C# 3 (Boo の機能の一部を獲得した) に対する主な利点は、簡潔さ (多くの型推論) とメタプログラミングにあるようです。
Booのダイナミックな考え方に本当に合ういくつかの使用法:
宣言型データ バインディング マクロを実装するために、Boo とのサイド プロジェクトに取り組んでいます。言語はかなりクールです!これまで経験したことのないコンパイラ構築の経験を与えてくれます。
楽しみのために、Ubuntu 8.10 の Mono で Boo を使用しています。
Boo の興味深い言語機能のいくつかをご覧ください。