夜長は楽しくパズルゲーム--Qtのプログラミングで遊ぶ

2012年8月25日


パソコンでのプログラミングは、パズルを解くような面白さのある。最近はやっているQtライブラリを使って、少し楽しんでみた。

1.パソコンでプログラムを作る趣味は面白い

パソコンでは、自分でソフト(プログラム)を作って遊ぶことができる。

テキストエディタやお絵描きツールのようなものを、自分で組み立てられるのだ。

市販されているような複雑なソフトを作るのは、たいへんしんどい作業だが、ちょっとしたプログラムを作ることは、趣味の対象になっている。

プログラムを書く遊びは、自分で何かを生み出す作業なので、とても楽しいと考える人も多いのだ。

あるいは、プログラムの作成は、自分で組み立てて遊ぶパズルゲームと理解してもよいだろう。

2.便利な開発ツールが無料で大公開中

プログラムを書いて実行するためには、プログラムを書くためのソフト(「開発ツール」とか「開発環境」という)を使う。

以前は、高価なものが多かったが、今では無料でよいものが手に入る。

趣味でプログラムを書く場合に、おすすめできそうな開発環境をあげてみた。

どの環境でも、プログラム作りを十分楽しめる機能があるので、どれを選んでもよいだろう。

ここでは、Qtライブラリを使うQt Creatorを、UbuntuというLinuxの環境で使ったときのことを紹介する。

ちなみに、開発環境が無料で公開されているのには理由がある。

無料公開の事情は何であれ、趣味で使うだけなら困ったことは起こらないはずだ。存分に楽しませてもらおう。

3.Ubuntuでのインストールは超簡単

手元のUbuntu(12.04)のパソコンで、Qtの開発環境をインストールした。

root権限でコンソールから

apt-get install qt-sdk

と入力するだけで、インターネットから開発環境がダウンロードされ、一気にインストールされた。

この手のフリーソフトは、単にお金がかからないだけでなく、欲しくなったその瞬間に入手とインストールが完了してしまうところがすごい。

インストールが終わると、アプリケーションの一覧に、Qt Creatorが加わるのでさっそく起動する。

アプリケーション一覧

起動直後の画面には、こんなふうに、プログラムの例を紹介する文章とリンクが表示されている。

起動直後の画面

ちなみに、Windowsを使っている場合は、こちらのページ(開発元提供)に、インストールの方法が説明されているので、参考にされたい。

インストールが終わった後は、プログラムの書き方を勉強すればよいわけだが、どうしよう。

4.プログラミングの勉強は本かインターネットで

プログラムを書くには、少しばかりの知識が必要だ。Qt Creatorを使って、テキストエディタのようなアプリケーションを作って遊ぶには、以下のことは知っておきたい。

趣味なのに勉強?と思うかもしれないけれども、ゲームでも攻略本を買うだろうし、将棋や囲碁は勉強しないと強くなれないようだから、本格的な趣味では、勉強が必要なのである。

QtライブラリはC++言語で使うものなので、まずはC++言語を知っておきたい。

インターネットに初心者向けの説明をしているサイトが少々あるようだが、しっかりした本が一冊あったほうがよいかもしれない。本屋や図書館に行って探してみるとよいだろう。

Visual Studioの環境で使われているVisual C++言語と、Qt Creator等で使われているC++言語は、少しばかり少し違うものなので、本を選ぶときは気をつけたい。

開発環境のQt Creatorの使い方は、ヘルプがついているので読んでいけば分かるだろう。開発元のホームページ(英語)は情報が豊富なので、本に頼らなくてもインターネットだけでなんとかなりそうな気がする。

GUIやロジックを組むときに使う「Qtライブラリ」も、開発元のホームページ(英語)で、ものすごく情報が充実しているので、少しずつ読んでいけば、理解できる幅を広げていけることだろう。

最初は、Qt Creatorに組み込まれている例題プログラムを、少し改造しては実行を繰り返していくと、少しずつ仕組みを理解できることだろう。

5.実践的な英語に触れよう

上記の開発元の情報は、英語になっている。

Qtを作っているのは、フィンランドのNokiaという会社だ。フィンランドの公用語はフィンランド語とスウェーデン語で、英語を母国語としているわけではない。

それなのに英語で情報を提供しているのは、技術を世界中に広めたいからだ。英語で書くと、多くの人が読んでくれると考えているのだろう。

