RubyとPythonの特徴と構文を比較!使いやすいのはどっちだ?
  • facebookページ
  • twitterページ
  • 2021.04.26

    RubyとPythonの特徴と構文を比較!使いやすいのはどっちだ?

    昨今では、プログラミングなどのIT学習が注目されており、非エンジニアが論理的思考を強化するために学んだり、学校教育でもプログラミング教育が取り入れられはじめています。

    一口にプログラミングといっても、世の中には多くのプログラミング言語が存在しており、軽く並べるだけでも Ruby、Python、Java、C++、C# …のように、非常に多くの言語が存在している状況です。

    多くの言語が存在する中で、最初に何のプログラミング言語を学習しようか?という悩みに多くの人が遭遇したでしょう。

    この記事では、注目のプログラミング言語であるRubyとPythonについて、その特徴の比較と、基本的な構文の違いについて紹介します。

    RubyとPythonの特徴

    最初は、RubyとPythonの特徴を比較してみましょう。

    Rubyは日本人が開発したプログラミング言語です。主にWebアプリケーションを開発する時に用いられています。近年では企業の基幹システムなどの多くもWebアプリケーションで作られていることが多く、Webアプリケーションの人気上昇と共にRubyの人気も上がっています。

    例えば、有名なTwitterやクックパッド、食べログもRubyを使って開発されてきました。

    Rubyの求人を見ると開発案件の多くは、Ruby on Railsのフレームワークを使ったWebアプリ開発が大半をしめており、現状はRubyといえは「RailsでのWebアプリケーション開発」と言える状況です。

    PythonはAI開発の人気から、近年のプログラミング言語ランキングでは常に上位にいる人気のプログラム言語です。

    Pythonが生まれたのは1990年であり、元々は機械学習などのAI向けに開発された言語ではありませんでしたが、シンプルながら汎用性が高い構文が学習しやすく、「numpy」などの高度な数値計算ライブラリが豊富であることから、AIの研究者などで人気の言語となり、結果的にAI開発の多くでPythonが使用されています。

    求人数を比較

    フリーランスのための案件紹介を行っているレバテックフリーランスで、2021年4月時点でのRubyとPythonの求人数を比較してみました。

    その結果、Rubyの求人案件数は「1588件」、Pythonの求人案件数は「1477件」でした。

    当然、案件の数は時期によって変動がありますが、現状ではおおよそRubyとPythonの求人数は同じです。

    ただし、今後は機械学習などの人気などにより、Pythonの求人が多くなっていくと予想されています。

    スマホアプリは?

    現状のスマホアプリ開発は、iOSならSwift、AndroidならJavaが用いられることが一般的ですが、RubyとPythonでもスマホアプリ開発者が可能です。

    RubyでiOSやAndroidのスマホアプリの開発がする場合は、RubotoやRUBYMOTIONをというフレームワークを使用すると、RubyでもAndroidやiOSのスマホアプリを作成できます。

    また、Pythonであれば「kivy-ios」を使用してiOSアプリ開発したり、Androidであれば「Buildozer」を使ってアプリ開発をすることが可能です。

    とはいえ、やはり現状のアプリ開発案件の多くはSwiftやJavaで開発するものが多くを占めています。そのため、スマホアプリ開発者を目指しているのであれば、これらの言語を学習したほうがよいでしょう。

    構文の違いを確認しよう

    ここからは、RubyとPythonの基本的な構文の違いについて確認をしていきましょう。

    変数の宣言

    変数の宣言方法を見ていきます。RubyとPythonはどちらも変数の動的型付けであるため、変数の宣言時に型の指定をしません。

    Rubyでの変数宣言

    Pythonでの変数宣言

    このように、基本的にRubyとPythonで変数の宣言方法は同じです。

    ポテパンダの一言メモ

    Rubyでは変数名の最初の一文字によって、ローカル変数・インスタンス変数・クラス変数・グローバル変数・定数のいずれかに区別されます。

    • ローカル変数:小文字から始める(例: names)
    • インスタンス変数: @から始める(例: @name
    • クラス変数: @@から始める(例: @@name
    • グローバル変数: $から始める(例: $name
    • 定数:アルファベット大文字から始める(例: NAME

    関数の宣言

    メソッド(関数)宣言の構文の違いについても確認しましょう。一般的に定義済の処理のことをRubyではメソッドと呼び、Pythonは関数と呼びます。

    Rubyでのメソッド宣言

    Pythonでの関数宣言

    このように、 defキーワードでメソッド(関数)を定義すること自体は同じですが、Rubyば defキーワードから endまでがメソッドのブロックとなります。それに対し、Pythonはインデントがされている文を同じブロックとして扱います。

    クラスの宣言

    RubyとPythonは共にオブジェクト指向言語であるため、クラスが使用できます。

    Rubyでのクラス宣言

    Pythonでのクラス宣言

    このようにクラス宣言では、RubyとPythonでは宣言方法に多くの違いがあります。特にPythonでは、クラスのメソッドの第一引数には必ず selfを付けるのが特徴的です。

    ファイルの入出力

    ファイルの入出力についても比較してみましょう。コードの内容はかなり異なりますが、いずれもシンプルなコードでファイルの入出力ができます。

    Rubyでのファイル書き込み

    Pythonでのファイル書き込み

    まとめ

    RubyとPythonそれぞれの特徴と、構文の違いについて解説してきました。

    AI開発などの人気により、徐々にPythonの人気が増していますが、Rubyもその効率的でモダンな構文や、Railsの人気によりまだまだ需要は続くでしょう。

    【関連記事】
    Ruby on Railsとは?概要と特徴を知ろう!【初心者向け】



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE