<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>PHPは何故こんなに叩かれながら、こんなに使われるのか？ へのコメント</title>
	<atom:link href="http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/</link>
	<description>IT/Webビジネス　テクノロジー</description>
	<lastBuildDate>Sun, 19 Apr 2009 12:11:03 +0900</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>管理人タイチ より</title>
		<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/comment-page-1/#comment-20</link>
		<dc:creator>管理人タイチ</dc:creator>
		<pubDate>Mon, 31 Mar 2008 01:21:01 +0000</pubDate>
		<guid isPermaLink="false">http://taichi.tsukaeru.info/wp/archives/16#comment-20</guid>
		<description>当コメント欄では、スパゲティーコードを誘発するプログラムの話になっていますが、元々まつもと氏のPHP批判はセキュリティー上の問題に関してでした。

これについて、PHP関連の著書で有名な大垣氏が記事をかいています。
http://blog.ohgaki.net/lamp-4

結論から言えば、「言語を替える事はセキュリティ問題の解決策にはなりません。」

古いバージョンのPHPで書かれたコードに脆弱性があると言うが、この点ではPerlやRubyにも同じようなケースは良くあるとの事。つまり言語の問題ではなくバージョンの問題であると。

これで、まつもと氏のPHP批判がどうも具体性に欠ける理由が判りました。だって批判する理由が無いのだから。</description>
		<content:encoded><![CDATA[<p>当コメント欄では、スパゲティーコードを誘発するプログラムの話になっていますが、元々まつもと氏のPHP批判はセキュリティー上の問題に関してでした。</p>
<p>これについて、PHP関連の著書で有名な大垣氏が記事をかいています。<br />
<a href="http://blog.ohgaki.net/lamp-4" rel="nofollow">http://blog.ohgaki.net/lamp-4</a></p>
<p>結論から言えば、「言語を替える事はセキュリティ問題の解決策にはなりません。」</p>
<p>古いバージョンのPHPで書かれたコードに脆弱性があると言うが、この点ではPerlやRubyにも同じようなケースは良くあるとの事。つまり言語の問題ではなくバージョンの問題であると。</p>
<p>これで、まつもと氏のPHP批判がどうも具体性に欠ける理由が判りました。だって批判する理由が無いのだから。</p>
]]></content:encoded>
	</item>
	<item>
		<title>管理人タイチ より</title>
		<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/comment-page-1/#comment-19</link>
		<dc:creator>管理人タイチ</dc:creator>
		<pubDate>Mon, 10 Mar 2008 12:11:12 +0000</pubDate>
		<guid isPermaLink="false">http://taichi.tsukaeru.info/wp/archives/16#comment-19</guid>
		<description>メタボリック症候群ですか、耳が痛いですね（＾＾；体型に出ている、ズボンがきつい、という意味では自覚症状はあるんですけどね。

それはともかく、ポインターの概念はPHPでは普段意識することないですね。ファイルの読み書きで初めて耳にして、最初は「なんのこっちゃ」でした。今でもよく判りませんが、そういえばCではポインタの理解が鬼門だというのは聞いたことがあります。

