Output Diary

プログラミング × 読書 のアウトプットを発信しています

【Ruby】Rubyの歴史

 

 

「Ruby」の画像検索結果

 

 

Rubyを学習するにあたって、

 Rubyについて深く知る必要があると思ったので、

今回はルビーについての記事を書いてみました。

 

 

Ruby誕生の背景を知っていると、Rubyとの向き合い方が変わるはず!?

 

 

 

Rubyとは

 

Ruby日本のプログラマによって書かれた

 日本で誕生した国産のプログラミング言語です。

 開発から20年以上経っても絶大な人気を誇っています。

 

 

Rubyのプロフィール

 

・1993年2月24日生まれ

まつもとゆきひろさん(通称Matz)によって開発

・1995年12月に一般公開

 

といったプロフィールになります。

1995年といえば、「Windows95」が発売され、パーソナルコンピュータが爆発的に一般家庭に普及しました。同時期に「Java」もリリースされています。

 

1995年は阪神淡路大震災地下鉄サリン事件もあり、慌ただしい年でした(私はまだ産まれていません)。

 

1995年10大ニュース

【出典】時事ドットコム

https://www.jiji.com/jc/graphics?p=ve_soc_general-10bignews1995

 

みなさん見覚えあるのはありましたか?

今から26年前ですね。

 

 

Rubyが誕生した経緯

 

Rubyが誕生した経緯は、まつもとさんの過去の人生にあります。

まつもとさんは中学生の頃からコンピュータに関心を持っており、まず始めに「BASIC」というプログラミング言語で学習します。

 

しかし、その「BASIC」がとても分かりにくく、「もう少し分かりやすい言語はないだろうか」と思い、次にPASCALを学ぶことになりました。

 「データ構造を自分で定義できる。アルゴリズムを自由に表現できる。関数に名前をつけて表現することもできる。」PASCALの勉強をスタートした当初は、そのように感じたそうです。しかしながら、それでも満足できなかったまつもとさんは、プログラミング学習を進めるにつれて、

 

「何のプログラムを書くか」より

「どんな書き方をするとプログラミングそのものが楽しくなるか」に興味が向くようになります。

 

それならいっそのこと「自分で作ってみようー」ということで、プログラミング言語の開発に着手しました。しかしながら、その当初は学生の身分で十分なお金なかったので彼は今でいうエディタにコードを書く作業を、「僕の考えた最強の言語」といって、ノートに書き始めました。

 

Ruby(ルビー)はその紙から書いたコードから誕生したのです。

 

 

Rubyの特徴

 

・コードの記述が少なく分かりやすい

・日本の参考書も多く学習がしやすい

・大きなWebアプリから小さなプログラムまで、さまざまなソフトウェアを作れる

 

Ruby on Railsとの関係性

 

Ruby on Railsとは、Ruby言語を使ったWebアプリケーション開発のためのフレームワークです。フレームワークとは、「Webアプリケーションやシステムを開発するのに必要な機能が予め用意された骨組み」を指します。

 

Ruby on Railsを開発したのは、まつもとゆきひろさんではありません。

デンマークプログラマデイヴィット・ハイネマイヤー・ハンソンさんです。

 

Rubyの未来

雑食系エンジニアサロンの勝又健太さんはRubyはWebの企業に入るための言語としてはおすすめですが、世界からみたRubyの評価は年々下がってきていることを知った上で学んだほうが良いとYoutubeで述べています。

 

【出典】

 The State of the Octoverse 

 

GitHubが毎年公開しているデータによると、Rubyは2014年5位から2019年には10位と大きく順位を落としています。

 

そのため、健太さんはWeb開発の企業に入るための言語としてRubyを使用するのは良いものの、入社後は「GO」などの言語へシフトチェンジが進められています。

 

ただ日本のベンチャー企業は、Rubyを使う会社が多いため、需要はまだまだ高そうです。そういったことを踏まえて学習に励みながら、Rubyのことを大好きだと感じればRubyを極めていけば良いと思うし、もし新しい言語に挑戦したいのなら挑戦していくのもありだと思います。

 

といったことがRubyの歴史とルーツです。

それでは、また明日の投稿お楽しみにー!

 

 

f:id:kina_kq:20210214165338p:plain