*

PHPのメリット・デメリット

うちのブログで一番読まれている記事が「フレームワークのメリット・デメリット」ですね。

タイトルが直球なせいか、検索でこの語句を打ち込むとトップにこの記事がトップにきます。

で、良く考えたらこのブログPHPの学習ブログなんですが、PHPのメリットデメリットをはっきり紹介してませんでした。「なぜPHPなのか」という記事が比較的近いんですが、この記事わかりにくい(爆)

初心者の方向けにPHPのいいところと悪いところを私なりに書いてみますね。

メリット

まずはメリットです。一言でいうと「プログラミング未経験者でも学びやすい」です。

後にも述べますが、PHPを嫌う人は非常に多く、WEB上ではデメリットのほうが多くあげられます。

が、それを差し引いても初心者の学びやすさとメリットは大きいでしょう。

その学びやすさを具体的に書いてみますね。

比較的簡単

PHPがほかのプログラミング言語に比べて簡単なことに異論はないかと思います。

このブログで2回に1回ぐらいは書いていることですが、プログラミングというのは未経験者にとってはとてもハードルが高いです。

完全な独学でやろうとした場合、9割以上の方は簡単なお問い合わせフォームすらできません。

WEB上だと強気な意見(「プログラミングなんか独学で誰でもできる」など)が多いのですが、惑わされないようにしましょう。

このブログでは「プログラミング自体未経験」「独学中心」「スピード重視」の方をターゲットにしています。

その場合、少しでもハードルが少ないほうを選んだほうがいいです。

そうじゃないと高確率で挫折してしまいます。

キャリアの長いプログラマの方は最初にCなどすすめることがありますが、未経験&独学&スピード重視の場合は無視しましょう(笑)

1つのプログラミング言語を学んでおけば、他の言語を学ぶのはそれほど苦ではありません。

まずは「自分でプログラミングを動かせた」という経験をつむためにもPHPのような簡単な言語で経験を積んだほうがいいです。

具体的には単に簡単っていってもいろんな意味がありますが、「WEBであることを実現するまでの学習時間、実際の工数が短い」という意味で考えてもらえるといいと思います。

人口が多い

HTML/CSSを除くと、今一番多いプログラマはPHPのようですね。

人口が多いことがなぜメリットなの?と不思議な方がいるかもしれませんが、人口が多いと次のようなメリットがあります。

情報が多い

人口が多いことで最も恩恵があるのは「情報の多さ」です。

当たり前ですが、プログラマ人口がおおければそれだけWEBなどで情報発信する人が増えまし、書籍なども出版されます。

ある言語、フレームワークで「こういう機能を実現させるにはどうしたらいい?」となったときに情報が探しやすいことは学習を進めるうえで超重要事項です。

例えば「世界で一番優れたプログラミング言語」なんてものが仮に存在したとして、使い方をしっているのが世界で10人しかいなかったら意味がないですよね?

PHPだとこういう時にはどうしたらいいか・・というのは大抵検索すればでてきます。

欠点はいろいろあっても使用人口が多く、情報が出回っていることは実務上大変なアドバンテージです。

多くのサービスで使われている

人口が多いことから多くのサービスで使われている点もメリットの1つです。

これはレンタルサーバーや他のサービスでもWEBのサービスであれば基本的にはPHPが使えないものはあまりありません。

新しく、革新的な言語でも使用人口が少なければ使うことすらできないこともあるのです。

例えば普通のレンタルサーバーでScalaを使いたいと思っても入っていることが少ないので使うことすらできません。

PHPならばまずそんなことはありません。どこでも使えます。

求人が多い

使用人口が多いので、当然仕事に就きやすいです。

今だとJavaがトップでPHPはその次ぐらいの位置にきているのではないかと思います。

趣味でやるなら別ですが、プログラマにこれからなろうと思っている方、副業などでプログラミングを使いたい方にとっては大きなメリットでしょう。

メリットに関してはこんなところかな・・・

繰り返しますが「プログラミング未経験者でも学びやすい」がメリットです。

このメリットを悪くとらえる人もいるようです。(レベルの低いプログラマが大量生産されるなど)

が、「プログラミング自体未経験」「独学中心」の方がプログラムを覚えようとした場合、非常に大きいメリットです。

