プログラミング初心者はRubyとPythonどちらから勉強すべきか?
「よし、プログラミング勉強するぞ!」
「プログラミングスクール通うぞ!」
「転職するか・・・」
などなど、昨今の世の中は、エンジニア不足により、未経験でもプログラミングを学んで転職しよう!とか就職しよう!という敷居が下がってきたと思います。
しかし!!
まず何の言語を学べばいいのかわからない!
これで、ネットを検索するとこうです。
「何を作りたいかで学ぶべき言語は異なる」
「つくりたいものがなければ言語は決められない、覚えられない」
いや、確かにそうなのかもしれないけど!!
なんか一番いいやつがいいじゃん!!
(舐めたこと言ってすいません)
そして、色々調べた結果、RubyかPythonに辿り着いたのではないでしょうか?
はい、私がそうだからです。
ということで、初心者の方向けに、RubyかPythonを選べるような情報をまとめておきたいと思います!
プログラミング言語Rubyとは?
Rubyは、1995年に日本人である「まつもとゆきひろ」氏によってつくられた言語です。
日本で開発された言語として初の国際規格に認証されています。
さらにオブジェクト指向設計されており、初心者のハードルとなるオブジェクト指向を学ぶのに最適だとも言われています。
- 公式サイト
Rubyの特徴
◆ 可読性の高さ
◆ 開発のしやすさ
◆ スタートアップで利用
Rubyのフレームワーク
◼️ Ruby on Rails
◼️ Sinatra
◼️ Ramaze など
Rubyの平均年収(言語順位含め)
4位 562万円(2017年時点)
出典:キャリコネニュースリダイレクトの警告
Rubyで開発されたサービス例
- クックパッド
- 食べログ
- グノシー
- ウォンテッドリー
Rubyの将来性
Rubyのキモはやはり、日本でつくられたことだと思います。
国内では、スタートアップなどで使われ、一時期かなりの人気を誇りましたが、今は落ち着いてきたように思います。
どちらかというと安定期ではないでしょうか。
市場的にいえば、ある程度一般化しています。
そのため、Pythonと比べると将来的に爆発的に伸びる!というわけではなさそうです。
Rubyが初心者にはどうか?の考察
「Perlや Pythonと異なる点は楽しさに焦点を当てている言語であること」
ーまつもとひろゆき氏
開発者の方がこう言っているとおり、Rubyは初心者でもプログラミングに取っ付きやすいでしょう。
特に、プログラミングで重要な考え方であるオブジェクト指向を初心者が理解しやすいというのもあります。
また、フレームワークの利用シェアのほとんどが「Ruby on Rails」であることも大きいです。
初心者は、とりあえずRailsを学んでおけば、ほかのところでも応用が効きます。
逆に他の言語であれば、フレームワークのシェアがさまざまなので、ひとつの言語でもいくつかのフレームワークを選定する必要があります。
プログラミング言語Pythonとは?
Pythonは、1991年くらいからオランダ人のグイドさんが開発した言語です。
Rubyと似ていますが、コードがシンプルに設計されており、少ないコードで記述できるのが特徴のひとつです。
サービスだけでなく、業務改善系にも活用されています。
グーグルの主要言語としても有名ですね。
最近では、ディープラーニング・AI・データ解析にも使われていて、市場の成長とともに注目されているようです。
Pythonの特徴
◆ 可読性の高さ
◆ 開発のしやすさ
◆ 人工知能やディープラーニング分野で活用
Pythonのフレームワーク
◼️ Django
◼️ Flask
◼️ Bottle
◼️ Tornado
◼️ Pyramid など
Pythonの平均年収(言語順位含め)
2位 601万円(2017年時点) ※Rubyより40万円高い
出典:キャリコネニュースリダイレクトの警告
Pythonで開発されたサービス例
- Dropbox
- YouTube
Pythonの将来性
Pythonは実は、Rubyよりも先に開発されている言語です。
初心者だと、「最近よく聞く!」くらいの程度ですよね笑
注目されているのはやはり、AIや人工知能への活用でしょう。
また、海外ではとても一般的ですが、日本で普及していなかったこともあり、最近は国内でも沸騰しはじめています。
国内でPythonの実務経験が多い人がいないため、今年から来年にかけて一気に需要が伸びているとも言えます。
そういう意味で、将来性はRubyよりも高そうです。
Pythonが初心者にはどうか?の考察
将来性抜群で、人工知能やディープラーニングをやりたい人には良いですね。
しかもコードも初心者にわかりやすく、学びやすい!
ただし、AIやディープラーニングへの応用というのは、Pythonだけできれば良いというわけではなく、専門の知識が必要でしょう。
さらに平均年収が高いのも、そもそも今の時点でPythonに精通している技術者が少ないからでしょう。
また、日本語の文献が少ないことは初学者にとっては痛手ですね。
いきなり学ぶとしたら、ある程度の情熱が必要かもしれません。
まとめ
どっちも捨てがたい!!
もはやどっちも学べばいんじゃね!?
私は、実務経験の積みやすさや文献の多さからRubyを選びました。
もうね、フィーリングですね。
参考になれば幸いです!
あと、社会人で本格的に学ぶならスクール通った方が時間効率めっちゃ高いですよ!!
自学は時間あればいいですが、とにかくどう進めばいいか?どんな成果物がいいか?エラーをどう直すか?めっちゃ時間かかる!!
私がスクール選ぶのに、いろいろと足を運んだ結果をもとに、スクールの比較も書いてるので、ぜひ読んでみてください!
コメント