プログラミング言語の違いによる差~JSP/PHP/ASPなど~

この記事が良ければ、ぜひシェアお願いします

配達を100円で、さらに5000円以上になれば無料で店頭と同じ価格でしてくれる某ネットスーパーをよく利用するようになりました。

水物などは重量があり一人では持って帰れないので、クリックすれば玄関まで配達してくれるのでとても重宝しています。

ただ、気になることが一つ。それは

『レスポンスが異常に遅い』

ということです。

アドレスを見ていると、サイトのフロント側はASPを使っているようです。ということは、推測になりますが.NET Frameworkを使っているということでしょうか。(いや、ページの拡張子が.aspxではないので、フレームワークは.NET Frameworkではないかもしれないですね)

ちなみにクレジット決済処理ではJSPになっていました。バックエンドの処理ではJavaが動いているということですね。

その辺は、ネットショッピングサイトとクレジット決済と別のサービスなので、管理してる会社か開発してる会社が違うのでしょうね。Javaはプログラマーも多いし、決済用のモジュールを持っている会社も多いと推測できるので、Javaを採用した可能性が考えられます。

また、最近はWebサイトとなるともっぱらPHPも多いですね。FacebookもPHPです。「PHPはセキュリティが弱いからダメだなんて論調」が一時盛り上がりましたが、アプリケーションレベルでのセキュリティしか知らないんでしょうか。インフラセキュリティで解決できることもあるし、アプリケーションの作り方やDB連携周りの強化、ロール管理をしっかりできれば、問題はないと私は思っています。むしろ、運用がずさんな方がよっぽどセキュリティは脆弱ですからね。

それに、いくらJavaベースで作っていたって、Apacheの脆弱性が放置されていたら意味ないですもんね(笑)

どの言語でWEBサイトを作れば良いのか

基本的に、WEBサイトはあくまで「ビジネス」のツールなので、その「ビジネス」の目的が達成できるもので、且つ運用面の不安さえなければ、どの言語でも私は良いと思っています。(さすがにマイナーな言語だと運用やエンハンス開発で困ってしまうので避けるべきですが)

また、最近はCMSを活用して、大規模サイトも作れるようになってきました。日本でよく使われているWordPressはPHP、ムーバブルタイプはPerlですね。そういえば、こういうオープンソースでJavaのパッケージってあまり見かけないですね。

と話がJavaに逸れましたが、Javaのようなコンパイルが必要な言語は運用上注意が必要です。

私もよく経験したのですが、Webサイト上の「ある文言が間違っていた」などの些細な理由でページを改修するときに、JSPと言えどプリコンパイルが必要なので、再度プリコンパイルをしてデプロイツールで各サーバに配布をしないといけません。その際にはTomcatの再起動が必要なので、一瞬サーバが落ちる訳です。

「ロードバランシングしていれば、サイトは落ちないじゃないか」と思う人もいれませんが、会員機能を持つサイトだとセッション情報はクリアされるので、ログインセッションは切れます。なので、ユーザーからすると「あれ、ログインしていたのになぜか勝手にログアウトされたぞ」と思う訳です。サーバー間セッション同期は負荷が掛かりすぎるので、あまりそこまでやっているWebサイトはないですからね。

また、同時に全台落とす訳にもいかないのでWEB/APサーバを1台にデプロイしないといけないわけです。これはかなり面倒です。Webサーバの台数が増えれば、それだけ工数としては無駄に掛かってしまいます。

PHPやPerlはスクリプト言語なので、そのような運用の手間は掛かりません。直接ソースを修正するだけで済む訳ですから。但し、スクリプト言語は全部ソースを舐めるのが基本なので、処理速度はコンパイル言語に比べると遅くなるのは確かです。ただ、この辺もインフラスペックがどのくらい良いのかにもよるので、その辺も加味して考える必要がありますよね。

勉強を始めるなら自分が好きになれそうな言語から始めればよい

私は14年ほど前にチャットにハマっていたこともあり、Perlの勉強をその時に始めました。とは言え、ほとんど独学だったのでちんぷんかんぷんだったのですが(笑)その後、C言語の基本を押さえ、Javaを新入社員研修の時に勉強し、今の仕事ではJavaをメインに扱い、プライベートではPHPに触れています。

その中でも一番取っつきやすくて好きだと思ったのがPHPでした。WordPressを好きになったことも理由の一つだと思います。

ですので、もしこれからプログラミング言語を学ぼうとしている方で、言語の違いで迷われている方がいれば、「好きになれそうな言語から勉強を始めればよい」と思います。ただ、さすがに勘定系や基幹系システムで使われているCOBOLやFORTRANなどのマイナーな言語は、仕事で必要になった時に勉強すれば良いと思いますが(笑)

Written by Info Architecture

スポンサーリンク

この記事が良ければ、ぜひシェアお願いします

もぐ
年齢 : 30代半ばの1児の新米パパ。ITネットワークから始まり、WEBディレクター、WEBシステム系のプロマネ、データ分析など色々やってるエンジニアです。WordPress、Webサービス構築、BIツール、IoTなどがトレンド。新しくて面白い仕事募集中。
スポンサーリンク