質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

8回答

1465閲覧

PHPかRubyで迷っています。

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

4クリップ

投稿2017/09/21 13:09

編集2017/09/22 11:03

現役のエンジニアのみなさんにご質問がございます。
私は現在、Webエンジニアを目指し、勉強をしているものです。
3ヶ月程前から、勉強を初めてHTML,CSS,JS(基本文法とjQueryを少し触りました)と勉強をしてきました。
そして、そろそろPHPかRubyを本格的にスクールなどに通って勉強しようと思っています。

そこで、どちらを学ぶべきか現役のエンジニアさんたちのご意見をお聞きしたいです。
どんな意見でもかまいません。PHPはここがいい、Rubyはここがいいetc..など
よろしくお願いいたします。

追記
皆さん、貴重なご意見ありがとうございます。
大変参考になります。

もう少し掘り下げた相談をさせてください。

PHPかRubyかでご質問させていただきましたが、将来的にはどちらも学ぶつもりです。
その上でどちらを先に勉強すれば、将来的に良いか教えていただきたいです。PHPから他言語に行くのは苦労するという意見もちらほら見かけます。
現在は、環境構築が楽なPHPを少し触り、Webサービスってこんな風にできているのか、というのをなんとなく学んでいるところです。

お手数ですが、また様々なご意見をいただけると幸いです。
よろしくお願いします。

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答8

0

どっちも学べば良いと思います。
両方学ぶ前提で、どちらを先にと言うことでは、Rubyでしょうか。言語がきれい。
絶対に一つしか学ばないと言うことなら、PHPでしょうか。PHPの長所はあちこちで使われていると言うことです。このサイトでの質問も多い。

投稿2017/09/21 13:30

otn

総合スコア84491

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

raccyとかいう人のQiitaの記事に

って書いてありました。よし、Pythonやろうぜ!


冗談はさておき、RubyのPHPにはない点を一つだけ紹介しましょう。それは、RubyはWeb以外に使うときも役に立つと言うことです。

いや、PHPだってWeb以外にも使える!…というかもしれませんが、PHPはWebアプリがメインであり、Webアプリのために作られたと言っても過言ではない言語です。対してRubyはWebアプリに使われる事を意識して作られたわけでは無く、Webアプリにも使えるよね程度の言語です。これは、PerlやPythonにも言えることです。

何を言いたいかというと、PHPはWebアプリを作るには非常に簡単になるようにしている分だけ、Webアプリ以外が苦手と言うことです。ただ、逆も然りです。RubyはPHPに比べたらWebアプリを作るのには不利です。でも、もう一つだけ注意点があって、大規模になると採用するフレームワークが重要になるので、言語云々よりも、フレームワークの選択肢を含めてみてみないと意味が無いかも知れません。

では、私がここ最近つくったWebアプリではないRubyプログラムを紹介しましょう。

  1. 標的型攻撃メール訓練ツール
  2. プロキシログ検索ツール
  3. ユーザー情報整合性チェックツール(途中まで…はよ完成させないと)
  4. サーバー情報収集ツール(収集したデータを表示する部分はSinatraで作ったWebアプリですが…ここ最近Rails触ってない)
  5. Webホスティングユーザー管理ツール

その他、細々とした処理を「うわ面倒だ、自動化しよう」というときはちょこっとしたツールをRubyでたくさん作っています(「怠惰」は三大美徳の一つです)。Rubyはこういったことに使うのに非常に便利です。


さて、結局両方学ぶんだから…というのであれば、どちらから始めるかですが、私のお勧めは「Webアプリを学ぶ前に、プログラミングそのものを学べ」です。Webアプリは結構難しい部類のプログラミングです。かなり高度な知識が必要になります。なのに、PHP入門でWebアプリ作ってみただ、Rails入門でWebアプリ作ってみただ、とやってみると、入門やチュートリアルの内容はなんとなくできてしまいます。**それは勘違いです。**できた気分になるだけです。入門終わったけど、何も作れるようになってない…どうしたら良いのでしょうか?という質問をteratailでごまんと見てきました。そのできない原因のほとんどは、基礎ができていないからだと私は考えています。

急がば回れです。Webアプリを一旦横に置いといて、普通のプログラミング入門から始めてみてください。Webアプリから始まらないPHP入門なんてあるのかという疑問はありますが、Rubyだったらたくさんあります(Railsはまだ手を付けちゃ駄目ですよ)。なんなら、Pythonでもいいでしょう。いっそ、C#やKotlin等をするというのもあります。なんなら、考え方が全く異なるHaskellから…はちょっとやり過ぎですね。

なんか、結論としてはPythonが良いんじゃ無いのかな?と言いそうになりそうな気がしないでも無いのですが、私からのアドバイスは以上です。

そうそう、この業界は流れが非常に速いので「○○なら安泰」はありません。来年には、PHPもRubyも滅んでいるかも知れません。将来を考えるなら、今を追うよりも、土台を作ることから始めた方が良いかと思います。

投稿2017/09/22 12:47

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

2つの言語の違いはググれば山ほど出てくるのでここでは述べません。
いくらでも検索して下さい。

現実的な話をします。
今現在PHPerは非常に多く、案件の数も多いです。
仕事の内容も細々とした機能追加や改修といったものから、巨大で複雑なシステムを新規に組むものまで豊富にあります。
自分のレベルに合った仕事を選べるでしょう。
初心者でも取れるPHP案件はあります。

