Scala言語を学ぶやさしいツール「Kojo」が無償公開

2010年3月24日はてなブックマーク del.icio.us Twitter

オブジェクト指向言語と関数型言語の特徴を備えたプログラミング言語「Scala」は、JavaVM上で高速に動作する生産性の高い言語として最近注目されている言語です。

Kogics: The Kojo Learning Environment

Scalaは静的型付け言語としての高速性を実現しつつ、非常に柔軟なプログラミングが可能で、オブジェクト指向言語としてコードが記述できると同時に関数型言語の機能も発揮できるとされており、これらが高い生産性につながるといわれています。

また、関数型言語は並列処理を記述するのに適したプログラミング言語としても注目されています。

そのScalaを、子ども向けにやさしくプログラミングを学ぶための言語として採用したオープンソースの統合学習環境「Kojo」が、無償公開されています。

タートルグラフィック機能を搭載

Kojoは、いわゆるタートルグラフィックス機能を標準で備えたScala言語のサブセットで、タートルに命令を与えると画面上にグラフィックの結果が表示される、というものです。

画面は、サンプルとして用意されている円を描くプログラムを実行したところ。

fig

かつてLOGOと呼ばれる、タートルグラフィックでプログラミングを学ぶ子ども向けのプログラミング言語がありましたが(いまもあると思いますが)、Kojoはまさにそれを思い出させるツールです。

ScalaでHello, Worldを実行してみました。文字の出力は、右側の「Output Pane」に表示されます。

fig

左下のScript Editorにコードを入力して、実行ボタンを押せばすぐに動き始めます。最初は「Samples」メニューにいくつもサンプルが用意されているので、それを試すのもいいでしょうし、英語ではありますがドキュメント「Kojo - An Introduction」(PDF)もあります。

開発者も自分でScalaを試してみたかった

Interview: Scala Learning Environment on the NetBeans Platform | NetBeans Zone

KojoはNetBeansをベースに構築されているツールで、Kojo自体もScalaで開発されているようです。開発したLalit Pant氏は、NetBeans Zoneというオンラインマガジンのインタビューで次のように発言しています。

これはScalaで開発されていますね。なぜScalaを選んだのですか?

私にとって新しく(そして非常にパワフルな)オブジェクト指向(例えばTraits、 Implicits、Abstract Types、Type Constructor polymorphism etc.)を備えているためです。と同時に関数型言語でもあり、オブジェクト指向プログラミングの中で関数型プログラミングのテクニックを非常に実践的に使えるためです。

利用者がこのツールで学ぶ言語もScalaですね。それはなぜですか?

Scalaのサブセットですが、これは非常にシンプルです(Javaよりシンプルで、PythonやRubyに匹敵します)。そしてもしKojiでScalaのプログラミングが利用できれば、自分でScalaのコードを読んで、試して、動かしてみることを繰り返しできます。そういうことがしてみたかったんです:-)

実際にインストールして触ってみましたが、本当にすぐに始められ、結果がグラフィックで表示されます。Scalaに興味がある方、話題になっている関数型言語をはじめてみたい、という方はきっと試す価値があると思います。

Scalaがどんなプログラミング言語かについては、以下の記事が参考になります。

関連記事

今月はBasicでプログラミングを学ぶツール、MS Small Basicもマイクロソフトから登場しました。以下の記事で紹介していますので、ぜひご参照ください。


次の記事≫ MySQL開発者はどこへ行ってしまったのだろう? 大丈夫、多くはオラクルにとどまっている
前の記事≪ JavaScriptが遅い4つの原因とは?

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed
≫ 過去の記事を読む




アクセスランキング - 過去7日間

  1. 次の10年、「統計分析」こそテクノロジー分野…
  2. その分析、Hadoopなら速く安くできます …
  3. 米国で求められているクラウドのスキルは? A…
  4. [速報]VMworld 2010、クラウド時…
  5. グーグルが構築した大規模システムの現実、そし…
  6. 経過報告:「SAP」をSocial Appl…
  7. 技術評論社のクラウド技術誌「G-CLOUD …
  8. グーグル、オラクルとの係争を理由に今年のJa…
  9. グーグルが構築した大規模システムの現実、そし…
  10. [速報]VMworld 2010、IT as…
  11. アドビ「iPadでFlashアプリを動かす」…
  12. グーグルが構築した大規模システムの現実、そし…
  13. 呼びかけ:「SAP」をSocial Appl…
  14. グーグルが構築した大規模システムの現実、そし…

アーカイブ  (最新記事10)

バックナンバー

2010年9月
2010年8月
2010年7月
2010年6月
2010年5月
2010年4月
2010年3月
2010年2月
2010年1月
2009年12月
2009年11月
2009年10月
2009年9月
2009年8月
2009年7月
2009年6月
2009年5月
2009年4月
2009年3月
2009年2月






Trackbacks (TrackbackURL:http://www.publickey1.jp/mt/mt-tb.cgi/1032)

  • (トラックバックは承認後に掲載されます)

Comments