Perlのオブジェクト指向って無理やり実装だなw
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/09(月) 02:48:24ID:leLDOgm2PHPの方がはるかに自然な形で実装しているわ。
なんだろうね。言語仕様の説明=内部実装の説明になっていて
使うためではなく、言語の勉強のための言語だなぁと思った。
0002nobodyさん
2008/06/09(月) 03:31:30ID:???それはどんな形ですか?
0003nobodyさん
2008/06/09(月) 04:44:48ID:???0004nobodyさん
2008/06/09(月) 06:44:56ID:???0005nobodyさん
2008/06/09(月) 09:24:10ID:???自分でいちいち書かないといけないw
0006nobodyさん
2008/06/09(月) 11:41:42ID:???無理やりやっているのと
同じ感じがするな。
PHPはclass XXX extends YYYY {} なんて
オブジェクト指向言語なら当たり前に使える構文が使える。
わかりやすい。
0007nobodyさん
2008/06/09(月) 12:25:09ID:???Perl使ってないけど
今のPerlはましになってるんだろ?
0008nobodyさん
2008/06/09(月) 12:52:44ID:???まだblessとかいうものを使ってオブジェクトのリファレンスを返せば
ほ〜ら。オブジェクト指向っぽくならね?
って世界だ。
0009nobodyさん
2008/06/09(月) 12:59:44ID:???久々に使ってみたが、やっとPerlがキモイ理由がわかった。
シンボルテーブルとか型グロブとかリファレンスとか、
本来内部仕様であるべき話が表に出てきているからだ。
たとえば、C++なら仮想関数を実装するときVTABLE内の
関数ポインタを・・・・うんぬんかんぬんって説明があって、
それをやる為の関数がこれですから呼び出してね。と
オブジェクト指向の内部データを直接いじらなきゃ
いけない。これがPerlの普及を妨げているんだなぁと思った。
0012nobodyさん
2008/06/09(月) 19:38:22ID:leLDOgm20013nobodyさん
2008/06/09(月) 20:24:51ID:???0014nobodyさん
2008/06/09(月) 20:34:32ID:???その後の話まったく聞かないな
PHPもそれに飲み込まれるとか言い張ってる奴いたけど
今考えたらそんなの普通に存在価値ねーだろwww
0015nobodyさん
2008/06/09(月) 21:41:23ID:???というか、Perlはツール作ったり、WEBアプリ作ったりするのがメインなんで、オブジェクト指向なんてそれほど必要に迫られないし。
0017nobodyさん
2008/06/10(火) 00:59:59ID:???スレタイ的にはあまり関係ねえよな
そんなら俺はJavaScript最強説で泥沼化に参加するぜ
ごめん最強は無理ありすぎた
疑似スレッド処理やろうとしたらsetTimeout地獄に陥るし
構造凝るとコールバック関数の嵐になるし
0018nobodyさん
2008/06/10(火) 01:03:21ID:???0019nobodyさん
2008/06/10(火) 11:20:06ID:???0020nobodyさん
2008/06/10(火) 13:48:36ID:???インデントとか笑わせるなよ。
0021nobodyさん
2008/06/10(火) 14:35:39ID:RGxt/GkfPHP6で改善されるんじゃなかったっけ?
PHP6とPerl6、どっちが先に出るか見ものだw
0022nobodyさん
2008/06/10(火) 15:11:43ID:???0023nobodyさん
2008/06/10(火) 18:03:58ID:???0024nobodyさん
2008/06/10(火) 20:57:15ID:???アキレスは亀に追いつけない。
0025nobodyさん
2008/06/10(火) 21:00:02ID:???5.99の次は5.910だ。
590900
591000
みたいに数字だけ増えていく。
実際、最近のバージョンアップでやってるしw
0026nobodyさん
2008/06/10(火) 21:24:49ID:???Perlのあの程度のオブジェクト指向に苦労するくらいだから
程度が知れるわな。
0027nobodyさん
2008/06/10(火) 21:27:29ID:???インスタンス化するごとにblessさせるのも似たようなもんだ。
無理矢理感って意味では。
ただPHPの変数の扱いがきもすぎるのは同意
0028nobodyさん
2008/06/10(火) 23:35:51ID:???えっ? グローバル変数なんか普通使わないでしょ?
0029nobodyさん
2008/06/10(火) 23:38:09ID:???メリットとデメリットを比較して、有利な方を使うだろ普通。
小規模だったら、OOP使わないよ。
0030nobodyさん
2008/06/11(水) 00:07:10ID:???0031nobodyさん
2008/06/11(水) 00:17:02ID:???0034nobodyさん
2008/06/11(水) 02:39:22ID:???むしろ、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:???0038nobodyさん
2008/06/12(木) 01:55:28ID:???0039nobodyさん
2008/06/12(木) 03:26:01ID:???0040nobodyさん
2008/06/12(木) 21:41:26ID:???0041nobodyさん
2008/06/12(木) 23:57:46ID:???馬鹿なの?
0042nobodyさん
2008/06/13(金) 02:28:20ID:???0043nobodyさん
2008/06/13(金) 02:46:57ID:???正直使い物にならない。
0044nobodyさん
2008/06/13(金) 03:09:53ID:???0045nobodyさん
2008/06/13(金) 08:32:50ID:???0046nobodyさん
2008/06/13(金) 13:46:16ID:???っていうか関数レベルのスコープがあれば
ブロックレベルのスコープは無くても良いなぁ。
おれ、そんなに長い関数書かないしw
0047nobodyさん
2008/06/16(月) 11:40:21ID:???0048nobodyさん
2008/06/17(火) 09:30:30ID:???毎回コンストラクタを自力実装するのが面倒で。
0049nobodyさん
2008/06/17(火) 13:51:05ID:???0050nobodyさん
2008/06/17(火) 22:14:08ID:???0052nobodyさん
2008/06/21(土) 14:14:24ID:???0054nobodyさん
2008/06/22(日) 18:34:19ID:???初心者が書いても、上級者が書いても、同じようなコードにしかならないんだから。
プログラム書いててこれほどつまらない言語はない。
0055nobodyさん
2008/06/22(日) 18:45:36ID:???もしかしたらそれで逆に
保守性の水準を確保してたりしてな
0056nobodyさん
2008/06/22(日) 18:54:53ID:???0057nobodyさん
2008/06/22(日) 20:38:16ID:???$_ みたいな同じ名前の変数ばかり多用する
醜いソースかいたりなw
0058nobodyさん
2008/06/22(日) 21:34:09ID:???0059nobodyさん
2008/06/22(日) 23:33:15ID:???普通に class キーワードを使って
かけるのはすばらしいと思うよ。
class Foo extends Bar {
private $a;
function __construct() {}
function func() {}
}
$foo = new Foo();
$foo->func();
オブジェクト指向を知っている人なら誰だってすぐわかるでしょ?
自然なオブジェクト指向。
0060nobodyさん
2008/06/23(月) 00:03:23ID:???そもそもクラスベースってほんとに良いものなのかとか語られる昨今だしな
ECMAScrips3rdの単純さと汎用性の兼ね合いなんか絶妙だしな
0061nobodyさん
2008/06/23(月) 00:16:33ID:???0062nobodyさん
2008/06/23(月) 00:24:08ID:???boost触っててクラスとかもうどうでもよくね見たいに
脳味噌が腐った豆腐になってる馬鹿の戯れ言です
rubyやpythonその辺の手懐けかた上手いよな
perlにはこの際、我が道突っ切ってもらった方が面白そうな
0063nobodyさん
2008/06/24(火) 08:04:23ID:???0064nobodyさん
2008/06/25(水) 20:05:34ID:eRXwF1Bb・OOPとは……知ってるから!
・言語XXXでOOP……基礎過ぎるから!
・言語XXXでデザインパターン……急に高度過ぎるから!
もっと、初・中級者向けのOOP書き方入門が欲しいですよ。
オブジェクト指向Perlマスターコースだって?
あんなの日本語じゃねーよ(読破したけどさw)
0065nobodyさん
2008/06/25(水) 22:44:06ID:???>・言語XXXでOOP……基礎過ぎるから!
>・言語XXXでデザインパターン……急に高度過ぎるから!
そこは別に飛躍してなくね?
OOPの基礎が判ったら、ちょっと実践パターン見て行きましょうか……
という流れだし
逆にどうしろと。
単に、実感湧かないってことかもしれないな。
Perlじゃないけど、俺はるびま出張版として出版された「正しいRuby
コードの書き方講座」が言語問わず参考になった。
他人の成果物の設計に駄目出ししまくるだけの本wなので、妙に実感あったw
青木に煽られない程度のコードを保ちたいなという、欲求が探究心に繋がった感じ。
ああいう傾向の本、言語問わず他にねえもんかな。
>あんなの日本語じゃねーよ(読破したけどさw)
逆に読みたくなるぜ、その感想w
多分おれはヘン
0066nobodyさん
2008/06/26(木) 00:52:18ID:???たぶん、分かってるとは思うけど、
OOP基礎 → デザパタ本は、急に難しくなりすぎだよ。
OOP基礎本は、本当に基礎の基礎しか書いてないもん。
その方向は間違ってないんだけどさ。
その間を埋める本がないんだよ。
つまり、>>65のいう「正しいRubyコードの書き方講座」や
Periで言えば、宮川氏のML(いつものことながら途中で飽きやがった!)のような。
デザパタってある程度実践詰んでないと、
意味……というかメリット理解できないじゃん。
Ruby触ったこと無いけど、最近本も充実してきたし、手出してみるかな。
0067nobodyさん
2008/06/28(土) 14:14:12ID:SGqDbYHdhttp://web.archive.org/web/20010427071311/www.ruby-lang.org/ja/column/v0004.html
バベル案内
http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
Perlもまた、間もなくなくなる。
Perl, Python, Ruby の比較
http://www.shido.info/py/python1.html
perl/Ruby、これから覚えるべきなのは?
http://q.hatena.ne.jp/1145610898
0068nobodyさん
2008/06/29(日) 01:47:37ID:???クラス名をアンダーバーで繋げるという回避策は悲しすぎる。
唯一悔やまれる点だわ。
0069nobodyさん
2008/06/29(日) 02:20:58ID:???アンダーバーでつなげればいいだけでしょ?
0070nobodyさん
2008/06/29(日) 02:30:45ID:???0071nobodyさん
2008/06/29(日) 02:40:05ID:???えっ?
(ネームスペースがあるほかの言語で)ネームスペースの部分省略してるの?
もし名前がかぶったらどうするの?
0072nobodyさん
2008/06/29(日) 11:24:57ID:???好き勝手にファイル名やクラス名をつけるから、使いまわしが利かない。
0073nobodyさん
2008/06/29(日) 11:41:43ID:???0074nobodyさん
2008/07/01(火) 17:19:40ID:???0075nobodyさん
2008/07/04(金) 23:38:23ID:???0076nobodyさん
2008/07/08(火) 05:19:35ID:TOo0hU7/1.1 Rubyの特徴
1.1.1 オブジェクト指向言語
1.1.2 より良いPerl
http://blog.livedoor.jp/dankogai/archives/51077051.html
0077nobodyさん
2008/07/08(火) 08:36:37ID:???0079nobodyさん
2008/07/11(金) 16:14:23ID:???>ネームスペースがない、パッケージがないのは、PHPにろくなクラスライブラリがない理由の一つだな。
それは探せる頭が無いだけ。
ネイティブインストールしなきゃ使えないPerlモジュールより、よっぽど充実してて汎用も効くクラス多いよ。
0080nobodyさん
2008/07/12(土) 02:14:10ID:???0081nobodyさん
2008/07/12(土) 02:47:00ID:???足りないクラスライブリががあるってことだよな?
その足りないクラスライブラリ、いってみて。
0082nobodyさん
2008/07/12(土) 03:46:28ID:???0083nobodyさん
2008/07/12(土) 11:27:01ID:???0084nobodyさん
2008/07/12(土) 15:03:35ID:???意図的にそうしているのなら問題ない。
0085nobodyさん
2008/07/12(土) 20:15:01ID:???0086nobodyさん
2008/07/12(土) 20:18:18ID:???0088nobodyさん
2008/07/13(日) 06:47:45ID:???0089nobodyさん
2008/07/13(日) 09:48:13ID:aIClzZPChttp://b.hatena.ne.jp/entry/http://tomato.or.tp/programming/memo/class/class.html
0090nobodyさん
2008/07/14(月) 18:01:42ID:???> 小山哲氏って日本のPHP界じゃトップクラスの有名人だと思うけど
だれ?
デイトレーダー? 日本の歴史学者?
ぐぐってもわからないや。
0091nobodyさん
2008/07/14(月) 18:15:31ID:???0092nobodyさん
2008/07/18(金) 11:00:23ID:UyOFQs+N>>334
同意。
PerlのEncodeは終わってる。
言っておくが、自分には使える。
Perl好きだし、Encodeモジュールもわかっているつもり。
ただ、そこまでPerlにはまっていない周りには使えないし、わかってもらえない。
これが致命的。
(よくはまるのは、UTF-8フラグのついた文字列と
バイト列としての UTF-8文字列の違いとかのあたり)
それに、ソースコードを UTF-8 で書くと、システムがローカルエンコーディングの場合
ファイルを開いたりするのさえ面倒。
Unicode がらみのスクリプトを書くたびに、
sub e { Encode::encode('cp932', $_[0]) }
sub d { Encode::decode('cp932', $_[0]) }
sub E { map { Encode::encode('cp932', $_) } @_ }
sub D { map { Encode::decode('cp932', $_) } @_ }
↑こんなのを上に貼って、
open IN, e"日本語.txt";
とか書いたり、デバッグする時に
b 30 ($str eq d"日本語")
とかやったりしてるけど、正直言って超バッドノウハウ。
人が見てもやっぱりわからないし。
0093nobodyさん
2008/07/18(金) 12:29:11ID:???なんでそんなものを作ったのか理解できない。
他の言語にはそんなもの無くてもうまくやっていけてるじゃないか。
0094nobodyさん
2008/07/18(金) 12:34:30ID:???http://pc11.2ch.net/test/read.cgi/tech/1180713251/l50
0095nobodyさん
2008/07/18(金) 22:19:32ID:???0096nobodyさん
2008/07/18(金) 22:29:23ID:???見てのとおり、すごくわかりやすいルールです。
一方Perlの場合・・・複雑すぎて
ここでは説明し切れません ;;
0097nobodyさん
2008/07/18(金) 23:17:48ID:???0098nobodyさん
2008/07/18(金) 23:21:26ID:???ちゃんと作られている場合は。だろ?
0099nobodyさん
2008/07/19(土) 01:30:32ID:???0100nobodyさん
2008/07/19(土) 01:53:35ID:???0101nobodyさん
2008/07/19(土) 18:13:37ID:???問題は、慣れないといけないような仕様だってことだ。
■ このスレッドは過去ログ倉庫に格納されています