デメリット

メリットをいろいろと上げましたが、キャリアの長いプログラマの方は一般的にはPHPを嫌います(爆)。

「PHPなんてプログラミング言語じゃない」なんて過激なことを言う方もいますね。

PHPのデメリットに関してはWEB上で検索すると山のようにでてきますが、それらの話の多くは初心者の方には全くわからないレベルのものが多いので、初心者の方向けに「PHPがなぜ嫌われているのか?」「PHPのデメリット」を私なりに書いてみたいと思います。

自由度が高い

「自由度が高いことがなんでデメリットなの?」と思うでしょうね。

専門的な例をあげることは簡単ですが、あえて専門的な例を一切使わずに説明してみます。

例えば学校でも会社でもある組織に入ったらみんなが正しく生活や仕事ができるように様々なルールや制約があります。

ルールや制約が多いと最初は窮屈でも大勢の人間が共同生活をする上では必要になってきます。そしてルールや制約が多いほうが一般的には安全です

ルールがあまりなく、多くの人が自由に行動したりすると摩擦が起きます。

身近な例で言うと外国の人が来た場合、同じルールや常識で行動しないことが多いので日本人同士に比べると圧倒的にトラブルが増えます。

実はプログラミングでも同じようなことがいえます。

他の言語だと変数の定義自体、いろんな制約があり、その制約を守らないとそもそも動かないことが多いです。

ところがPHPは自由度が高くある意味、適当に書いても動いてしまうので、それが危険なことも多々あるわけです。

ほぼWEBオンリー

これはわかりやすいデメリットでしょう。

例えばAndroidアプリをPHPで作りたいと思っても無理ですし、できません。

PHPが学びやすいのは特定の目的(WEB)に特化しているから、ということが大きいのですが、それが逆にデメリットになります。

セキュリティが弱い

これは少しPHPを使うとわかるのですが、一般的なプログラミング言語に比べるとセキュリティ的に弱い部分が数多く報告されています。

バージョンアップを繰り返して対策が採られているようですが、一般的にはセキュリティに弱いという印象が強いです。

結論

PHPのメリット、デメリットについて書いてみました。

私はPHPに対して愛着はあっても信者でもアンチでもありません。

セミナーに来た方には説明していますが、私がPHPをすすめるのは

  • プログラミング自体未経験
  • 独学中心
  • できるだけ早くプログラミング言語を見につけたい

という条件に該当する方で、このブログの読者方もそういった方をターゲットにしています。

今大学生でプログラミングの授業が大学でみっちりあるという方だったらCなどをすすめます。PHPはやらないほうがいい、というかもしれません。

プログラミング言語に限りませんが、何がメリットかデメリットかは何を前提条件にするか、そもそも目的がなにかによって変わってきます。

部分的な情報だけで判断しないようにしましょう。

関連記事

PHPで掲示板を作ろう!(データベース編) その5 PHP-MySQL連結編