一方Rubyはまだまだマイナーです。
しかしRubyistはRubyだけ出来るのではなく、他の言語もマスターし、Webシステム全般について造詣が深い人が多いです。
そのためかRuby案件のギャラは高いものが多いですが、難易度も高い傾向にあります。
はっきり言ってどちらも言語自体は同じようなものですが、仕事の内容は違います。
Rubyが書けるだけではRuby案件は取れません。
それなりの知識と経験も求められます。
たぶん今後もその傾向は続くでしょう。

本気でこの業界で食ってくつもりならば、仕事の取りやすさという観点も必要です。
サラリーマンでも1人でやっていくにしてもそれは同じです。
まずはPHPを学び、次にRubyをやればよいのではないでしょうか。

投稿2017/09/21 14:07

ooeok

総合スコア469

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

PHPはApacheの組み込みモジュールで動作するんで、知識が無い初心者でもすぐ試せる。
ただまぁ罠的な書き方や関数の設計思想がバラバラという弱点が散見してて、
学習の初速は出るけど上り詰めるには辛いイメージ。

逆にRubyはWebサイトを構築するならRailsを扱えなきゃいけない。
その為にはCLIがある程度触れる必要があってLinuxの前提知識…
このあたりがネックになるので勉強しようと思っても初速が出ない。

学校に通ってRubyを学びやすい環境にあるなら迷わずRubyを取った方が良いだろうね。
PHPは最悪独学でもある程度の所まではすぐ行けるからね。

投稿2017/09/21 15:03

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2017/09/22 05:15

優秀なWebエンジニアにを目指すならLinuxのCLIを自在に操れる必要がある。 PHPはXAMPPやMAMPという一式揃ったツールで一旦は逃げられるけど、 ちょっと凝った事したいときに知識ゼロでLinux環境に放り出されるから、そこで相当辛い思いする。 (少なくとも私はそうだった) Ruby on Railsは最初にLinuxとかCLIだとかで苦しめられるけど、 そこさえ乗り切れば独学でも少しずつ勉強して力つけていけるっていう狙いがあるよ。
guest

0

最初の触りという条件であればPHPを薦めます。
以下は変なHTMLに見えるかもしれませんが、PHPのスクリプトです。

php

1<?php 2 session_start(); 3 $count = 0 + $_SESSION["count"]; 4 $count++; 5 $initial_count = $_GET["count"]; 6 if (ctype_digit($initial_count)) { 7 $count = $initial_count; 8 } 9 $_SESSION["count"] = $count; 10?><!DOCTYPE html> 11<html lang="ja"> 12<head> 13 <meta charset="UTF-8" /> 14 <meta name="viewport" content="width=device-width, user-scalable=no" /> 15 <title>これはHTMLかPHPか?</title> 16</head> 17<body> 18<h1>あなたはこのページを<?php echo($count); ?>回アクセスしました。</h1> 19</body> 20</html> 21

PHP禁止してるサーバでもない限り、index.phpなんて名前で保存すればちゃんと動きます。
リロードする度にアクセス回数が増えます。index.php?count=1 とかするとカウンタリセットします。
たったこれだけのコードなのに、クッキー使ったりパラメータ読んだりしています。

PHPを触って「Webのプログラミングってどういうことだろ?」というのを知り、
その後あらためてPHP探求するなり、Rubyに行くなりすれば良いのではないでしょうか。

「Webエンジニアとして食っていきたい」ということになると、実際のところみんなどっちも一通り出来るようになった上で、その企業(あるいは自分自身)のメイン言語を選択してる気がします。

全部できるのが一番です。

投稿2017/09/22 05:39

daisuke7

総合スコア1563

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まずはどっちって言われたらPHPを勧めます。

PHPのCMSであるwordpressが日本のCMSのシェアの8割を超えているため、少なくてもそれだけでPHPの仕事はあります。
WEBアプリケーション用のフレームワークも有力なの(codeigniter,laravelとか)が幾つもあり、CMS以外の仕事も見つけられます。
大量の処理をしないようなアプリケーションには今後も使われていくと思います。
これから先数年はWEBの業界の主流で使われる言語だと思います。
Webエンジニアになるのなら間違いなくPHPは使えた方が良いです。

rubyは数年前なら勧めていたかもしれません。
当時はもっと市場がでかくなるような気がしていましたが、残念ながら現状はそこまで大きい市場ではないようです。
仕事はなくはない程度にはあります。でも、PHP程はないです。
極論かもしれませんがrubyのWEB系はほぼrailsだと考えてもいいと思います。
railsをどこまで好きになれるかで、ruby+WEBの世界でやっていけるかを決めても良いようなレベルで支配しています。
rubyはPHPよりも言語の書き方がキレイっていうか書きやすいっていう強みがあります。
学びやすく書きやすいので楽ではあるのでコーディングは楽しいですが、市場の問題があるのでそれで仕事を得るにはそれとは関係なく大変かなと思います。

投稿2017/09/21 14:19

oskbt

総合スコア1895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どっちが、というより、どっちも、ですね。
言語が多少異なっても、作るものが同じ Web アプリだと、たいてい同じ作りになります(誰も好き好んで複雑怪奇なつくりにはしないのです)。重要なのは言語ではなくて作り方の方です。
Ruby の場合 Web だとほぼ Ruby on Rails で、ということになりますが、PHP では Framework が何種類もあります。その中には Rails に触発された類似構造をもつものもあります。

むしろ言語以外の部分、Linux だの Docker だのといったサーバインフラの部分も勉強されるとよいでしょう。

投稿2017/09/22 05:42

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

好きなWebサービスで決めるのも面白いかなと思います。

クックパッドならRuby
TwitterならJava
Googleはgoとか
wikipediaとかニコニコならphpとか

興味がある部屋で絞るのもありですね
機械学習に興味ありならpythonなどなど

投稿2017/09/21 14:29

Somen510

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問