なにこれ
以下のような人を対象とした資料です。
- プログラミング未経験の人
- プログラミング経験はあるが基礎的な部分が怪しい人、具体的には
- 変数
- 条件分岐
- ループ
Rubyというプログラミング言語を使って、プログラミングのいろはの「い」あたりを学びます。
プログラミングとはそもそも何なのか
プログラミングという行為に憧れてMMAに入ってきた人が割といるかもしれません。
なんか傍から見てるとかっこ良く見えますよね。
プログラミングというのは端的に言ってしまえばプログラムを作る行為です。
コンピュータの世界で言うところのプログラムというのはコンピュータに与える命令を並べたものです。
60年ちょい前にコンピュータが生まれてから今までコンピュータは驚異的な発展を遂げましたが、
基本的な部分は何も変わっていません。
つまりコンピュータは人間が与えた命令を忠実に実行する機械でしかありません。
あなたが使っているパソコンも、家で動いている電化製品も、大学に来るまでに通った人も多いだろう自動改札機もみなコンピュータで動いています。
そしてそれは一見自律して動いてるように見えますが、実際には人間が予め与えた命令を実行しているだけなのです。
コンピュータにどんな仕事をさせたいのか、それを書くのがプログラミングという行為の本質です。
言い方を変えれば、何か仕事をさせるためにプログラミングをするのであって、プログラミングするためにプログラミングしているわけではないということです。
(競技プログラミングはプログラミングという行為そのものを競っているのでちょっと例外かもしれないです)
プログラミングはコンピュータを使いこなすための道具だという認識を改めてしてもらえればと思います。
とはいえプログラミングという道具を使いこなすためには、やはりいろいろなことを学ぶ必要があります。
学ぶといっても椅子に座って本を読むだけではなく、実際にプログラムを書いてみる、ということが大事になってきます。
いくら本やWebページを見てわかったつもりになっても、実際になにかを作ろうとしてプログラムを書き始めると全然書けないということはありがちです。
僕もそういった経験を幾度と無くしてきました。
なのでこの講習でもできるだけ実際に問題をプログラムを書いて解いてもらう、ということを主にしたいと思っています。
実際にプログラムを書いてみる事で、プログラミングをする時特有の考え方というものが身についてきて、自分がコンピュータにさせたいことを
プログラムに起こす能力がついてくるようになります。
プログラミング言語とRuby
プログラムを書くときには、ある程度の決まりに従って書く必要があります。
好き勝手に人間が書いてしまうと、コンピュータの側が何をすればいいのか理解できなくなってしまうからです。
これはちょうど人間が文章を書くときの状況に似ています。
人間が文章を書くときも単語の並べ方などある程度の決まりがあって、それにしたがって文章を書きます。
この決まりのことを「言語」とよんでいて、人間の世界にはたくさんの言語があります。
日本語とか英語とかドイツ語とかです。
コンピュータの世界にもやっぱりたくさんの言語があって、それらは人間世界の言語と区別するために「プログラミング言語」と呼ばれています。
プログラミング言語がたくさん存在するのには一応訳があります。例えばそれぞれの言語に得意不得意のジャンルがあったりします。
あるいは言語を作った人の趣味が反映されていたりします(こういう書き方は嫌いだから俺の言語に入れねえ!とか)。
Rubyはそういったプログラミング言語のうちのひとつです。今回この講習にRubyを選んだのは
- 簡単な処理ならさくっと簡単にかける
- その割に複雑なこともできる
- 日本生まれ
と言った理由です。
とりあえずRubyでプログラムを書いてみる
ここから先はRubyがインストールされていることを前提とした話になります。
プログラムを書くときにはテキストエディタと呼ばれるソフトを使います。
Windowsで最初から入っているテキストエディタとしては「メモ帳」があります。
ただこれはプログラムを書くには使いづらいので、notepad++あたりを入れると良いと思います。
MacやLinuxであればemacsやvimなどを使うと良いと思います。ターミナルを起動して
$ vim
とか
$ emacs
とかやると起動します。
ちなみにSublimetext2というエディタが私のお気に入りです。Windows, Mac, Linuxで動くようです。
エディタを起動したら次のようなテキストファイルを作りましょう。ファイル名は「hello.rb」にします。
1 puts "Hello, World"
ファイルを保存したらターミナル(Windowsならコマンドプロンプト)を起動して、保存したディレクトリに移動します。
そして次のように入力します。
ruby hello.rb
なにが起きたでしょうか。
出力と入力
変数
算術演算
条件分岐
ループ