今回はMySQLの第5回目の講義です。 前回までの記事 PHPで掲示板を作ろう!(データベース編

記事を読む

プログラミングをする上で超大切な検索方法の身につけ方

今日はプログラミングで大切な検索方法の身につけ方について私なりのコツなどを書いていこうかなと思います

記事を読む

繰り返しを学ぼう (for,foreach)

こんばんわ。松本です。 ゴールデンウィークもそろそろおわりですね。といいつつ、私はどこにも言っ

記事を読む

教え方がうまい人に共通するたった1つの考え方

やや遅い気もしますが、あけましておめでとうございます。 今年もよろしくお願いします。 昨

記事を読む

お問い合わせフォームを作ろう! その3(PHP)

それでは前回のコードを例に少しずつ内容について説明をしていきます。 値を取得するには まず一番最

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その1 準備編

前回までは掲示板作成をテーマにPHPの基本的な学習内容について書いてきました。 今回は題材にあ

記事を読む

Java/PHP/Perl/Ruby/Python 主要Web系言語徹底比較

本日はWeb系で使われているプログラミング言語の比較をしてみようと思います。 Web系で使われ

記事を読む

ガチンコ塾、人気記事ベスト5

このブログも開設して約半年たちましたね。 思った以上にたくさんの方に読んでもらえてうれしいです

記事を読む

データを扱ってみよう その1(変数)

こんにちわ、松本です。 前回の記事は読んでいただけたでしょうか。私よりPHPに関して知識のある

記事を読む

CMSの大まかな構成

前回に引き続き、CMSの大まかな構成について話したいと思います。 HTMLサイトとの違い CMS

記事を読む

Comment

  1. Torio より:

    ゲーム制作などのためにプログラミングを覚えようと思ったのですが、はじめからJavaでやろうとして、始め方すらわからないままにやめてしまいました。
    そして最近将来プログラマーとして働きたいと考えるようになり、再びプログラミングを練習しようと思っているのですが、「経験やスキルなどの技量がよく反映されるもので、就職の際に困らない需要のある尚且つ、ゲーム制作や趣味の創作活動にも使える言語」はなんでしょうか…

    • matsumoto より:

      Torioさん

      初めまして。コメントありがとうございます。
      管理人の松本です。

      >最近将来プログラマーとして働きたいと考えるようになり、再びプログラミングを練習しようと思っているのですが、
      >「経験やスキルなどの技量がよく反映されるもので、就職の際に困らない需要のある尚且つ、ゲーム制作や趣味の創作活動にも使える言語」はなんでしょうか…

      非常に難しい質問であり、おそらくプログラマによってさまざまな答えがでてくると
      思われます。

      精一杯回答させていただきます。

      あくまで私の独断と偏見で書かせていただきますが、
      おそらくすべてを満たすものになりますとJavaかもしれません。

      Java人口は多いですが、Javaの技術と一口に言ってもいろいろあり、レベルもさまざまですので、
      経験やスキルなどの技量が反映されるのは間違いないと思います。

      就職の際に困らないのは求人数が非常に多く、以前所属していた人材紹介会社でも「Javaプログラマが欲しい」
      ということは営業もよくいっていました。求人サイトをみても大体Javaがトップですね。

      Javaですと特定の用途に限定しておりませんので、ゲーム制作や趣味でも幅広く使えるかと思います。
      ゲームだけ、でしたらほかの言語でも様々ありますが。
      といいますか、ゲームといってもジャンルによりおそらく分かれます。
      趣味といっても用途によりけりですが、それでしたらなおさらJavaの汎用さが武器になるかと思います。

      ただし、一度挫折されているということですので、それですと私はPHPかJavaScriptなどでプログラムの基本を覚えられてから
      Javaにすすまれてもいいかと思います。

      ブログの記事でも何度か書かせていただきましたが、未経験や独学の方にとってプログラムは非常に難しいものです。
      文面からTorioさんはプログラミング未経験であり、周りに聞ける方もいないように感じました。
      間違っていたらすいません・・・

      >はじめからJavaでやろうとして、始め方すらわからないままにやめてしまいました。
      とTorioさんはかかれていますが、全く珍しいことではありません。
      プログラミングの経験が1ミリもない&完全に独学でJavaをある程度できる方は1%以内だと私は思います。
      ほとんどの方は環境構築すらできずに挫折してしまうと思いますし、そういう方にたくさんあってきました。

      私がプログラムを学び始めたとき(5,6年前)と比べ、ネットの動画コンテンツをはじめとした学習環境は向上し、
      以前と比較にならないぐらい学びやすくなっています。

      それを考えても、自分の指導経験から未経験&独学環境の方がプログラムを学ぶのは非常に難しいことだと
      思っています。

      そういった方にとっては少しでも負担が少なく、簡単で覚えやすい言語を学ぶことが大事になると私は考えますので
      PHPかJavaScriptを学ばれてからJavaを勉強されるのはどうでしょうか。

      多少でも参考になれば幸いです。

  2. […] PHPのメリット・デメリット […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

無料PHPスクール
自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

エンジニアを採用する上で大事なこと

本日はエンジニアの採用について書きたいと思います。最近少し採用に絡んだ

エンジニアが給料を上げる方法を真面目に考えて見ました。

本日はエンジニアと給料の話題について触れて行こうと思います。 エ

エンジニアの「スキル」とはなんぞや

給与が低いことに悩んでるエンジニアへのアドバイスをツイートで見たところ

→もっと見る

  • follow us in feedly
PAGE TOP ↑