初心者フリーランスがRuby言語でできることを調べてみた

        f:id:nobuo_iine:20181017151101p:plain

こんにちは!フリーランス初心者のノブオです。
最近エンジニアにチャレンジしようと思い、結構前から国内人気がすごい!と噂の
Ruby」を

習得しようと考えているのですが、、、、

 

「そもそもRubyって何だっけ?」とか

Rubyでどんな事が出来るんだっけ?」など…。

 

調べれば調べるほど興味が出てきてしまい仕事に集中出来ません!笑

そこで今回はRubyとはどういったプログラミング言語なのか、Rubyを習得するとどんな事が出来るのか、など

自分と同じフリーランスの方へ簡単にご紹介できればと思います。

 

 

1.Rubyとは

Rubyとは、まつもとゆきひろさん(通称:Matz)により開発されたオブジェクト指向スクリプト言語です。

Rubyの名前の由来はまつもとゆきひろさんの同僚の誕生月が7月で誕生石がルビー(Ruby)だったから、

との事です。

 

1.1 Rubyスクリプト言語

プログラミング言語には、コンパイル言語とスクリプト言語に分けられるそうです。

コンパイル言語は高速で動作する一方で、記述が面倒であり、スクリプト言語コンパイル言語に比べると

動作が低速ですが、記述が短くすることができます。

Rubyスクリプト言語になるので、少ないコードで簡単に開発できる為、開発スピードが上がり、

可読性の優れたコードを書くことができるそうです。

 

1.2 Rubyオブジェクト指向

オブジェクト指向とは、大規模なソフトウェアを開発する時によく使われる”概念”の考え方です。

ここでは説明を省略しますが、大人数で開発を行う時にソースコードなど開発者側がプログラム全てを

把握できない事が多々あり、途中変更した場合にバグが発生する恐れがあります。

それを克服する為にオブジェクト指向というものがある、との事です。

Rubyオブジェクト指向なので、仕様変更に強く、バグの発生をある程度抑える事が可能と言われています。

 

1.3 優秀なフレームワークRuby on Rails

Ruby on Rails』はオープンソースのWebアプリケーションフレームワークで、Ruby案件の多くは

このフレームワークを使用しています。

多くのスタートアップやベンチャー企業での開発現場で使われており、WEBアプリやゲーム、

業務系システムなど仕様用途は多岐に渡ります。

長いコードを書かずに済む為、開発スピードが上がり、パッケージの充実度が多言語のものと異なるので、

非常に優秀なフレームワークです。

 

Rubyの詳細情報はこちらの記事が参考になりました。

www.appstars.io

 

2.Rubyを習得すれば出来ること

Rubyを習得する事でどのような事が出来るのでしょうか?

 

2.1.WEB、スマホアプリ開発

多くのWEB、スマホアプリ開発Rubyが使われています。
「Smart News」や「楽天市場」「食べログ」など有名なサービスもRubyで開発されているようです。
またRuby on Railsの恩恵もある為、開発スピードの向上や可読性の高いコードの維持も期待できます。

 

2.2 スクレイピング

Webサイトの情報を収集・抽出したり、その情報を加工して仕様する技術のことを

スクレイピング」と言います。

Rubyにはスクレイピングする時の定番ライブラリといえる「Nokogiri」があり、

HTMLなどの情報を解析して要素の抽出する事ができます。

 

2.3 API開発

APIとはソフトウェアの一部を公開して、外部からでも利用できるようにするものです。

APIRubyフレームワークであるRuby on Railsで作成する事が可能です。

APIの作成方法は下記に詳しく記載されています。

https://github.com/rails-api/rails-api

 

3.Rubyで開発されたサービス

Rubyで開発されたサービスを以下に簡単にまとめました。

 

3.1 Hulu

www.happyon.jp

アメリカのロサンゼルスに拠点を置く動画配信サービスですが、Huluの開発にRubyが使われています。
定額で映画、ドラマなどを見る事ができ、日本でもかなり知名度があります。

 

3.2 クックパッド

cookpad.com

クックパッド株式会社が運営する料理レシピコミュニティサイトです。こちらもRubyで開発されています。

 

3.3 Github

github.com

コードを共有しながら開発を進行できるソフトウェア開発プラットフォームです。
開発の進行をGithubで管理できたり、開発現場でもよく使われています。

 

3.4 マネーフォワード

moneyforward.com

個人向け資産管理・家計管理ツールである「マネーフォワード」もRubyで開発されています。
フリーランスになると資産などのお金の管理が色々手間なので、その作業を簡単にできます。

 

4.習得面でのRubyと多言語の比較

Rubyは多言語と比べ、習得のしやすさに違いがあるのでしょうか?

ここでは数あるプログラミング言語の中から個人的な興味から、PythonPHPを選びRubyと比較してみました。

 

4.1 RubyPython

RubyPythonは同じオブジェクト指向スクリプト言語であり、どちらも人気の言語です。

習得のしやすさで言うと、プログラミング初心者からすると「Ruby」の方が習得しやすいとされています。

公式サイトにもあるように、表現力豊かで決まった規約に囚われない点や、

日本生まれのプログラミング言語なので日本語ドキュメントが豊富なので非常にありがたいです。

ただ多言語からRubyPythonに入る場合は、Pythonの方がすぐに入りやすいと言われています。

汎用性の高さ、学術分野、統計、機械学習など数字に強い言語で、シンプルで扱いやすい設計がされている為、

CやJavaエンジニアがPythonを習得する事も多いらしいです。

 

4.1 RubyPHP

RubyPHPはどちらも初心者が習得しやすいプログラミング言語です。

特にPHPは型指定せずにコードを書いても動くと言われています。

PHPで環境構築などWEBサービス制作の大枠に触れ、こんな風にできているのか、と理解し

プログラミングの楽しさを知る事が重要だ」とプログラミングスクールの先生が言っていましたが

プログラミング入門としてプログラミングに触れてみたい・習得したいとお考えの方はPHPを、

スタートアップやベンチャー企業でWEBアプリを開発したいなど、中長期的にフリーランスで活動する時の

明確な目標がある場合にはRubyを選択すると良いかもしれません。

 

5.まとめ

いかがでしたでしょうか?

Rubyを習得する事でできる事について簡単にまとめてみました。

プログラミング言語を習得する時は自分のキャリア・市場価値を考えて「どの言語を選択し、習得するのか」

重要とされています。

Rubyは「書いていて楽しい言語」と言われているので、これからRubyを習得予定のフリーランス初心者の方や

ベテランフリーランスのみなさまは、楽しみながらRubyを習得し、プログラミングの楽しさを感じてみては

いかがでしょうか。

 

そんなわけでフリーランスフリーランスらしい生活をしたい私は

今日からRubyを勉強しようと思います!笑

 

ちなみにフリーランスにとって結構重要な案件獲得手段ですが、このしがない記事が巡りに巡り、

下記エージェントさんと仲良しになりまして、案件紹介していただきました。

www.appstars.io

 

おわり