【7日間】完全初心者:超短期集中でオリジナルwebアプリケーションをつくる【第二弾】
今回は私が一からプログラミング学習をした際の具体的な方法について書いていこうと思います。
これからTech campを受講する予定の方は受講開始までの期間を有効に使うためにもこれからの記事を読んだ上で学習を進めてほしいです。
学習の流れをざっと把握する
まず「rubyってなんだよ」「htmlって聞いたことあるけどよくわからん」って人も多いのではないでしょうか?
初めにある程度わかっていないとこの疑問が残ったまま学習していては気持ち悪いですよね。
詳しく知る必要はありませんが、これから学習することになるものについてそれぞれの役割となぜ必要なのかから理解することが先決です。
Tech campで学ぶ内容は大きく分けて四つあります。
自分はそれぞれについてもう少し踏み込んで知ってから学習すると効率が上がると感じたので雑学的なものも含めて調べてみました。
得体の知れないものを学習するよりは、ちょっとくらい相手を知って臨みたいですよね。
ではそれぞれ見ていきましょう。
Ruby & Ruby on Rails
今回はruby & ruby on rails についてです。
ruby という言語はなんと日本人によって開発されたものです。開発者は ”まつもとゆきひろ” さん。
日本から世界レベルで認知される言語が開発されたという事実はとても嬉しいことですね。
では少しrubyについて知っていきましょう。
まず初めにruby と ruby on rails の二つは何が違うのでしょうか?
同じ"ruby"という単語が含まれていますがこの二つは全く役割が違います。
Ruby と Ruby on Rails の違い
Ruby と Ruby on Rails 名前が似ているので混同しがちになりますが両者は全く違うものです。
まずは、この点から始めましょう。
「言語」ですから、それ自体はソフトウェアではありません。英語や日本語と同じように、文法と語彙があるだけです。
文法と語彙は人間が勝手に決めたものですからパソコンにとってはなんのこっちゃ分かりませんよね。
そこでRuby で書いたプログラム(ソースコード)を、「Ruby インタープリタ」と呼ばれるソフトウェアで読み込むと、アプリケーションとして実行できます。
Rubyのルールに乗っ取って書かれたコードはインタープリタが「010100101010011110101010」といった、パソコンに理解できる文字列に変換する手助けをしてくれます。
つまりRubyを学習するということは本質的には英語の学習と同じことなんです。
Ruby on Railsとは
対してRuby on Rails は、フレームワーク(framework)と呼ばれるものです。
直訳すれば「枠組み」となりますが、ソフトウェアの世界では特別な意味を持ちます。
それは、ある分野のソフトウェアを効率的に開発するために揃えられたライブラリとツールの一揃い、を指します。
ライブラリは「部品」と言い換えてもいいでしょう。
ツールは、その部品を変形したり、組み立てたりするためのプログラムです。
Ruby on Rails は、Web アプリケーションという種類のソフトウェアを作るための基本的な部品と道具をまとめたものなのです。
webアプリケーションを作りたいのならその機能とかを実装することに時間を割きたいですよね。pcやシステムの奥深くでやらなければならないことはフレームワークを用いることで自動でやってくれるようになります。
Ruby on Rails は枠組み
実は、フレームワークの構成要件は、もう一つあります。
それが、アーキテクチャです。
建築用語では「建築様式」や「構造」を表しますが、コンピュータ用語では「基本設計概念」を意味します。
ソフトウェアの開発方法には常に改良が加えられています。
時々、革新的な開発方法を思いつく人がいて、その人の考えはアーキテクチャとしてまとめられます。
新しいアーキテクチャに従ってソフトウェアを作るには、新しい部品や道具が必要になります。
例えば昔は木材を組み合わせる時、金槌と釘を用いていたと思います。
しかし現在ではネジとドライバーという新しい部品とツールが考案され使用されています。
「螺旋状の溝を掘った金属棒を回転させれば木材に簡単に食い込み、かつ抜けにくい」そんな革新的な考えを実際に使えるものに昇華してくれたのが、ネジとドライバーです。
Ruby on Rails は ”まつもとゆきひろ”さんの 革新的なアイデアを誰もが使えるようにする部品とツールの集合体(フレームワーク)と言えます。
Ruby on Rails は、21世紀になって生まれた新しい工法で Web アプリケーションを作るためのフレームワークなのです。
結論
「Ruby語覚えたら、結構簡単にwebアプリ作れるらしい。」
ということでどうでしょう。
実際にRuby on Rails を使って作られているサイトを紹介しておきます。
次回はHTMLとCSSについての周辺知識を書いていきたいと思います。