Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Java meets Python - 第0回 Jythonはじめました(前編)

よろずプログラマーのためのPython導入ガイド (1)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/10/09 14:00

JavaとPythonとの異文化交流は、Jythonという新たな可能性を具現化しました。Pythonは、Rubyと肩を並べてよく比較されますが、その歴史はJavaが産声を上げるより早く、1991年にはGuido van Rossumさんの手によって公開されています。未知との遭遇は、Javaの近未来を予見させます。まずは連載の予告編として第0回と題し、Jythonによって広がる新しいプログラミングの可能性の概観を紹介します。

目次

はじめに

 Java meets Python。そして、Jythonが産まれました。この連載では、Java/PythonのDNAを備えたJythonを紹介します。Javaのアプリケーション開発に携わる皆さんの苦痛を和らげ、より快適なアジャイル開発への道標となるなら幸いです。

対象読者

 こんな症状を抱えているなら……。

  • Javaの開発効率の悪さにストレスが溜まる。
  • 要求仕様の変更に柔軟かつ迅速に対処できない。
  • 体力(単純な肉体労働)に自信がない。頭脳労働に専念したい。
  • 既存の資産(Javaで構築されたレガシーシステム)は今後も運用したい。
    【効能】 開発効率を改善しつつ、洗練されたOOPの醍醐味を堪能できる。
    【副作用】 Java単独でのソフトウェア開発を苦痛に感じるかも……。

どこかで見たようなサンプルプログラム

 まず、添付されているプログラムを実行してみてください。左側のボタンを押すと、左から右へと転がる円とその軌跡がアニメーションを使って表現されます。どこかで見たようなJavaのアプリケーションです。と言いたいところですが、実はPythonで記述されています。つまり、Pythonを使ってSwingのアプリケーションを作成できるのです。

 この連載で、Swingを採用した理由の一つは「百聞は一見にしかず」との言葉にあるように、OOP(Object Oriented Programming;オブジェクト指向プログラミング)を体感するのに、視覚的な効果を活用したいからです。もう一つの理由は、JavaBeansに準拠しているからです。Swingに限らずJavaBeansに準拠するなら、PythonにはないJythonに固有の支援機能を活用できます。

Jythonとの遭遇:お名前は?

 まず、注意をしておきたいのはJythonを「ジェイソン」と読まないでくださいね。『13日の金曜日』シリーズに登場する主人公なら、Jason Voorheesですから…。

(c)前タカヲ
(c)前タカヲ

 JythonはPythonのリファレンス実装の一つで、Javaで記述されています。Pythonは1991年にGuido van Rossumさんによって開発されました。PythonはC言語で記述され、Cとのコラボレーションが可能です。JythonはそのJava版で、C言語版をCPythonと呼ぶのに対してJPythonとも呼ばれていました。

《Tea Break》 Jythonの読み方
 結論から言うと、Jythonの読み方に「正解」はありません。言い換えれば「正解はひとつとは限らない」という意味です。それは、nullをローマ字式に「ヌル」と読んでも、英語圏の人には「ナル」でないと通用しないのと同じ理屈です。ちなみに(語尾にある場合を除いて)、直前に母音を伴わない「y」の発音は、byte、cyan、dynamic、hybrid、nylon、pylon等、「子音 + ai(アイ:二重母音)」と発音するのが通例です。たとえば、cyanは日本語のカタカナ表記で「シアン」ですが、正しくは「サイアン」です。以前、Kylix(カイリックス)が発表されたときも「ケイリックス」と読む人がいました。Jythonの場合には、J(ジェイ)で始まることから「ジェイソン」と呼びたい人の気持ちも分かります。Jython は「Java + Python」の造語ですから、これを何と呼ぶのも自由です。しかし、英語圏の人がその通例に従うなら「ジャイソン」と発音するのが自然でしょう。

Jythonとの遭遇:どこから来たの?

 PythonにはないJythonの特徴の一つに、Javaとの融合が挙げられます。コマンドjythoncを使うと、Jythonのソースコードから.classファイルを生成できます。例えば、Pythonのソースファイル「B.py」から、Javaのソースファイル「B.java」に変換して、それをもとにJavaVM用のバイトコードを含む「B.class」を生成します。こうして、Java/Pythonの融合した世界が実現できます。

 ここから先、Jythonはインストール済と仮定して話を進めます。最新情報は、公式サイトを参照してください。また、開発環境としてEclipse Pluginsが提供されているので、下記も参照してください。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 小泉ひよ子とタマゴ倶楽部(コイズミヒヨコトタマゴクラブ)

    http://tamago-club.cocolog-nifty.com/ 「楽しくなければ仕事じゃない」が私たちのモットー。99%の苦悩の連続も、1%の成功に報われます。だからこそ、この仕事が楽しくて仕方がないのです。楽をするための努力なら惜しみません。何もせず楽をしているのと、努力をしたか...

バックナンバー

連載:よろずプログラマーのためのPython導入ガイド

もっと読む

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5