InfoQ ホームページ Language Design に関するすべてのコンテンツ
-
C#、ScalaのシンタックスをベースにしたJavaのラムダ式
lambda-devメーリングリストに最近投稿されたメールによると、Javaのラムダ式のシンタックスは、C#やそれに非常に似たScalaのシンタックスをベースにしたものになる予定であるとのことだ。これらは既に開発者に慣れ親しまれており、「最もJavaに似た二つの言語(C#とScala)で既に使われているシンタックスを採用するのが、新しいシンタックスを作り出すよりもベターである」と考えられているようだ。
-
X++ プログラム言語の概要
誕生から17年を迎えた X++ は,Java の構造型および命令型機能と SQL のセットベースの操作を合わせ持った,主として ERP プラットフォームの Dynamics AX で使用されるプログラム言語である。当初は完全に独立した言語であったが,2009 以降の X++ では .NET 中間言語へのコンパイルが可能になった。
-
LINQ to Objectsのためのインタラクティブエクステンション
インタラクティブエクステンション(Interactive Extensions; Ix)とは、リアクティブエクステンション(Reactive Extensions; Rx)の成果をベースにしたLINQ to Objectsのオペレータセットだ。それらは、System.Linq名前空間で、IEnumerable型のオブジェクト用の拡張メソッドとして公開されている。ほとんどの開発者は、自分用のユーティリティライブラリとしてこれらの多くをすでに持っていると思うが、不足分が標準実装として提供されるのは価値があるだろう。
-
Javascript経由でClojureをブラウザで利用できるようにするClojureScript
Rich Hickey氏がClojureをJavascriptにコンパイルするClojureScriptを発表した。これを使えばClojureをブラウザやモバイルの世界で利用できる。InfoQはClojureScriptの存在理由やその実装を探った。
-
新たな JVM 言語の開発
JVM ベースの新言語に関して先日,Ceylon プロジェクト提案のニュースが伝えられた。すでに JVM には,静的および動的型付けともに多様な言語が存在している。その事実の前で,どうやって新しい言語を成功させようというのだろうか?
-
JVM言語Ceylon
Hibernateの作者Gavin King氏はQCon北京でJVM言語Ceylonに関するプレゼンテーションを行った。Ceylonプロジェクトはほぼ初期段階で、コンパイラもIDEサポートもないが、CeylonはJavaプログラミング言語のいくつかの制限に立ち向かっている。その存在がtwitter上でリークされたため、その言語についてのたくさんの憶測が生まれている。読み進めて、Gavin King氏の言葉からより詳細を得て欲しい。
-
Erlang のプロセスは Scala の Actor のコピー,Erlang の VM は JVM のクローン同然 (4月1日記事)
Erlang を共同で開発した Joe Armstrong と Robert Virding の両氏が,Erlang が Java の関連技術から多大な着想を得ている事実を認めた。ErlangFactory 2011 SF でのインタビューで両氏は,Scala の Actor が Erlang におけるプロセスの起源であることを明らかにした上,Erlang の VM がかの有名な JVM のクローンに等しいことをも告白したのだ。
-
標準仕様を越えて - Mono のコンティニュエーション
Mono はいつも C# と Common Language Inftastructure (CLI) 仕様をフォローする努力を続けているが,時にはそれを追い越してしまうことがある。SIMD のサポートなど .NET との後方互換性のための機能もいくつかあるが,ランタイムサポート方式のコンティニュエーション(Continuation) は Mono 独自のものだ。
-
SGen - Mono の世代別ガベージコレクタ
Mono には知られたくない秘密がある。最近に至るまで,可搬性はあるがまったく不正確な Boehm-Demers-Weiser 保守的ガベージコレクタを使用していたことだ。しかし2年に及ぶ努力の結果,これまでよりもはるかに正確で CLR に特化した,新しい世代別ガベージコレクタへの移行が果たされつつある。
-
JRubyの今:1.6 RC1, JSR 292、Java 7の NIO2、Ruby1.9.2のサポート
JRuby 1.6の最初のRCが発表された。Ruby 1.9.2との互換性向上、C拡張の試験的サポート、Windowsサポートの改善、Ruby GemのMavenサポート、性能改善。InfoQは同プロジェクトのCharles Nutter氏に、JRuby1.6やJava 7のインパクト、Rubyの新しい機能などについて話を聞いた。
-
Visual Basic からランタイムライブラリがなくなる
Visual Basic とそのコンパイラが使用するランタイムライブラリは,その規模の大きさから,この言語を使用する上での大きな障害である。Windows Phone 7 と XBox 360 はこのライブラリをサポートしていないため,どちらにもやっかいな回避策が必要となっている。Microsoft は Visual Basic 10 SP 1 で,再度これを修正しようと試みている。
-
なぜMicrosoftはVBとC#に非同期シンタックスが必要と信じるのか。
VBとC#の新しい非同期CPTを見ると、実際に中核言語に組込まれたように見える。しかし、マルチコア システムを重要視して、なぜMicrosoftは、特に単一スレッドの非同期プログラミングを簡単にするように設計したシンタックスに、そんなにも投資するのだろうか?
-
続報:F#と他言語でRazor
先月、Vladimir Kelman氏が新しいRazorビュー エンジンをF#で使うことができるか質問した。 Scott Guthrie と Marcin Doboszの両氏と話して、必要なプラグインを全て自分でビルドして、インストールすればできることがわかった
-
MonoDevelopは、3番目のF#用IDE
MonoDevelopは、MicrosoftのF#言語をサポートする3番目IDEとなった。EclipseIDE上では、.NETサポートは、本質的に死んでおり、WebMatrixは、アマチュア開発者をターゲットにしている状況で、今後もちゃんとサポートを期待できる最後のIDEになりそうである。
-
JavascriptVMに多数の言語: CoffeeScript 1.0, StratifiedJS, EmscriptenによるC/C++, Python
Javascriptの広まりとVMが非常に速くなっていることが言語の面白いランタイムを生むことになった。InfoQは、言語とJavascriptにコンパイルするツールを調べた。CoffeeScript 1.0, StratifiedJS,そしてJavascriptにC/C++をもたらすEmscripten LLVMバックエンドなどである。