はじめに
今回はRubyとRailsの特徴を簡単にまとめました
これから勉強される方の助けになればと思います
まだまだひよっこですので、間違っている点等ありましたらご指摘いただければ幸いです
Rubyとは
スクリプト言語と呼ばれるプログラミング言語
プログラミング言語には、「コンパイラ言語」と「スクリプト言語」と言われる部類の言語がある
また、オブジェクト指向言語でもあるため、記述量が少なくすんだり、コンパイルの時間がかからない
だから生産性が高いと言われている
「コンパイラ言語」と「スクリプト言語」って?
コンパイラ言語
コード実行に事前に全てを翻訳してから実行する
主に C,C++,Java,C#等スクリプト言語
各コード実行時に、随時翻訳しつつ実行する
主に Ruby,JavaScript,Python,PHP等
上記のような違いがありますが、そもそも、人間が書いたコード(わかりやすく言うと人間語)はそのままでは機械には伝わらない
機械が実行するには(機械語に)翻訳する必要がある
コンパイラ言語はコンパイラーを使用してコンパイル(翻訳)する必要がありますが、スクリプト言語はその必要がない
そのため、開発がしやすいですが、実行速度は遅めと言う特徴がある
オブジェクト指向とは
オブジェクト指向プログラミング(Object Oriented Programming: OOP)
オブジェクト、つまり”物”として考えようってこと
概念だからあんまり「これが答えだ!」ってものはないようで、概念は概念なんです
愛とか心とかそんなんと一緒
でもそれだと説明にならないので…
オブジェクト指向とは→(近日公開)
Railsとは
Ruby on Rails のこと
RubyのWeb開発フレームワーク
開発を効率化する仕組みが多数用意されている為生産性が高いと言われる
例えば、"rails new"と言うコマンドを入力するだけで、雛形を作成できたり、ActiveRecordによってSQL操作ができるなどの仕組みが標準で組み込まれている(この辺りは実装段階で解説したいと思います)
フレームワークとは
言語に対する枠組みのこと、プログラムとかの雛形となるもの
こちらも概念っぽいので、ざっくりと覚えてください
フレームワークをわかりやすく言うと…ブログが当てはまるでしょうか
ある程度の形は決まっていて用意はしてくれている状態(フレームワーク)で、中身の記事(プログラム)に関しては用意した機能を使って好きなように記入してねって感じです
あるいは(私みたいな年齢高めの人はわかりやすいか…)家の柱とか壁とかのそもそもの構造(フレームワーク)のことで、壁紙とか含めた内装(プログラム)に関しては好きに決めてねって感じです
まとめ
Rubyはコンパイラ(翻訳)作業が不要なスクリプト言語で生産性が高いと言われている
RailsはRubyのフレームワークで、開発を効率化する仕組みが多数用意されている便利なもの
本当にざっくりなので、詳しくは下の参考記事先をご覧いただけるといいかと思います
参考記事
https://www.ruby-lang.org/ja/about/
https://railstutorial.jp/
https://wa3.i-3-i.info/word12470.html
https://eng-entrance.com/what-oop