WordCampTokyo2011に参加してから
WordPressにもう一回興味を持ち、調べるうちに
そう言えば、PHP言語はいじった事無かったなと・・・と思いだし。
少し、情報収集でWebサーフィンを
サックリと、PHPはどんな感じで、どんな言語で、どんな環境が必要か?
は分かっていたが、
同じようなスクリプト言語でJavaScriptとかもあり
あれ、違いは何かな?なんてふと疑問に。
エンジニア目線で無く、これからエンジニアを目指す人目線で
違いを比較してみます。
【総論】
乱暴に言えば、どちらもプログラム言語なので同じような事は出来ます。
しかし、違う言語として君臨するからには決定的な違いが有ります。
【同じような所】
どちらも、インタプリタ言語としてC言語やJava言語の様にコンパイル作業はいりません。
直接、HTML言語内に記述出来ます。(但し、PHPの拡張子は.phpです)
足したり、引いたり、掛けたり、表示したり、くっつけたり、ループさせたり
代入したり ・・・かなりアバウト は大体同じです。
(global変数は後述)
【違う所】
かなり、ざっくり言いますと、親と子供をサーバーとクライアントとイメージして下さい。
PHPは親が考えて子どもに指示します。
JavaScriptは親は放任で子どもが考えて処理します。
かなり良い表現です。(自画自賛)
PHPは親が処理を考えるので子どもからは処理が見えません。
勝手な子どもがいても親には影響せずに、子どもは親に絶対服従です。
(PHS言語をHTMLに変換するのでPHP処理は見えません。)
JavaScriptはある程度、自由裁量に任せて有るので、処理の中身等はみんなに見えます。(HTMLソースは参照可能)
まとめると
「PHPはサーバーで動き、JavaScriptはブラウザ(クライアント)で動きます。」
以上から、信頼性を必要とするようなショッピングサイトや会員認証等は親側に任せた方が安心です。(PHPに軍配)
でも、簡単な画像をひっくり返したり、動かしたりする処理は、親が出るまでも有りません、子ども(クライアント側)の処理に任せて良いです。(JavaScript)
【もう一つ決定的な違い】
表示や参照するだけなら、さほど大きな違いは有りません。(先程有ると言ったばかりですが)
決定的には、更新したりする処理(DB更新処理含む)が得意か不得意です。
(*ここでの不得意とは絶対出来ない訳では無いと言う無責任な表現です)
変数の代入とか格納が
親と子の間を会話しますので、複数の子どもがいる場合は混乱します。
こんな時にJavaScriptは子ども内で完結するので、他の子には影響ないですが親と、会話する時には共通のグローバル変数を使用して会話するのがPHPです。
回りくどくてスイマセン。
PHPなら、複数の子ども(クライアント)のワガママな変数やり取りを処理(更新)が可能なので、DB処理等に適しています
どちらが良い、悪いと言う事は有りません。
JavaScriptは覚えて損は無いです。・・・むしろ楽しいです。(jQuery,Ajax等もあり)
WebプログラミングをするならPHS言語はおさえておきたい言語ですね。
簡単そうに書くと難しくなり、難しく書くと余計難しくなる。
でも、やって見るとあまり難しくない。
これからのトレンドは、プログラムレスのCMSとして
WordPressとか、MovableType、Facebookとか、BlogツールでHPモドキやBlogページは作れますが、
最後のかゆい所(肝)に手が届くのがこれらの言語知識になります。
CMS等の発展によって、ユーザーのハードルが下がり、裾野が広がる事は
大歓迎です、しかしこれらの裾野に比例してさらにプログラマーの活躍の場が
増える事は喜ばしい事です。
システムプログラマー&エンジニアは永遠です。