あと、僕は破綻するほど複雑なプログラムは書いていないんだと思いますね。そういうのって多分学術系のプログラムで問題になるのでは？</description>
		<content:encoded><![CDATA[<p>メタボリック症候群ですか、耳が痛いですね（＾＾；体型に出ている、ズボンがきつい、という意味では自覚症状はあるんですけどね。</p>
<p>それはともかく、ポインターの概念はPHPでは普段意識することないですね。ファイルの読み書きで初めて耳にして、最初は「なんのこっちゃ」でした。今でもよく判りませんが、そういえばCではポインタの理解が鬼門だというのは聞いたことがあります。</p>
<p>あと、僕は破綻するほど複雑なプログラムは書いていないんだと思いますね。そういうのって多分学術系のプログラムで問題になるのでは？</p>
]]></content:encoded>
	</item>
	<item>
		<title>いくずく より</title>
		<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/comment-page-1/#comment-18</link>
		<dc:creator>いくずく</dc:creator>
		<pubDate>Mon, 10 Mar 2008 09:43:44 +0000</pubDate>
		<guid isPermaLink="false">http://taichi.tsukaeru.info/wp/archives/16#comment-18</guid>
		<description>レベルがまちまちは、ある意味センスの差がでているように感じますね。もっとも、背景にはプログラム構築方法論の理解不足があるように思います。知識としてはわかっていても、とりあえず、簡単なプログラムではさほど問題にはならないため、あまり気にしない習慣が身に付くのですね。しかし、ある程度以上の複雑さになると突然破綻してしまうことが多いです。たとえプログラムできてもデバッグに非常に手間がかかるとか。なんか感想としては、メタボリック症候群の自覚症状と治療に似た感覚がありますね。(~_~;)

その他、Cの場合では、ある一定の概念が理解できないって人も結構いますね。特のポインター系が鬼門ですね。ポインターによる多次元配列の概念とか、そこで落ちこぼれる人がかならず何人かいます。</description>
		<content:encoded><![CDATA[<p>レベルがまちまちは、ある意味センスの差がでているように感じますね。もっとも、背景にはプログラム構築方法論の理解不足があるように思います。知識としてはわかっていても、とりあえず、簡単なプログラムではさほど問題にはならないため、あまり気にしない習慣が身に付くのですね。しかし、ある程度以上の複雑さになると突然破綻してしまうことが多いです。たとえプログラムできてもデバッグに非常に手間がかかるとか。なんか感想としては、メタボリック症候群の自覚症状と治療に似た感覚がありますね。(~_~;)</p>
<p>その他、Cの場合では、ある一定の概念が理解できないって人も結構いますね。特のポインター系が鬼門ですね。ポインターによる多次元配列の概念とか、そこで落ちこぼれる人がかならず何人かいます。</p>
]]></content:encoded>
	</item>
	<item>
		<title>管理人タイチ より</title>
		<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/comment-page-1/#comment-17</link>
		<dc:creator>管理人タイチ</dc:creator>
		<pubDate>Sun, 09 Mar 2008 14:43:03 +0000</pubDate>
		<guid isPermaLink="false">http://taichi.tsukaeru.info/wp/archives/16#comment-17</guid>
		<description>そういう話ならその通りだと思いますよ。ちなみに、PHPで中規模以上のシステム開発をしたい場合は、フレームワークに行ってしまうってのが最近の流れのようですね。とりあえず「設定」さえすれば結果を享受できると。CakePHPというFWが親切で判りやすいらしいので、僕も試そうと思っています。

変数宣言については、そういえばPHPには何も制約がないですね。というか、制約とは具体的にどんなものかが良くわからない（＾＾；そういう意味で、制約の強い言語を学んでおいた方が良いって話なんでしょうね。

グローバル変数は、$_SESSION[],$_COOKIE[],$_SERVER[]などが予め定義されていますが、それ以外に自分で定義する必要性を感じた事はないですね。確かにグローバル変数はセキュリティー上も良くないですしね。

