InfoQ ホームページ コンパイラ に関するすべてのコンテンツ
-
MavenとJRuby - MavenライブラリをRubyGemsにするMaven_gemとGemCutterから生まれたJavaGems
JRubyのCharles Nutter氏が、Mavenの成果物をRubyGemsとしてインストール可能にしている。Mavenを使う代わりに、RubyGemsやBundler、Gemcutterで作られたJavaGemsを使えば、ScalaやClojure、その他のJVM言語のライブラリをより簡単にインストールできる。また、JRubyは、実際にJavaクラスを生成する機能を手に入れている。
-
Clojure 1.1,効率のためにトランジェントとチャンクシーケンスを追加
Clojure 1.1 RC1 が公開された。永続的データ構造に可変性の制御機能を与える "トランジェント(Tranjent)",遅延シーケンスを効率化する "チャンクシーケンス(Chunked Sequence)" の導入によって,関数プログラミングのコンストラクタに関するオーバーヘッドが改善されている。InfoQ では,これら改良点がどのように動作するかを調査した。
-
.NET 4.0がXAML 2009をもたらす(ただしWPFユーザーのためではないが)
PDC 2009で、Michael Shim氏とRob Relyea氏の2人はXAMLの機能についてのMicrosoftのプランを発表した。長い間、彼らはいくつものXAMLとパーサーを統一しようと計画してきたが、これからはWorkflow Foundationのような非UI技術のためにXAML 2009を使えるだろう。一方、新しいパーサーはXAMLを分析、操作、生成したい全ての人に新しい機能をもたらす。
-
JRubyの新IRが将来のパフォーマンス改善を容易にする
JRubyの新しい中間表現(IR)のコードにより、多くの最適化が可能になり、更なるパフォーマンス向上をもたらすだろう。InfoQは、IRを開発しているSubbu Sastry 氏に聞いた。
-
Tasktop Pro 1.6,C/C++ プロジェクトのタスク管理と自動タイムトラッキングをサポート
Eclispe Mylyn と Tasktop の開発元である Tasktop Technologies 社は先週,Tasktop Pro 1.6 バージョンのリリースを発表した。Tasktop Pro は Eclipse IDE 用のアプリケーションライフサイクル管理 (ALM) 統合スイートだ。最新バージョンでは,リポジトリ間リンク,C/C++プロジェクト用のタスク管理フォーカス,アジャイル ALM ツールとの統合などがサポートされる。さらに今回のリリースでは,自動タイムトラッキング機能も追加されている。
-
MacRuby 0.5ベータが登場。JIT、AOT、GCDサポート、GILの削除を実現
MacRuby 0.5の最初のベータがリリースされた。これは新しいVM、JIT、AOTを備え、GILの削除を実現している。InfoQはMacRubyコアチームにインタビューして、MacRubyの状況とMacRubyを使ってiPhoneアプリが書けるかなどについて聞いてみた。
-
新しいインストーラが Windows 版 Ruby の実行速度を大きく向上する
Luis Lavena 氏は Windows 用 Ruby インストーラのアップデート作業を行っている。このインストーラには最新のコンパイラで作られた Ruby バイナリが取り入れられていて,ベンチマークによれば Ruby 1.8.6 が以前の2倍以上の早さで動作する。我々は Luis Lavena 氏に,この新たな Ruby インストーラについて話を聞いた。
-
Scalaのアクターのための性能を犠牲にしないで競合安全性を確保する型システム
Philipp Haller氏とMartin Odersky氏が紹介するのはScalaのアクターが安全にメッセージを送受信するための型システムだ。EPFL Scalaコンパイラの拡張として定式化されたこの“オブジェクト能力型”システムはオブジェクトの能力に対する検証と外部向けの一意性に基づいている。この仕組みは、性能を犠牲にすることなく競合に対する安全性を確保し、メッセージ送受信の既存の方法にある無視できない限界を取り除く。
-
Ruby VM 総まとめ:IronRuby 1.0、RubySpec、JRuby 1.3.1リリース間近
Rubyの互換実装は活発に開発されている。 IronRubyの開発スピードは目を見張るものがあり、7月にはバージョン1.0がリリースされるだろう。さらには、JRuby1.3.1は重要なバグ修正が施され、MacRubyは継続的開発が続き、MagLevはパーサを独自実装してきている。
-
JRuby総まとめ:JRuby 1.3 リリース、ruby2java、JSR 292の進展
JRuby 1.3が現在利用可能になっており、それによりパフォーマンスの改善とGoogle AppEngineとの互換性がもたらされた。そのほかの改善作業も続いており、ruby2javaコンパイラの最初のバージョンが現在利用可能である。また、InvokeDynamicのサポートが次のバージョンのJavaのビルドに含まれようとしている。
-
Rich Hicky氏、Clojureの特徴と実装について語る
QCon London 2009 でのこのインタビューの中で、Rich Hickey氏はClojureについて語っている。議論の中でClojureのSTMサポートの背後にある考えや、Clojureが他にどんな並行性プリミティブをサポートしているか、将来どんなプリミティブが追加されそうか、などが語られている。他にも、ClojureのAOTサポートや、マルチメソッドの役割とその実装について、Clojureの他のシステムへの移植について、など満載である。
-
Rubyパフォーマンス総まとめ:Heap Stackによる1.8.xのスレッドの高速化、MacRuby AOT、ZenProfileとEventHook
Joe Damato氏による新しいパッチはheap stackを利用してRuby 1.8.xのグリーンスレッドの効率を改善する。コンテキストスイッチの度ごとにスタック全体をコピーする代わりに、そのパッチは異なるスタックの交換だけを行う。Ryan Davis氏は効率的なプロファイリングのためにzenprofileとevent_hookをリリースした。さらに、MacRubyのLLVMを用いた事前コンパイラに関する作業が開始されている。
-
データ、コンテキスト、相互作用 : James O. Coplien氏とTrygve Reenskau氏による新しい設計方法
このほど、James O. Coplien氏とTrygve Reenskaug氏は、OOPの新しい設計方法を紹介した。データ(Data)、コンテキスト(Context)、相互作用(Interaction)パターンに基づく設計方法である。この設計方法により、今までのOOPでは捕らえることができなかった振る舞いに関する要求、つまりユーザが思い描くモデルを把握することが可能となる。この記事では、多くの反響や批判があったDCIに関して、例を示しながら洞察し、その優位性について説明する。
-
Microsoft、Common Compiler Infrastructureをオープンソース化
Microsoft ResearchはCLRアセンブリのメタデータやデバッグファイルを操作するため、コンパイラや他のプログラミングツールによって使用される一連のライブラリを含む、Common Compiler Infrastructure: Metadata (CCI)およびCCI: Code and ASTプロジェクトをオープンソースにした。CCI: MetadataコンポーネントはSystem.Reflectionを組み込み、CCI: Code and ASTはSystem.CodeDomを組み込む。
-