InfoQ ホームページ メタプログラミング に関するすべてのコンテンツ
-
C# 9でコンパイル時メタプログラミングを実現するソースジェネレータ
ソースジェネレータ(Source Generator)は、コンパイラが生成したメタデータを使ってユーザコードを調査し、新たなコードを追加的に生成して、プログラムの他の部分と一緒にコンパイルするという動作を可能にする、C#コンパイラの新機能である。
-
AtomistがAlpha Programmeの提供を開始
Atomistは、同社のメタ・メタプログラミング言語であるRugを試してみたい人向けにAlpha Programmeの提供を開始した。同社は、Rugのことを開発ワークフローを自動化する言語と述べている。Rugは、繰り返しまたは定型コードの生成を自動化するために使用され、Atomistによって編成されている。Rugは、マイクロサービスなどの分散システムで作業するときの生産性を向上させることを目指している。
-
プログラミング言語Colmの紹介
Colmはコンピュータ言語の分析と変換のための新しいプログラミング言語だ。この新しい言語が革新的なのは構文解析の方法だ。この言語はAdrian Thurston氏の博士課程の成果物だ。
-
Essential: 新しい言語ワークベンチ
Pedro Molina氏は彼の新しい言語ワークベンチ、Essentialの公開ベータ版をリリースした。他の言語ワークベンチと異なり、Essentialはモデル定義の解釈が可能であり、より高速かつ容易にモデル駆動ソリューションの設計とリファクタリングを行うことが出来る。
-
Language Workbench Competition 2011への応募
昨日、LWC 2011の応募期間が終了し、11件の応募がなされた。汎用のプログラム言語のコードを生成可能な専用プログラミング言語を開発することができる「言語ワークベンチ」の登場により、モデル駆動ソフトウェア開発(MDSD)は、急速に発展してきた。 InfoQは、LWC 2011の主催者の一人にインタビューを行った。
-
JetBrains MPS 1.1: パフォーマンス改善と容易になったデバッグ
半年前に Meta-Programming System (MPS)バージョン 1.0がJetBrainsからリリースされた。この続報として、1.1のリリースが12月にあった。 InfoQは、Apache 2.0のライセンスの元で、オープンソース製品として提供されているLanguage Workbenchの現状を確認した(例外的にオープンソースでないのは、IntelliJ IDEAから抜き出されたJetBrains IDEフレームワークである)。
-
ClojureがSTMとLISPをJVMにもたらす
ClojureはLISPファミリの言語のかなり新しいメンバであり、Javaプラットフォームで動作する。2007年に導入され、すで高い関心を集めている。ひとつの理由はClojureの並行処理へのアプローチであり、ソフトウェアトランザクショナルメモリ(STM)のコンセプトを踏まえている。
-
JetBrains のメタプログラミングシステムは言語指向プログラミングと DSL をサポート
JetBrainsの新しい言語指向プログラミングツールMPS(Meta Programming System: メタプログラミングシステム)を利用すると、開発作業時にプログラミング言語を拡張したり、企業アプリケーション用のドメイン固有言語を作成したりすることができる。JetBrainsの開発チームはこのほど、MPSソフトウェアのβ版を公開すると発表した。
-
Article: モデル駆動ソフトウェア開発のためのベストプラクティス
Sven Efftinge氏、Peter Friese氏とJan Köhnlein氏が、MDDを取り入れて成功した経験から、ベストプラクティスの解説を行います。
-
メタプログラミング 総括: 速度、Ruby マクロ、スクリーンキャスト
Matt Aimonetti 氏は最近メタプログラミングの速度、特にメソッドを定義する様々な方法の速度をよく調べていた。そして彼は、ユーティリティメソッドを定義するための Proc オブジェクトを用いた define_method を使ったコードが、静的に定義されたメソッドよりもずいぶん遅いことに気づいた。
-
John Heintz氏による、Javaアノテーションのベストプラクティス
New Aspects of Software社のJohn Heintz氏はNo Fluff Just Stuffコミュニティが主催する、Central Ohio Software Symposiumで、Java Custom Annotationを使用して振る舞いを追加するための特別な設計テクニックに関するプレゼンテーションを行った。
-
Article: メタプログラミングを使ってRubyにプロパティを追加する
Werner Schuster氏が、簡単な例を示しながら、Javaのようなプロパティをメタプログラミングを使ってRubyに追加する方法を示します。
-
あなたは本当に、他の言語を学ぶべきなのか?
ブロガーのGustavo Duarteは、新しいプログラミング言語を学習するのはしばしば時間の無駄である、と言う呪いの言葉を吐いた。彼は最初、自分の投稿に"新しい言語は有害だと思われる"と言う、Dijkstaがgotoについて述べた古典的な文章を文字った題名を付けていた。
-
ビジネスアナリストはプログラマになる準備ができているか?
Microsoftは、Osloの展望を提供する準備をするにつれて、そう考えるようになっているようである。2007年11月、Doug Purdy氏が開発に関する新たなプロジェクト「Emacs.NET」を引き合いに出した。
-
MountainWest RubyConf 2008のビデオ
Confreaks社といろいろなスポンサーのおかげで、RubyConf 2008の15のセッション全てが、Confreak社のウェブサイトより既にダウンロード可能だ。Flashを使ってオンラインでセッションを見ることも可能だ。