学生とかに教えていて、レベルがまちまちって言うのは、こうした知識や経験のほかにセンスの差ってあるんですかね？ちなみに僕は、細かく変数宣言をしながら、代入を繰り返すのがあまりすきじゃないんですよ。「お前どっから来てん」みたいな（＾＾</description>
		<content:encoded><![CDATA[<p>そういう話ならその通りだと思いますよ。ちなみに、PHPで中規模以上のシステム開発をしたい場合は、フレームワークに行ってしまうってのが最近の流れのようですね。とりあえず「設定」さえすれば結果を享受できると。CakePHPというFWが親切で判りやすいらしいので、僕も試そうと思っています。</p>
<p>変数宣言については、そういえばPHPには何も制約がないですね。というか、制約とは具体的にどんなものかが良くわからない（＾＾；そういう意味で、制約の強い言語を学んでおいた方が良いって話なんでしょうね。</p>
<p>グローバル変数は、$_SESSION[],$_COOKIE[],$_SERVER[]などが予め定義されていますが、それ以外に自分で定義する必要性を感じた事はないですね。確かにグローバル変数はセキュリティー上も良くないですしね。</p>
<p>学生とかに教えていて、レベルがまちまちって言うのは、こうした知識や経験のほかにセンスの差ってあるんですかね？ちなみに僕は、細かく変数宣言をしながら、代入を繰り返すのがあまりすきじゃないんですよ。「お前どっから来てん」みたいな（＾＾</p>
]]></content:encoded>
	</item>
	<item>
		<title>いくずく より</title>
		<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/comment-page-1/#comment-16</link>
		<dc:creator>いくずく</dc:creator>
		<pubDate>Sun, 09 Mar 2008 13:06:31 +0000</pubDate>
		<guid isPermaLink="false">http://taichi.tsukaeru.info/wp/archives/16#comment-16</guid>
		<description>ちょっと、書き方舌足らずでしたが、前のコメでも書いたように、僕はPHPの簡単なサーバープログラムにオブジェクト指向を強制するのは懐疑的です。
それを前提に、あくまでも、プログラムの一般論として考えるとある程度共感できるってことです。まつもと氏のはいいすぎだと思います。

僕自身は、簡単なプログラムを書く場合は、ベーシックを好んで使ったりもしますし、TPOに合わせて言語と書き方は選んでもよいとは思います。ただ、教育としてはある程度、オブジェクト指向は学んでおいたほうがよいとは思います。

悪いプログラムを誘発する要因は色々ありますが、もっともよく見られるのは自由度がたかすぎる点でしょうね。PHPは知らないのでbasicとかで例をあげると、変数宣言の自由さ、処理ライン変更の自由さなどですね。
変数宣言の自由さは、まずデバッグが大変になります。
また、オブジェクト指向の秘匿性カプセル化をくずしてしまう場合がありますし、グローバル変数を多用するとかもまずいですね。わかって使い分けてればいいですが。gotoなどで簡単に処理ラインを飛び越せるので構造化プログラムからはなれやすいなどです。
大体、いいといわれる言語ほど文法の制約が強くなっているといったらいいでしょうか。だから、ちょっとしたプログラムをつくるときには、面倒になります。ただ、教育としては、この制約の強いプログラム言語を一度習得しておいたほうがよいと思います。
その思想は、PHPなどの簡易といわれる言語を使う場合でも、間違いなく役にたつとおもいますよ。</description>
		<content:encoded><![CDATA[<p>ちょっと、書き方舌足らずでしたが、前のコメでも書いたように、僕はPHPの簡単なサーバープログラムにオブジェクト指向を強制するのは懐疑的です。<br />
それを前提に、あくまでも、プログラムの一般論として考えるとある程度共感できるってことです。まつもと氏のはいいすぎだと思います。</p>
<p>僕自身は、簡単なプログラムを書く場合は、ベーシックを好んで使ったりもしますし、TPOに合わせて言語と書き方は選んでもよいとは思います。ただ、教育としてはある程度、オブジェクト指向は学んでおいたほうがよいとは思います。</p>
<p>悪いプログラムを誘発する要因は色々ありますが、もっともよく見られるのは自由度がたかすぎる点でしょうね。PHPは知らないのでbasicとかで例をあげると、変数宣言の自由さ、処理ライン変更の自由さなどですね。<br />
変数宣言の自由さは、まずデバッグが大変になります。<br />
また、オブジェクト指向の秘匿性カプセル化をくずしてしまう場合がありますし、グローバル変数を多用するとかもまずいですね。わかって使い分けてればいいですが。gotoなどで簡単に処理ラインを飛び越せるので構造化プログラムからはなれやすいなどです。<br />
大体、いいといわれる言語ほど文法の制約が強くなっているといったらいいでしょうか。だから、ちょっとしたプログラムをつくるときには、面倒になります。ただ、教育としては、この制約の強いプログラム言語を一度習得しておいたほうがよいと思います。<br />
その思想は、PHPなどの簡易といわれる言語を使う場合でも、間違いなく役にたつとおもいますよ。</p>
]]></content:encoded>
	</item>
	<item>
		<title>管理人タイチ より</title>
		<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/comment-page-1/#comment-15</link>
		<dc:creator>管理人タイチ</dc:creator>
		<pubDate>Sun, 09 Mar 2008 06:37:47 +0000</pubDate>
		<guid isPermaLink="false">http://taichi.tsukaeru.info/wp/archives/16#comment-15</guid>
		<description>その、悪いプログラムを誘発しやすい言語、というモノが良くわからないんですよね。
