情報処理実習3B(Web)

2017年度 前期 木04 15:15-16:45 瀬田2-119

PHPの特徴

PHPの特徴

実用面

サーバサイドプログラミング言語の一つ。

手続き型、オブジェクト指向双方の流儀で開発が可能(手続き型+オブジェクト指向のハイブリッド)であり、汎用性が高い。HTMLとの親和性が高く、ウェブプログラムに便利な組み込み関数が豊富に揃っており、開発効率も高い。

現在多くのWebシステムでこのPHPが使われている。

記述の自由度が非常に高いため、コードを書くのは比較的容易だが、共同作業する際にはコーディング規約を明確に定めないと混乱を招く可能性がある。

一口で言うと何でもありの言語。かなり無茶なコードも書けてしまう。

学習面
デメリット

自由度が非常に高いところから、安直に書いてもそれなりに動いてしまう。そのため自己流で定着してしまう危険性がある。

とくに変数の型付けが弱い言語である事が学習用言語としてはマイナス。

メリット

記述上の決まり事が少ないため、ほぼ素の形で命令処理を記述できる。

手続き型、オブジェクト指向双方の学習ができる。

他言語との比較
C

手続き型言語の王様。ハードウェア寄りの言語であるため、メモリ管理など非常に複雑で難解。エラー処理機構が素朴であり、プログラマの負荷が高い。OS、アプリケーションなんでも書けるので、本格的に勉強すればどんどん高見にいける。

理系的・数学的思考が必要。

Java

オブジェクト指向言語の王様。オブジェクト指向プログラミングを真面目に学習するならまずはこれ。ドキュメント類が整備されているので、本格的に学習すれば意外と習得は早い。

文系的・文脈把握的・構造的思考が重要。

JavaScript

ウェブページの表示統御に補足的に用いる限りにおいては容易に取りかかれるが、全体を把握するのは相当難しい。

VisualBasic

JavaScriptに似て、断片的に記述するには容易に取りかかれるが、全体を把握するのはそれなりに難しい。

※手続き型とオブジェクト指向
手続き型言語

簡単には一連のデータ処理をモジュール化(パッケージング化)したもの(関数)を軸に記述していく言語である。

言語構造は比較的簡単であり、初学者にとって取っつきやすく、初動での開発効率も高い。

代表的言語
C言語,Perl,PHPなど
オブジェクト指向言語

簡単にはデータとその処理をまとめてモジュール化(パッケージング化)したもの(オブジェクト)を軸に記述していく言語である。

言語構造は相対的に複雑であり、初学者が言語仕様全体を把握するのは難しい。既存のオブジェクトを利用するだけなら開発効率は高いが、オブジェクトの設計から行うとその分開発効率は落ちる。保守性は高い(あるいはそのように設計すべきである)。

代表的言語
C++,Java,JavaScript,VisualBasicなど

※PerlやPHPなど多くの言語がオブジェクト指向にも対応している。