8
5

More than 1 year has passed since last update.

Ruby、PHP、Python、JavaScriptの特徴とコードを比較してみた(言語選定と言語チェンジのための参考資料)

Last updated at Posted at 2022-03-15

この記事の概要

代表的なプログラミング言語Ruby、PHP、PythonといったWeb開発などで使われる
人気のバックエンドの言語をそれぞれ比較した記事です。

後フロントエンド言語のJavaScriptも比較していきます。

初学者でどの言語をやればいいのかわからない時、
言語を変える時の参考になると幸いです。

Webの仕組み

クライアントとサーバーの関係とリクエストとレスポンスの関係がわかれば
今回は大丈夫です。

サーバー側で処理をするのがRuby、PHP、Python
クライアントのようなブラウザを操作するのがJavaScriptです。

Ruby

Rubyは初学者向きのプログラミング言語で、
プログラミングスクールでよく使われる言語です。
Webアプリケーションの開発で使用されるサーバーサイド言語です。

フレームワークの代表的なのがRubyon railsです。
他にもSinatra、HANAMIなどがありますが、Railsが今は1番使われています。

Rubyで開発された代表的なサービス

  1. Twitter
  2. 食べログ
  3. 価格.com
  4. Hulu
  5. クックパッド

PHP

PHPは初心者向きのサーバーサイドのプログラミング言語です。
Webアプリケーションの開発で使用されるサーバーサイド言語です。

フレームワークではLaravelが1番人気で他にSymfony、CakePHPなどがあります。

PHPで開発された代表的なサービス

  1. Facebook
  2. Slack
  3. ぐるなび
  4. Wikipedia
  5. WordPress

Pythonの特徴

特徴は以下の4点です。

  1. Pythonはコードは比較的に簡単です。
  2. 機械学習(人工知能)、WEBアプリ、データ解析、分析ツールなどの開発に強い言語です。
  3. 将来性のある言語ランキングが1位と2位の常連です。
  4. Django、Flask、bottleなどのフレームワークがありますが、Djangoが1番人気です。

Pythonで開発された代表的なサービス

  1. Youtube
  2. Instagram
  3. Dropbox
  4. Evernote
  5. Google

pythonの仕事の注意点

エンジニアの人材派遣のエージェントの方とお話しをした時に、
Pythonを扱うお仕事は経験が浅いエンジニアには難易度が高い傾向みたいです。
未経験者や経験が浅いエンジニアはRubyやPHPなどで現場経験を積んでから
pythonで開発をした方がいいみたいです。

JavaScript

特徴は以下の4点です。
1.JavaScriptは世の中のWebサービスでは95%以上採用されています。
2.Ruby、PHP、Pythonのようなサーバーサイド言語ではなくブラウザのような見た目の動きのあるプログラミング言語です。
3.将来性のある言語ランキングが1位と2位の常連です。
4.ReactVue.jsAngularなどのフレームワークがあります。

コードを比較

簡単な文字列を出力

⚫︎Ruby

puts "Hello"

⚫︎ PHP

<?php//開始タグ
echo "Hello";//
?>    

開始タグと終了タグがあり形は <?php  ~ ?>です。
終了タグは書いても書かなくても大丈夫ですが、
開始タグ以降のコードはPHPの扱いになります。

⚫︎Python

print ("Hello")

⚫︎JavaScript

console.log("Hello");

コメントの書き方

⚫︎Ruby

puts "Hello" #コメント

⚫︎PHP

<?php  //コメント1
echo "Hello"; //コメント2
?>

⚫︎Python

#コメント
print ("Hello")
#コメント

⚫︎JavaScript

//コメント
console.log("Hello");

変数

⚫︎Ruby

number = 100
puts number

100と出力されます。

language= "Ruby"
puts language

Rubyと出力されます。

⚫︎PHP
PHPの変数では変数の先頭に$をつけます。

<?php
$tmp = 100;
echo $tmp;
?>

100と出力されます。