先ず「悪い」というのが、汚いとか読みにくいという意味なのか、関数や変数の定義の仕方が屈折しているという意味なのかが一点。そして、そのような悪い書き方を言語側が許す/許さないというのは、一体どういうことなのか？オブジェクト化してしまえば、どんな言語でも勝手な書き方はできないと思うのですが。

まあ何にせよ、自己流表現が大プロジェクトの妨げになる、という事は理解しているつもりです。ただ、僕が言いたかったのは「PHPを使う人全員がSEを目指している訳でも、将来巨大システムを開発したいと考えている訳でもはない」ということです。例えば、WEBデザイナーが単にメールフォームから実際のメール送信をしたいだけ、というケースはありえます。であれば、汚かろうが何しようがとにかく動けばよい（セキュリティー上問題がない事が前提ですが）。よって、そういう使い方やそれに適したプログラム言語があっても良いのではないかと考えます。

しかし、まつもと氏はそういうのは許されないと「PHPしか使ったことがない初心者がWEBアプリを作って公開するな」と言ってる訳です。それは無いんじゃないか、というのが僕の意見です。</description>
		<content:encoded><![CDATA[<p>その、悪いプログラムを誘発しやすい言語、というモノが良くわからないんですよね。<br />
先ず「悪い」というのが、汚いとか読みにくいという意味なのか、関数や変数の定義の仕方が屈折しているという意味なのかが一点。そして、そのような悪い書き方を言語側が許す/許さないというのは、一体どういうことなのか？オブジェクト化してしまえば、どんな言語でも勝手な書き方はできないと思うのですが。</p>
<p>まあ何にせよ、自己流表現が大プロジェクトの妨げになる、という事は理解しているつもりです。ただ、僕が言いたかったのは「PHPを使う人全員がSEを目指している訳でも、将来巨大システムを開発したいと考えている訳でもはない」ということです。例えば、WEBデザイナーが単にメールフォームから実際のメール送信をしたいだけ、というケースはありえます。であれば、汚かろうが何しようがとにかく動けばよい（セキュリティー上問題がない事が前提ですが）。よって、そういう使い方やそれに適したプログラム言語があっても良いのではないかと考えます。</p>
<p>しかし、まつもと氏はそういうのは許されないと「PHPしか使ったことがない初心者がWEBアプリを作って公開するな」と言ってる訳です。それは無いんじゃないか、というのが僕の意見です。</p>
]]></content:encoded>
	</item>
	<item>
		<title>いくずく より</title>
		<link>http://www.htmlspecial.net/2008/03/04/phpiioeeaieecoeeeiiei/comment-page-1/#comment-14</link>
		<dc:creator>いくずく</dc:creator>
		<pubDate>Sat, 08 Mar 2008 23:16:59 +0000</pubDate>
		<guid isPermaLink="false">http://taichi.tsukaeru.info/wp/archives/16#comment-14</guid>
		<description>「PHPはいかに駄目な言語か」リンク先読んでみました。