情報の読み手も、英語を母国語としている人ばかりではない。書く側も、そのことをよく理解しているようで、難しい単語や文法は一切使わず、なるべく簡単に読めるように工夫してある。

だから、私たちも、怖がらずに思い切って読んでみるとよい。

例えば、このページ("How to Learn Qt", Nokia社, 2011年)を例に読んでみよう。

ドキュメントの例

Qtの学び方

要求されるプログラミングの能力

Qtは、C++をもとにしたアプリケーション開発フレームワークだ。

以前から、C++はQtの開発では主要なプログラミング言語だ。

2011年にQt Quickが発表され、Qtではスクリプトによる宣言的なプログラムを、QMLを使って作れるようになった。QMLは誰にでもとても理解しやすく・・・

けっこう、書いてある意味が分かるはずだ。分からないことがあれば、辞書を引いて調べれば、たいていは、すぐに分かる。

英語で書かれた資料から、情報を取り出そうとして行う努力は、英語そのものを勉強するよりも、面白いだろうし、英語の上達も早い気がする。

プログラム作りは、海外の良質な情報に触れられる、面白い趣味なのである。

6.洗練された論理の世界を楽しむ

プログラムは、パズルのような側面を持っている。

すぐれた最新の開発環境は、使い手が頭を痛めて考える作業が、なるべく少なくなるように工夫されている。

例えば、Qtでは、「このボタンが押されたら、サーバーとの通信処理を開始する」というロジックを組み込むには、1行以下のように書くだけでよい。

connect(button2, SIGNAL(clicked()), this, SLOT(clientRun()));

ボタン2がクリックされたら、clientRun()という関数を実行する、ということを、そのまま直接書いているだけだ。

サーバーとの通信処理を行うclientRun()の中身は自分で書く必要があるが、GUIとしてのロジックは、極めて簡単に書けてしまうのだ。

コンパイルした後にできあがる実行ファイルでは、ボタンを描画し、マウスカーソルの位置を追跡し、マウスクリックを識別し、押されたボタンを特定し、ボタン操作に関連付けられた処理を呼び出し・・・、と複雑な処理が行われる。そういった複雑な処理は、Qtライブラリが行うので、私たちがプログラムに書く必要はない。アプリケーションとして行いたい処理を書き、その処理とボタン操作を関連づければ、アプリケーションを完成できるようになっている。

このようなライブラリの仕組みを知ると、複雑なことを、どうやったら単純明解に表現できるのか、ということを学べた気がする。

プログラムの作成は、複雑にからみあった世界を、分かりやすく理解する方法を知る、興味深い趣味なのである。

7.仕事としてはいまいち

Qt Creatorの使い方がよく理解できて、思った通りのプログラムを作れるようになったとしても、それで仕事ができたり、職業につけたりするとは考えにくい。

Qtの開発元が、英語で情報を公開しているのは、世界中の人々に技術を伝えるためだ。

プログラムは、簡単に輸出ができるので、開発の作業は、コストが低い国に集中しやすい。

つまり、給料が安い国に集中しやすい。現在は、インド、ベトナム、中国などで活発に開発が行われているそうだ。給料は、月に10万円ももらえないだろう。

日本でこのような技術を身につけても、国内には仕事がない。従って、お金をもうけようと思ってプログラムの作成方法を学ぶことには、あまり意味がない。

ゲームソフトなど、プログラムそのものが作品と呼べるような世界では、別なのかもしれないけれども。

やってみましょう

  1. 開発環境をインストールしてみよう。その次に「ハローワールド!」と画面に表示を行うだけのプログラムを作るのが、プログラマーの第一歩と言われているらしい。

  2. 自分で作ったプログラムを、普段から使うようにしてみよう。例えば、Qt Creatorの例題にあげられているような、単純なテキストエディタであっても、自分で組み立てたものであれば、愛着がわいてくるのかも?

  3. コンピュータでの処理の組立て方と、人間の行動の組立て方を比べてみよう。何か発見があるだろうか?

  4. 市販されているコンピュータソフトを作る手間について考えてみよう。一人だけでは作れないとしたら、どうやって協力すればよいのだろうか?


トップページなにげなく自由研究(もくじ) → 夜長は楽しくパズルゲーム--Qtのプログラミングで遊ぶ
著者のメールアドレス・Twitterアカウントは、トップページからご覧ください。

製作・著作:杉原 俊雄(すぎはら としお)
(c)2012 Sugihara Toshio. All rights reserved.