トップ » 技術記事 » 日本語で覚えるプログラミング(1) - プログラミングができると嬉しい3つの理由

日本語で覚えるプログラミング(1) - プログラミングができると嬉しい3つの理由 はてなブックマーク数 このエントリーをブックマークに追加

9月27日に明治大学で「日本語プログラミング言語のワークショップ」が開催されます。TTS/プロデル/言霊など日本語プログラミング言語の作者の方が講師となって、自分の言語について使い方を解説するという非常に面白いイベントです。

そこで、この機会に、日本語プログラミング言語「なでしこ」を使ってゼロからプログラミングを学習するコラムを書いてみようと思います。プログラミングをやってみたいけれど、何から手をつけてよいのかわからないという方にもぴったりだと思います。

第一回目の今回は、実際にプログラムを始める前に、なぜプログラミングが大切なのかを改めて考えてみます。

プログラミングって何だろう?

はじめに「プログラミング」って何だろうかということから考えていきましょう。「プログラミング」とは「プログラム」を作ることです。それでは「プログラム」とは何かと言えば、運動会など催しものの計画や予定など、ある物事の進行状態についての順序や組み合わせを記したものです。そうです。コンピューターの世界で言えば「プログラム」とは、コンピューターを動かすための指令書のようなものと理解することができます。

しかし、「コンピューター」と「プログラミング」が並ぶとずいぶん難しいもののように感じる方が多いようです。私は親類や近所の人に職業を聞かれた時「コンピューターのプログラマーをやっています」と答えるのですが、周りの反応はいつもこんな感じです。

「あらまぁ、難しいお仕事をしていらっしゃるのね。頭がよくないとできない仕事よね。私には何をする仕事なのかさっぱり分からないけれど。」

http://aoikujira.com/demo/hakkaku/rc/20080913_muzukasi-koto.gif

つまり、世間一般の「プログラミング」に対するイメージは、非常に偏っていて「難しいもの」とか「自分とあまり関係ないもの」という印象が強いようです。プログラミングの楽しさを伝えようとプログラミング関連の本を執筆している私にとって好ましくない状況です。

プログラミングは「プロ」だけがするもの?

多くの人は、プログラミングは難しいから専門家に任せておくものと考えているようです。しかし、プログラミングは、本当に難しくて専門家だけが行うものなのでしょうか。そんなことはありません。

確かに、プログラミングの世界には、複雑で難解で素人には手を出すことができない魔の領域があることも確かです。難しい数式や公式が分からないと作れないプログラムもあります。また、昨今のプログラミングは大規模化しているので、ちょっと見ただけではとても把握できないようなものもあります。

しかし、何も物事は難しくなるばかりではありません。プログラミングの歴史を考えてみても、より人間に扱いやすく簡単に記述できるようにと、日々改良が加えられて来ているのです。例えば、かつては、マシン語を使ってプログラムを作っていました。これは、コンピューターが理解できる最低限の命令だけを使ってプログラムを作らなくてはなりませんでした。これでは、人間がコンピューターの事を常に考えていなくてはならず不便です。そして、時代と共にマシン語は次第に使われなくなり、代わりに、より人間の思考を妨げないBASICやJavaなどの高級言語が使われるようになってきました。

そして、最近では新しいタイプのプログラミング言語が使われるようになっています。それらは「軽量プログラミング言語」(LL:Lightweight Language)や「スクリプト言語」と呼ばれ、これまで以上に気軽にプログラムを作ることができるようになっているのです。

プログラミング不要論も…身近に必要があるのに気づいていない?

そして、パソコンがこれだけ身近になり、さまざまな作業をコンピューターを通じて行うようになれば、プログラミングと無縁で居られなっているはずですが、逆にプログラミングに接する機会は減ってきています。

というのは、以前はパソコンを買うと必ず、BASICなどのプログラミングツールが付属していて、パソコンを起動するとはじめにBASICが起動しました。パソコンを使いこなそうと思ったらプログラミングの知識が必須でした。

ところが、最近のパソコンでは、そんなことは考えられなくて、それほどプログラミングに触れる必要がなくなっています。自分で作らなくても、多くのソフトが提供されているからです。パソコンを買ってくると、はじめから、多くのソフトがインストールされており、どのソフトを使ったらよいのか悩むほどです。その結果、プログラミング不要論が出てきました。

プログラミングができなくても、ぜんぜん困らないし、むしろそんな知識は必要がないのではないかというものです。

http://aoikujira.com/demo/hakkaku/rc/20080913_huyou.gif

プログラミングができると嬉しい3つの理由

プログラミングは、本当に不要なのでしょうか。そんなことはありません。私は小さな会社で働くことが多かったので、事務や経理の担当者と机を並べて仕事をする機会が多くありました。そして、その仕事ぶりを見てよく思ったことがあります。

「ちょっとでもプログラミングができたなら、もっと仕事が効率よく片付くのに!」

仕事の能率をあげ効率化を行うために利用しているはずのコンピューターですが、やっていることは、紙とペン・ノリとハサミを使って切り貼りしていたころと、ぜんぜん変わってないのです。

