Java/Python 導入ガイド:世界一有名なプログラム
Java プログラマーのための Python 導入ガイド〈初級/入門編〉《Jython2.5》
世界一有名なプログラム:hello world
悪人を倒せば世界が平和になる
という映画は作らない
Hayao Miyazaki - Wikipedia
世界一有名かつ短いプログラム
「世界一有名なプログラム」と言えば、これでしょう。
■ 事例:C
main() { printf("hello, world\n"); }
K&R に続く、数多くのプログラミング言語の入門書で「なぜか」これと同様の例が示されます。Java/Python 自身もC言語で記述されていることから、それ自身もある意味で「C言語のアプリケーション」と言えます。C言語を生み出した「K&R への賛辞(tribute)」という意味では、ここから始めることに意義があるのかもしれません。
■ 事例:Java
class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world"); } }
「世界一有名なプログラム」は「世界一短いプログラム」とも言えます。文字列 "Hello, world" の長さを無視すると、何かを出力するのに必要な「最低限の」要素が盛り込まれています。
Jython 対話モード
同じことを Jython で記述するには、対話モードで起動して、
$ jython2.5.0 Jython 2.5.0 (Release_2_5_0:6476, Jun 16 2009, 13:33:26) [Java HotSpot(TM) Client VM (Apple Inc.)] on java1.5.0_13 Type "help", "copyright", "credits" or "license" for more information.
組み込み関数 print を利用すると、
>>> print("Hello, world")
Hello, world
むしろ、対話モードならではの特徴を活かして、
>>> "Hello, world" 'Hello, world'
と文字列を入力するだけで、同様の出力が得られます。
《Note》入出力の違いがよく分かるように、事例を示すときには(原則として)二重引用符で囲んだ文字列を入力します。すると、単一引用符で囲まれた文字列が出力されます。
Jython スクリプト(モジュール)
コマンドラインからモジュールを起動すると、
$ jython2.5.0 hello.py #! /usr/bin/env python if __name__ == '__main__': print("Hello, world")
if 文に続く条件式を満たすときだけ、ブロック内に記述されたコードの断片を実行します。
《Note》モジュールを import するだけでは、この部分に記述されたコードは実行されません。さもないと、モジュールを import したときに実行されてしまいます。
モジュールを起動するときに、オブション -i を指定すると、モジュールの動作を対話モードで確認できます。
$ jython2.5.0 -i hello.py
■ 事例:Jython 関数
関数 main を定義すると、
def main(): print("Hello, world") >>> main()
関数呼び出し main() によって、同じ出力が得られます。
■ 事例:Jython メソッド
クラス HelloWorld とメソッド main を定義すると、
class HelloWorld: def main(self): print("Hello, world") >>> HelloWorld().main()
メソッド呼び出し main() によって、同じ出力が得られます。
《余録》モジュールを実行するには
Tips
》作業中です《