Oracle Code One 2019速報レポート

第1回 新しいリリースサイクルで進化を続けるJava[c1jp]

この記事を読むのに必要な時間:およそ 3 分

2019年9月16日から19日にかけての4日間,米サンフランシスコのMoscone CenterにおいてOracle主催の開発者向けイベントOracle Code One 2019が開催されています。Oracle Code Oneは,もともとは「JavaOne」という名称でJava開発者向けに開催されていたイベントの後継となるもので,対象となる技術の裾野を広げてエンジニア同士のコラボレーションを促進するという目的で,昨年,名称が変更されました。

Javaを中心として,各種プログラミング言語やクラウド技術などに関する170以上のセッションが用意されているほか,参加者同士が自由に議論に参加するスタイルの⁠アンカンファレンス⁠なども開催されるなど,世界中のエンジニアと技術談義ができるのがこのイベントの魅力です。

数ある技術セッションのうち,今回は「The Future of Java Is Now」というタイトルで行われた初日のキーノートセッションの様子をレポートします。

進行役を務めたOracleのVice Precident,Georges Saab氏。Code Oneの顔とも言える存在

進行役を務めたOracleのVice Precident,Georges Saab氏。Code Oneの顔とも言える存在

「量子コンピュータ Is Now」

キーノートの前半に登場したのは,スタンフォード大学で量子コンピューティングを研究するJessica Pointing氏です。

量子コンピューティングの研究者,Jessica Pointing氏

量子コンピューティングの研究者,Jessica Pointing氏

未来の技術と言われ実用化が待ち望まれている量子コンピュータですが,実際にどのような分野に応用でき,ソフトウェア・エンジニアの仕事がどのように変わっていくのかについては,詳しく知らない人も多いのではないでしょうか。Pointing氏はこの量子コンピュータについて,以下の3つの観点から分かりやすく説明しました。

  1. どのような問題を素早く解決できるようになるのか?
  2. 核となる要素は何か?
  3. 現在はどんな状況にあるのか?

その内容について詳しく記述するのは避けますが,同氏の発表の中で特に興味深かったのは,量子コンピュータのプログラムをJavaで記述するためのライブラリの存在です。⁠Quantum Computing API for Java」という名称でオープンソースで開発されており,GitHub上でリポジトリが公開されています。

従来の一般的なコンピュータでは,0か1のいずれかの状態を持つ「ビット」を基準として情報を扱います。それに対して量子コンピュータでは,量子力学の重ね合わせを利用した「qubit」⁠量子ビット)によって情報を扱います。1qubitは0と1のすべての組み合わせ(00,01,10,11)を同時に表現できます。

基盤となるアーキテクチャがまったく異なるためアルゴリズムも変わってきます。広く研究されているのは,量子ゲートを組み合わせて量子回路を構成する方式です。Quantum Computing API for Javaでは,量子回路をJavaプログラムで記述して実行するシミュレーションを行うことができます。

Javaで記述した量子回路の例

publbic static void quantumCircuit() {
    QuantumExecutionEnvironment sumulator = new SimpleQuantumExecutionEnvironment();
    Program program = new Program();
    Step step = new Step();
    step.addGate(new Hadamard(0));
    program.addStep(step);
    Result result = simulator.runProgram(program);
}

現時点では,最大で50個から100個ほどのqubitを持つ量子コンピュータが実現できているそうです。しかし,この規模では十分な高速性を得ることはできません。しかし将来的に数千から数万,数百万といった規模のqubitを持つ量子コンピュータを実現し,古典的なコンピュータでは解決できなかった問題に取り組むことができるようになります。そのときにはプログラマの意識も量子プログラミングに対応するよう変えていく必要があります。

まだまだ未来の話のように思えますが,Quantum Computing API for Javaなどを使って,今のうちから未来に意識を向けておくのは大切なことかもしれません。

著者プロフィール

杉山貴章(すぎやまたかあき)

ONGS Inc.所属のプログラマ兼テクニカルライター。雑誌,書籍,Webメディアで多数の著作をもつ。

著書

バックナンバー

Oracle Code One 2019速報レポート