例えば、表計算ソフトのExcelとWordを開いて、何度も、ExcelのデータをコピーしてWordに貼り付けて、ExcelのデータをコピーしてWordに貼り付けて…を繰り返していたりしているのです。身に覚えがないですか?

何度も繰り返し同じ動作を行う場合、それはプログラミングを行うことによって自動化できる可能性が高いと言えます。以前、何日もかけて事務の担当者が行っていたこのコピーと貼り付けの作業を、プログラムに直したら、ものの数秒で仕事が片付いたということがありました。プログラムを作っている時間も1時間足らずです。

プログラミングができると良いことがたくさんありそうだと思えてきたでしょうか。それでは、プログラミングができるとどんな良いことがあるのか考えてみましょう。

(1)プログラミングは役に立つ~身近な単純作業を自動化できる

先ほど、ExcelとWordを使った作業を自動化して、何日もかかっていた作業を1時間のプログラミングで解決した例を紹介しました。同じように、会社の同僚など身近なところに、ちょっとでもプログラムができる人が居たなら、きっと自動化によって業務フローを大幅に改善できるのではないかと思うのです。

また、会社の業務ではなくても、趣味のデータを手間をかけずに自動バックアップしたり、コツコツ作った大量のファイルを一気に処理したりと、実は意外と身近なところにこそ、プログラミングが役立つ場面があるのです。

ネット上には便利なフリーソフトがたくさんありますので、もしかしたら、それを利用することで解決できるかもしれませんが、なかなか思った通りのソフトは見つかりません。ないからと言ってあきらめることはありません。ないなら作れば良いのです。

(2)プログラミングは楽しい~ゲームを作ったりパズルを解いたり

そして、プログラミングができると役に立つだけではありません。プログラミングはとても楽しいものです。プログラミングができるとゲームを作ることができます。ゲーム好きな人なら、一度は自分でゲームを作ってみたいと思ったことがあるのではないでしょうか。ゲーム作りは大変ですが、ゲームを遊ぶ以上に楽しいものです。ゲームを作ることこそ、最大のゲームなのです。

また、ゲームを作ったなら、自分以外の人にも遊んでもらうことができるでしょう。インターネットの普及で、自分の作ったものを多くの人に使ってもらうことが容易になりました。私も自分の作ったソフトをたくさん配布していますが、自分の作ったものを、誰かに遊んでもらったり使ってもらうことも、とても楽しいものです。

加えて、パズルをプログラミングで解くのも楽しいものです。手で計算しては、何年もかかるような問題も、プログラミングすることで数時間で解くことができることもあります。

(3)プログラミングは脳を鍛える~論理的な思考や問題解決能力の向上

プログラミングができて嬉しい理由の最後の点として、論理的な思考能力や問題解決能力を鍛えることができるという点があります。

プログラムを作るためには、ある程度、論理的に考えることができなければなりません。漠然と頭にある内容を実際のプログラムに直すためには、いくつもの問題を注意深く考える必要があります。

例えば、ロボットを動かすプログラムを作っているところを考えてみましょう。ロボットに投げたボールを拾って戻ってくるという動作をさせようと思ったら、どんなプログラムを書けば良いでしょうか。

まず、ボールがどこにあるのか探さなくてはなりません。そして、ボールの位置まで移動して、ボールを掴んで元の位置まで戻る動作が必要となります。

そして、これだけ考えれば、ロボットが動くかと言えば、そんな簡単ではありません。ボールを探すことを考えても、さらに多くのことを考えなくてはなりません。ロボットにカメラが付いているなら、カメラから得られた画像を解析する処理が必要でしょう。画像を解析する場合にも、どんな手順でボールがあることを認識できるのか考えなくてはなりません。

このように、プログラムを作るためには、到達目標を明確にし、それを解決するための手段を考えることが必要になります。そのため、プログラミングによって、さまざまな問題を解決していくことで、論理的な思考能力や、問題解決能力を高めることができます。

週末プログラマーになろう!

ここまで、世間一般の人が考えている「プログラミング」についての誤解と、そしてプログラミングができると、どんな良いことがあるのかという点について考えてみました。

プログラミングを学ぶと言っても、みんながプロになる必要はありません。プログラミングを通して学んだことが、どんな職業であっても役に立つと思います。そして、たくさんの人がプログラミングの楽しみに気づいてくれるといいなと思います。週末のちょっとした時間を使って、自分だけのプログラムが作れるでしょう。

次回から、もう少し、具体的なプログラミングについて紹介します。お楽しみに。

Series Navigationなでしこで誰でも簡単プログラマー»

このサイトについて

八角研究所
株式会社八角研究所のWEBサイトですよー。 いろんなものを創り出すことのできる環境をコツコツ構築中。 いったい、いつになったらできるのか。 この技術情報サイトもそのための活動の一環のつもり。

執筆者紹介

クジラ飛行机

クジラ飛行机

くじらはんど(http://kujirahand/)にて、日本語プログラミング言語「なでしこ」(IPA未踏ユース採択)、テキスト音楽「サクラ」(OSPオンラインソフト大賞入賞)など多くのオンラインソフトを開発。著書に「Flexプロフェッショナルガイド」「なでしこ公式バイブル」、「一週間でマスターするActionScript3.0」など。

TrackBack URL :