トップページ⇒php
268コメント66KB

Perlのオブジェクト指向って無理やり実装だなw

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/06/09(月) 02:48:24ID:leLDOgm2
いまさらだが、後付感たっぷりでワロタ
PHPの方がはるかに自然な形で実装しているわ。

なんだろうね。言語仕様の説明=内部実装の説明になっていて
使うためではなく、言語の勉強のための言語だなぁと思った。
0002nobodyさん2008/06/09(月) 03:31:30ID:???
自然なオブジェクトについて興味があるんですが
それはどんな形ですか?
0003nobodyさん2008/06/09(月) 04:44:48ID:???
そら自然なのはSmalltalkだろjk
0004nobodyさん2008/06/09(月) 06:44:56ID:???
PHPもだろ
0005nobodyさん2008/06/09(月) 09:24:10ID:???
Perlはオブジェクトをnewしたときの処理を
自分でいちいち書かないといけないw
0006nobodyさん2008/06/09(月) 11:41:42ID:???
C言語でオブジェクト指向を
無理やりやっているのと
同じ感じがするな。

PHPはclass XXX extends YYYY {} なんて
オブジェクト指向言語なら当たり前に使える構文が使える。
わかりやすい。
0007nobodyさん2008/06/09(月) 12:25:09ID:???
いつの話してんの?
Perl使ってないけど
今のPerlはましになってるんだろ?
0008nobodyさん2008/06/09(月) 12:52:44ID:???
なってないよw

まだblessとかいうものを使ってオブジェクトのリファレンスを返せば

ほ〜ら。オブジェクト指向っぽくならね?

って世界だ。
0009nobodyさん2008/06/09(月) 12:59:44ID:???
ちょっとPerlで便利なライブラリがあるから、
久々に使ってみたが、やっとPerlがキモイ理由がわかった。

シンボルテーブルとか型グロブとかリファレンスとか、
本来内部仕様であるべき話が表に出てきているからだ。

たとえば、C++なら仮想関数を実装するときVTABLE内の
関数ポインタを・・・・うんぬんかんぬんって説明があって、
それをやる為の関数がこれですから呼び出してね。と
オブジェクト指向の内部データを直接いじらなきゃ
いけない。これがPerlの普及を妨げているんだなぁと思った。
0010nobodyさん2008/06/09(月) 18:08:02ID:???
>>9
perlずっとやってきて心が揺らいでるんだが
泥臭い部分はみんな嫌い?
0011nobodyさん2008/06/09(月) 18:39:24ID:???
>>1
いまさらって書けば許されると思ったか馬鹿初心者。さすがに10年越しの話題は本気で痛いよ。
0012nobodyさん2008/06/09(月) 19:38:22ID:leLDOgm2
Perl6が出れば、そんな批判は過去のものとなる
0013nobodyさん2008/06/09(月) 20:24:51ID:???
Perl6ってオブジェクト指向言語なの?
0014nobodyさん2008/06/09(月) 20:34:32ID:???
一昔前に、どんなLLでも飲み込むPerlみたいなのの話題が出てたけど
その後の話まったく聞かないな
PHPもそれに飲み込まれるとか言い張ってる奴いたけど
今考えたらそんなの普通に存在価値ねーだろwww
0015nobodyさん2008/06/09(月) 21:41:23ID:???
うーん、まあ、そうなんだけど、それでもPerlでオブジェクト指向らしきものは出来る品。
というか、Perlはツール作ったり、WEBアプリ作ったりするのがメインなんで、オブジェクト指向なんてそれほど必要に迫られないし。
0016nobodyさん2008/06/10(火) 00:49:24ID:???
まあ、create_function(文字列) しかないウンコを頬張って喜ぶ>>1にはドン引きさせられるけどなw
0017nobodyさん2008/06/10(火) 00:59:59ID:???
phpの匿名関数には丼引きだけど
スレタイ的にはあまり関係ねえよな
そんなら俺はJavaScript最強説で泥沼化に参加するぜ

