元ネタはえムナウさんのこちらから。
オブジェクト指向でグローバルは駆逐された?冗談じゃない。
http://blogs.wankuma.com/mnow/archive/2008/04/07/131953.aspx
先に、半私信。
えムナウさん大丈夫ですってば「別にC#ぢゃなくてもどこの言語にいっても駆逐なんてされずに大手振って歩いてますから」 orz orz orz
切ない話はおいといて、もうちょっと身のある部分をいくつか。
オブジェクト指向以前だってちゃんと管理する人は管理していました。
管理しすぎというくらいに厳しくね。
今の方がよっぽど static なクラスやメソッド シングルトン を管理していないと思う。
これは…多分、Yesだと思う。感覚的な部分も多々あるんだけど。
いわゆるOOPな言語があんまり現場に乗っかっていない頃。まぁぶっちゃけCメインな現場での話ですが。
機構としてのglobalな変数(extern)ってのは、存在しました。
ただ、私が知っているかぎりでは「globalが持つ危険性とかその他」を散々現場で教育されるために。大抵の場合「使うな」で終わってました(使う場合は「危険性と、軽々しく使う事は自らが無知である事を公言するようなもの」という状況を十二分に理解した上でなお、やむを得ず使ってました)。
一方で。
最近のプログラマの傾向を見てると…PHPは、正直globalを使いすぎで論外。Javaは…時々(おおむね現場依存)、シングルトンを乱用していることが…まぁそれなりの頻度で。で、シングルトンが「疑似globalであること」「globalが持つ危険性とか問題性とか」をある程度なり考察しているのかといえば、知っているかぎりでは「考察していないケースが多い」です。
かくして、えムナウさんの「今の方がよっぽど」という発言が腑に落ちてしまうのが多分現状です。
ちゅぎ。
コメントの中さんの発言より。
大丈夫ですよ「classの中にglobalとか書いて違和感感じない人が多々いらっしゃるんですから」orz
ちゅぎ。
コメントのひろえむさんの発言をいくつかかいつまんで。
管理された方はきちんと管理されていたでしょうし、綺麗なプログラムを書いていた人だってたくさんおられると思います。
ただ。一方で、管理が大変であったり、きれいなプログラムを書くために必要なスキルが「より高いレベルで必要」だったりなどなど。
やはり、オブジェクト指向というパラダイム自体は、非常に意味のあるモノだと思います。
うん結局ね。
ちゃんとやってる人はやってるし、出来てない人は出来てない。
昔は「そも知らない」人がやってなくて。今はおそらく「出来てるつもりで出来てない」半可通が増えている。
…どっちが「まし」なんでしょうねぇ?