<?php
$language = "PHP";
echo $language;
?>

PHPと出力されます。

⚫︎Python

tmp = 100
print(tmp)

100と出力されます。

language = "Python"
print (language)

Pythonと出力されます。

⚫︎JavaScript

const number = 100;

console.log(number);

100と出力されます。

const language = "JavaScript";

console.log(language);

JavaScriptと出力されます。

条件分岐

⚫︎Ruby

score  = 100

if(score >= 70) 
    #70点以上
    puts "よくできました"
elsif (score >= 50) 
    #50~69点
     puts "残念"
 else 
    #49点以下
     puts "再テスト"
end

ここではscoreが100点なので、よくできましたと出力されます。

⚫︎PHP

<?php
// Your code here!
$score = 100;

if($score >= 70) {
    //70点以上
    echo "よくできました";
} elseif ($score >= 50) {
    //50~69点
    echo "残念";
} else {
    //49点以下
    echo "再テスト";
}
?>

ここではscoreが100点なので、よくできましたと出力されます。

⚫︎Python

score = 100;

if score >= 70:
    #70点以上
    print ("よくできました")
elif score >= 50:
    #50~69点
    print ("残念")
else:
    #49点以下
    print ("再テスト")

ここではscoreが100点なので、よくできましたと出力されます。

⚫︎JavaScript

const score  = 100;

if(score >= 70) {
    //70点以上
    console.log ("よくできました");
} else if (score >= 50) {
    //50~69点
     console.log("残念");
} else {
    //49点以下
     console.log("再テスト");
}

ここではscoreが100点なので、よくできましたと出力されます。

配列

⚫︎Ruby

  1. 配列で表すと
animal = ["犬","猫","猿"];
 puts animal[0]

2.連想配列で表すと

animal = {"ani1" =>"犬","ani2"=>"猫","ani3"=>"猿"}
puts  animal["ani1"]

これで犬と出力されます。

⚫︎PHP

  1. 配列で表すと
<?php
$animal = ["犬","猫","猿"];
echo $animal[0]
?>

これで犬と出力されます。

2.連想配列で表すと

<?php
$animal = ["ani1" =>"犬","ani2"=>"猫","ani3"=>"猿"];
echo $animal["ani1"];
?>

これで犬と出力されます。

⚫︎python

1.配列で表すと

animal = ["","",""];
print (animal[0])

これで犬と出力されます。

2.連想配列で表すと

animal = {"ani1":"","ani2":"","ani3":""}
print (animal["ani1"])

これで犬と出力されます。

⚫︎JavaScript

  1. 配列で表すと
const animal = ["","",""];
console.log (animal[0]);

これで犬と出力されます。

2.連想配列で表すと

let animal = {ani1:"",ani2:"",ani3:""};
console.log(animal.ani1);

または

let animal = {ani1:"",ani2:"",ani3:""};
console.log(animal['ani1']);

これで犬と出力されます。

環境構築をしなくてもコードが書ける

こちらのサイトなら色々な言語を環境構築無しで書けます。

参考動画

せお丸さんというYoutuberの方がもっと深いところまで動画で解説しているので
ぜひ参考にしてください。

⚫︎Ruby
https://www.youtube.com/watch?v=8NI57SrDiVw

⚫︎PHP
https://www.youtube.com/watch?v=J_pASVQXElA

⚫︎Python
https://www.youtube.com/watch?v=CPpRu_AJrW8

⚫︎JavaScript
JavaScriptはせお丸さんのチャンネルではなさそうでした。汗

参考資料

最後に

この記事は簡単なコードのみでしたが、言語の比較はできたと思います。
コードを比較してもらえれば言語チェンジは難易度は高くはないみたいです。
先輩エンジニアからのアドバイスで1つ言語を極めれば言語チェンジは簡単みたいです。
実際エンジニアがずっと同じ言語を使い続けることはないみたいです。
なので言語をスライドして考えると新しい言語は習得しやすいと思います。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5