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

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

ただいまの
回答率

90.62%

  • PHP

    19777questions

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

  • Ruby

    7302questions

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

PHPかRubyで迷っています。

解決済

回答 8

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 2,385

Juntamarr

score 4

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

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

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

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

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 8

+7

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+4

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/22 14:15

    優秀なWebエンジニアにを目指すならLinuxのCLIを自在に操れる必要がある。
    PHPはXAMPPやMAMPという一式揃ったツールで一旦は逃げられるけど、
    ちょっと凝った事したいときに知識ゼロでLinux環境に放り出されるから、そこで相当辛い思いする。
    (少なくとも私はそうだった)

    Ruby on Railsは最初にLinuxとかCLIだとかで苦しめられるけど、
    そこさえ乗り切れば独学でも少しずつ勉強して力つけていけるっていう狙いがあるよ。

    キャンセル

+4

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+4

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も滅んでいるかも知れません。将来を考えるなら、今を追うよりも、土台を作ることから始めた方が良いかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

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

<?php
  session_start();
  $count = 0 + $_SESSION["count"];
  $count++;
  $initial_count = $_GET["count"];
  if (ctype_digit($initial_count)) {
      $count = $initial_count;
  }
  $_SESSION["count"] = $count;
?><!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, user-scalable=no" />
    <title>これはHTMLかPHPか?</title>
</head>
<body>
<h1>あなたはこのページを<?php echo($count); ?>回アクセスしました。</h1>    
</body>
</html>

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

-1

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.62%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    RubyアプリケーションのGUIの作り方を教えて下さい

    アプリ開発の経験が浅いのでお手柔らかにお願いします。 まず、私はPHPをつかったウェブアプリケーションしか作ったことがありません。 GUIはブラウザ上で動作するので、ユーザーとの

  • 解決済

    IoTの仕組みについて

    お世話になってます。 今後、全てのものがインターネットと繋がる・・・という事が速いスピードで移り変わってくるものだと思います。 とても興味のある事ですが、お恥ずかしい質問だとは

  • 受付中

    皆さんは、資格は持っていますか?

    会社から「資格を取れ、じゃないと営業にやる気がないと思われるぞ」なんて言われているのですが、技術者、開発者である皆さんは実際に資格を持っていますか? 資格を持っていなくても、バ

  • 解決済

    婚活マッチングサイト開発のサーバーサイドの言語について

    プログラミング初心者です。 いわゆる婚活系マッチングサイトを一から作成し、公開しようとしています。 表題のとおり、開発言語についてPHPにしようか、Rubyにしようか迷っています。

  • 解決済

    ホームページ作成

    ホームページを作成する際のrubyとPHPという言語は、どういった目的で使われるのですか。 初歩的な質問で大変申し訳ございません。 ご回答のほどよろしくお願いいたします。

  • 解決済

    掲示板にレスがついたらデスクトップにポップアップ通知を出すプログラム

    職場でのみ使用される簡易的な掲示板があるのですが、 重要なレスをいち早く知る必要があるので表題のようなことを考えています。 要するに「指定したURLのサイトに変化(更新)」

  • 解決済

    Web APIの開発でどのプログラム言語を使うかのアドバイスをお願いします。

    とにかくレスポンス速度重視で考えているのですが、おすすめの言語教えていただきたいです。 大量の同時アクセスを捌けてできる限り少ないサーバーでの実装を目指しています。 レスポンス重視

  • 解決済

    phpよりruby?

    たぶんこういった質問は過去にもたくさん出てるのでググれという話なんですが笑 ご質問させていただきます。 世の中にある代表的なサービスはだいたいrubyでできているような気がする

同じタグがついた質問を見る

  • PHP

    19777questions

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

  • Ruby

    7302questions

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