この記事の概要
代表的なプログラミング言語Ruby、PHP、Python
といったWeb開発などで使われる
人気のバックエンドの言語をそれぞれ比較した記事です。
後フロントエンド言語のJavaScript
も比較していきます。
初学者でどの言語をやればいいのかわからない時、
言語を変える時の参考になると幸いです。
Webの仕組み
クライアントとサーバーの関係とリクエストとレスポンスの関係がわかれば
今回は大丈夫です。
サーバー側で処理をするのがRuby、PHP、Pythonで
クライアントのようなブラウザを操作するのがJavaScriptです。
Ruby
Rubyは初学者向きのプログラミング言語で、
プログラミングスクールでよく使われる言語です。
Webアプリケーションの開発で使用されるサーバーサイド言語です。
フレームワークの代表的なのがRubyon railsです。
他にもSinatra、HANAMIなどがありますが、Railsが今は1番使われています。
Rubyで開発された代表的なサービス
- 食べログ
- 価格.com
- Hulu
- クックパッド
PHP
PHPは初心者向きのサーバーサイドのプログラミング言語です。
Webアプリケーションの開発で使用されるサーバーサイド言語です。
フレームワークではLaravelが1番人気で他にSymfony、CakePHPなどがあります。
PHPで開発された代表的なサービス
- Slack
- ぐるなび
- Wikipedia
- WordPress
Pythonの特徴
特徴は以下の4点です。
- Pythonはコードは比較的に簡単です。
- 機械学習(人工知能)、WEBアプリ、データ解析、分析ツールなどの開発に強い言語です。
- 将来性のある言語ランキングが1位と2位の常連です。
- Django、Flask、bottleなどのフレームワークがありますが、Djangoが1番人気です。
Pythonで開発された代表的なサービス
- Youtube
- Dropbox
- Evernote
pythonの仕事の注意点
エンジニアの人材派遣のエージェントの方とお話しをした時に、
Pythonを扱うお仕事は経験が浅いエンジニアには難易度が高い傾向みたいです。
未経験者や経験が浅いエンジニアはRubyやPHPなどで現場経験を積んでから
pythonで開発をした方がいいみたいです。
JavaScript
特徴は以下の4点です。
1.JavaScriptは世の中のWebサービスでは95%以上採用されています。
2.Ruby、PHP、Pythonのようなサーバーサイド言語ではなくブラウザのような見た目の動きのあるプログラミング言語です。
3.将来性のある言語ランキングが1位と2位の常連です。
4.React、Vue.js、Angularなどのフレームワークがあります。
コードを比較
簡単な文字列を出力
⚫︎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
- 配列で表すと
animal = ["犬","猫","猿"];
puts animal[0]
2.連想配列で表すと
animal = {"ani1" =>"犬","ani2"=>"猫","ani3"=>"猿"}
puts animal["ani1"]
これで犬と出力されます。
⚫︎PHP
- 配列で表すと
<?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
- 配列で表すと
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つ言語を極めれば言語チェンジは簡単みたいです。
実際エンジニアがずっと同じ言語を使い続けることはないみたいです。
なので言語をスライドして考えると新しい言語は習得しやすいと思います。