ごめん最強は無理ありすぎた
疑似スレッド処理やろうとしたらsetTimeout地獄に陥るし
構造凝るとコールバック関数の嵐になるし
0018nobodyさん2008/06/10(火) 01:03:21ID:???
Ruby最強でFA
0019nobodyさん2008/06/10(火) 11:20:06ID:???
RubyのオブジェクトシステムはSmalltalkばりに古くさいよ。
0020nobodyさん2008/06/10(火) 13:48:36ID:???
GoogleマンセーでPythonに即飛びついたりしなかったお前らが誇らしいよ。
インデントとか笑わせるなよ。
0021nobodyさん2008/06/10(火) 14:35:39ID:RGxt/Gkf
>>16
PHP6で改善されるんじゃなかったっけ?

PHP6とPerl6、どっちが先に出るか見ものだw
0022nobodyさん2008/06/10(火) 15:11:43ID:???
クロージャ使えると何がそんなに便利なの?使えなくても大して不便ではなくね?ドラスティックに変わるの?
0023nobodyさん2008/06/10(火) 18:03:58ID:???
あらゆる高級言語を扱ってきたLL神だが攻守最強はECMAScriptだと悟った
0024nobodyさん2008/06/10(火) 20:57:15ID:???
Periの場合、5.99の次は5.9910とか言うから永遠に6は出ない。
アキレスは亀に追いつけない。
0025nobodyさん2008/06/10(火) 21:00:02ID:???
間違えた。
5.99の次は5.910だ。
590900
591000
みたいに数字だけ増えていく。

実際、最近のバージョンアップでやってるしw
0026nobodyさん2008/06/10(火) 21:24:49ID:???
ネームスペースの無いPHPの方がPerlより断然キモいっつーの。
Perlのあの程度のオブジェクト指向に苦労するくらいだから
程度が知れるわな。
0027nobodyさん2008/06/10(火) 21:27:29ID:???
関数内でglobal書かせるのも
インスタンス化するごとにblessさせるのも似たようなもんだ。
無理矢理感って意味では。

ただPHPの変数の扱いがきもすぎるのは同意
0028nobodyさん2008/06/10(火) 23:35:51ID:???
> 関数内でglobal書かせるのも
えっ? グローバル変数なんか普通使わないでしょ?
0029nobodyさん2008/06/10(火) 23:38:09ID:???
何が何でもOOPって考えやめろよ。
メリットとデメリットを比較して、有利な方を使うだろ普通。
小規模だったら、OOP使わないよ。
0030nobodyさん2008/06/11(水) 00:07:10ID:???
PHPの変数スコープは関数単位もだん。なんつーか、ワープロのマクロ言語並。
0031nobodyさん2008/06/11(水) 00:17:02ID:???
こういうひねくれたスレを立ててPHP叩きをするPerlユーザーってキモイな
0032nobodyさん2008/06/11(水) 00:59:44ID:???
>>31
PHPユーザーの方がキモいから安心しろ。
0033nobodyさん2008/06/11(水) 01:51:10ID:???
>>30
クラスに書いたら、クラス単位だけど?

ねぇ。PHP知っている?
0034nobodyさん2008/06/11(水) 02:39:22ID:???
正直、rubyやpythonがここに上がらないのは当たれ前なんだよね。
むしろ、PerlやPHPの拡張によってOOPを強引にでも実現してきたことを誉めてあげたい。

バカにするけど、PHPなんて、
OOPだけ見れば、結構良く実装できてると思うよ。

Perlは、もうちょっとだけど……。
0035nobodyさん2008/06/11(水) 18:22:48ID:???
普通の言語は変数のスコープはブロック単位なんだよ。
PHP以外の言語をやったことがあればすぐに分かること。
0036nobodyさん2008/06/11(水) 21:22:50ID:???
ねぇ?本当に他の言語やってる?

ブロック単位のスコープがあるかは半々ってところだろ。

まあよめ。
http://blog.livedoor.jp/dankogai/archives/50960425.html

0037nobodyさん2008/06/11(水) 22:00:04ID:???
oopの話題でoopが得意じゃない人のブログ出すとかwww
0038nobodyさん2008/06/12(木) 01:55:28ID:???
おや、スコープの話で不利になったから、オブジェクト指向の話に戻すんですねw
■ このスレッドは過去ログ倉庫に格納されています