PHPは、よく知りませんが、これを読んでいるとbasicや初期フォートランをなんとなく思い出してしまいました。

プログラムの一般論として考えると、言ってることはある程度、共感できますね。

確かに、文法上、悪いプログラムを誘発してしまうプログラム言語というものはあります。Javaなどはその辺をよく考えて作られた言語で、最初にぱっと作れませんが、これで書くと文法上、そう変なプログラムにならないし、しらずしらずの内に構造化、オブジェクト化の考えが身についていくと思います。

エンドプログラマーでは、己の才能と責任で乗り切れるので、少々悪いプログラムになっても、結果として正常に動作するプログラムがかければ問題ないわけですが、ある程度以上の複雑なプログラムまたは、多人数でのプロジェクト開発では少々問題がでてきます。

たとえば、システム上流設計者側として考えると、多人数のプロジェクト開発を管理する場合、エンドプログラマーのスキルが低くても、問題がないようにするのが重要です。このためには上流設計で、切り分けして、機能ごとにカプセル化してしまえば、下流での品質ばらつきの抑制やバグチェックが簡単になります。こういう場合にはやはり下流で下手なことのできない、かっちりした言語のほうがあっています。

もうひとつは教育の問題ですね。僕も今まで、学生や研修生などのプログラムの講義・演習を担当したことがありますが、プログラムスキルのばらつきは個人ごとに大きいなというのが感想です。
よくない人の場合、やはり、プログラムの大枠づくりや関数・変数構造の作り方などに問題がある人が多くて、変なクセがついている場合があります。こうなると、巨大プロジェクトをつくる場合の上流プログラム設計にはあまり向いてなくて、後でかなり苦労している人が大半です。
やはり、最初にある程度のプログラム開発の方法論を把握しておいたほうが後々は困らないかなと思います。</description>
		<content:encoded><![CDATA[<p>「PHPはいかに駄目な言語か」リンク先読んでみました。<br />
PHPは、よく知りませんが、これを読んでいるとbasicや初期フォートランをなんとなく思い出してしまいました。</p>
<p>プログラムの一般論として考えると、言ってることはある程度、共感できますね。</p>
<p>確かに、文法上、悪いプログラムを誘発してしまうプログラム言語というものはあります。Javaなどはその辺をよく考えて作られた言語で、最初にぱっと作れませんが、これで書くと文法上、そう変なプログラムにならないし、しらずしらずの内に構造化、オブジェクト化の考えが身についていくと思います。</p>
<p>エンドプログラマーでは、己の才能と責任で乗り切れるので、少々悪いプログラムになっても、結果として正常に動作するプログラムがかければ問題ないわけですが、ある程度以上の複雑なプログラムまたは、多人数でのプロジェクト開発では少々問題がでてきます。</p>
<p>たとえば、システム上流設計者側として考えると、多人数のプロジェクト開発を管理する場合、エンドプログラマーのスキルが低くても、問題がないようにするのが重要です。このためには上流設計で、切り分けして、機能ごとにカプセル化してしまえば、下流での品質ばらつきの抑制やバグチェックが簡単になります。こういう場合にはやはり下流で下手なことのできない、かっちりした言語のほうがあっています。</p>
<p>もうひとつは教育の問題ですね。僕も今まで、学生や研修生などのプログラムの講義・演習を担当したことがありますが、プログラムスキルのばらつきは個人ごとに大きいなというのが感想です。<br />
よくない人の場合、やはり、プログラムの大枠づくりや関数・変数構造の作り方などに問題がある人が多くて、変なクセがついている場合があります。こうなると、巨大プロジェクトをつくる場合の上流プログラム設計にはあまり向いてなくて、後でかなり苦労している人が大半です。<br />
やはり、最初にある程度のプログラム開発の方法論を把握しておいたほうが後々は困らないかなと思います。</p>
]]></content:encoded>
	</item>
</channel>
</rss>
