Java プラットフォーム用の代替言語を探る

Java 仮想マシンの普遍性と柔軟性を有効に使う

  1. なぜさらに多くの言語を学ぶのか?
    Java プラットフォームの強み(メモリー管理、パフォーマンス、ポータビリティー、安定性、汎用性の高いライブラリー)は、高い信頼性と効率化を実現する機能です。しかし、Java 言語自体は、ますます複雑化し、その独自の抽象化によって幾分限られたものになってしまっています。JVM の近代的な言語は、合理化された構文を提供し、広範囲のプログラミング・パラダイム(オブジェクト指向、動的型定義、関数型プログラミング、およびメタプログラミング)、Java コードと相互運用する機能と並行処理に対するいくつかのより良いアプローチのケースをサポートしています。Java プラットフォームのための新しい言語を学ぶことに前向きな企業の開発者たちは、彼らのプログラミングのニーズに合わせて最も適切なツールを活用することができます。
    聴く: Venkat Subramaniam 氏が 多国語混合プログラミング、JVM とマルチコア処理について語る (英語、29分)
    読む: Javaテクノロジー — まだ熱いのか、既に風味を失っているのか (英語)
     
  2. 近代的な動的言語: Groovy、JRuby と Jython
    Groovy、JRuby と Jython は、JVM 向けの十分に確立した汎用の動的スクリプト言語です。Groovy は、コンパイルを必要とせず、構文的構造体を容易にし、そのスクリプトを通常の Java アプリケーション内で使用させることができるアジャイル開発フレームワークで Java 開発者が最も精通している機能とライブラリーを置いています。JRuby は、人気のあるオブジェクト指向言語 Ruby の Java 実装です。その構文は、Java 言語の構文には全く似ていませんが、JRuby は、Java にかなり固く統合されており、Java プログラムから直接呼び出すことができます。Jython は、Linux を含む UNIX ベースのシステムでしばしば使用されるオブジェクト指向言語である Python の実装です。Groovy や JRuby と同様に Jython は、Java コードとインタフェースすることができます。
    読む: 実用的な Groovy: Java プログラマーのための DSL としての Groovy
    読む: alt.lang.jre: JRubyを好きになってください
    聴く: 不屈の Nic Williams 氏が JRuby の美徳を称賛する (英語、32分)
    演習: 魅力的な Jython
     
  3. 機能的な(そしていくつかの)プログラミング: Clojure と Scala
    JVM の場への 2つの相対的な新人である Clojure と Scala は、共に並列プログラミングを強力にサポートする機能を持ちます。Clojure は、機能的な動的型定義の Lisp の派生です。Scala は、オブジェクト指向と関数型構文の両方をサポートする静的に定義された言語です。双方は、Java との相互運用性があり、Clojure は、おそらくその点において境界を保持しています。
    読む: Clojure プログラミング言語
    聴く: Stuart Halloway 氏が、Clojure について語る (英語、21分)
    読む: 多忙な Java 開発者のための Scala ガイド: オブジェクト指向のための関数型プログラミング
     
  4. WebSphere sMash を使った Java プラットフォーム上での PHP
    PHP は、Web サイトとサーバーで数百万人に使用されているオープンソースのサーバー・サイド・スクリプト言語で、巨大な開発者コミュニティーを誇っています。WebSphere sMash — 継続的なコミュニティー・ベースのインキュベーション・プロジェクトである Project Zero の成果 — は、簡略化されたスクリプト API を介して迅速にアジャイルな Web ベースのアプリケーションやサービスを構築するためのプラットフォームです。sMash は、JVM 上の PHP(元々 P8 と呼ばれる)の実装を介して、その 2つのスクリプト言語の 1つ(もう一方は、Groovy)として PHP をサポートしています。
    見る: P8 を使用して JVM 上で PHP を実行する (英語)
    ダウンロード: WebSphere sMash Developers Edition (英語)
    読む: WebSphere sMash で Java と PHP を統合する
    演習: Project Zero、WebSphere sMash、そして PHP を使い始める
     
  5. 次のステップ
    見る: JVM Language Summit Archive (英語)
    議論する: WebSphere sMash フォーラム (英語)
    フォローする: WebSphere sMash での Scala と Clojure サポート (英語)
    参加する: Java テクノロジー・コミュニティー (英語)
    読む: その他の developerWorks Knowledge path
     

この Knowledge Path について

アクターの並行処理は、長い間関数型言語 Erlang に関連付けられていましたが、もっとも最近では、Scala や Groovy といった言語と同様に Java ベースの実装ライブラリーやフレームワークを介して JVMに移行しました。この Knowledge path では、なぜアクターの並行処理がますます人気を高めているのか、またそれが従来の Java 並行処理に必要な代替手段であることを理解します。アクターとアクター・モデルの基本を学んだ後に、GPars、Kilim、Akka や μJavaActors ライブラリーを含む様々な範囲のアクターの実装を試します。

このコンテンツでのアクティビティー

関連リンク