1 名前:nobodyさん [2008/06/09(月) 02:48:24 ID:leLDOgm2] いまさらだが、後付感たっぷりでワロタ PHPの方がはるかに自然な形で実装しているわ。 なんだろうね。言語仕様の説明=内部実装の説明になっていて 使うためではなく、言語の勉強のための言語だなぁと思った。
2 名前:nobodyさん mailto:sage [2008/06/09(月) 03:31:30 ID:???] 自然なオブジェクトについて興味があるんですが それはどんな形ですか?
3 名前:nobodyさん mailto:sage [2008/06/09(月) 04:44:48 ID:???] そら自然なのはSmalltalkだろjk
4 名前:nobodyさん mailto:sage [2008/06/09(月) 06:44:56 ID:???] PHPもだろ
5 名前:nobodyさん mailto:sage [2008/06/09(月) 09:24:10 ID:???] Perlはオブジェクトをnewしたときの処理を 自分でいちいち書かないといけないw
6 名前:nobodyさん mailto:sage [2008/06/09(月) 11:41:42 ID:???] C言語でオブジェクト指向を 無理やりやっているのと 同じ感じがするな。 PHPはclass XXX extends YYYY {} なんて オブジェクト指向言語なら当たり前に使える構文が使える。 わかりやすい。
7 名前:nobodyさん mailto:sage [2008/06/09(月) 12:25:09 ID:???] いつの話してんの? Perl使ってないけど 今のPerlはましになってるんだろ?
8 名前:nobodyさん mailto:sage [2008/06/09(月) 12:52:44 ID:???] なってないよw まだblessとかいうものを使ってオブジェクトのリファレンスを返せば ほ〜ら。オブジェクト指向っぽくならね? って世界だ。
9 名前:nobodyさん mailto:sage [2008/06/09(月) 12:59:44 ID:???] ちょっとPerlで便利なライブラリがあるから、 久々に使ってみたが、やっとPerlがキモイ理由がわかった。 シンボルテーブルとか型グロブとかリファレンスとか、 本来内部仕様であるべき話が表に出てきているからだ。 たとえば、C++なら仮想関数を実装するときVTABLE内の 関数ポインタを・・・・うんぬんかんぬんって説明があって、 それをやる為の関数がこれですから呼び出してね。と オブジェクト指向の内部データを直接いじらなきゃ いけない。これがPerlの普及を妨げているんだなぁと思った。
10 名前:nobodyさん mailto:sage [2008/06/09(月) 18:08:02 ID:???] >>9 perlずっとやってきて心が揺らいでるんだが 泥臭い部分はみんな嫌い?
11 名前:nobodyさん mailto:sage [2008/06/09(月) 18:39:24 ID:???] >>1 いまさらって書けば許されると思ったか馬鹿初心者。さすがに10年越しの話題は本気で痛いよ。
12 名前:nobodyさん [2008/06/09(月) 19:38:22 ID:leLDOgm2] Perl6が出れば、そんな批判は過去のものとなる
13 名前:nobodyさん mailto:sage [2008/06/09(月) 20:24:51 ID:???] Perl6ってオブジェクト指向言語なの?
14 名前:nobodyさん mailto:sage [2008/06/09(月) 20:34:32 ID:???] 一昔前に、どんなLLでも飲み込むPerlみたいなのの話題が出てたけど その後の話まったく聞かないな PHPもそれに飲み込まれるとか言い張ってる奴いたけど 今考えたらそんなの普通に存在価値ねーだろwww
15 名前:nobodyさん mailto:sage [2008/06/09(月) 21:41:23 ID:???] うーん、まあ、そうなんだけど、それでもPerlでオブジェクト指向らしきものは出来る品。 というか、Perlはツール作ったり、WEBアプリ作ったりするのがメインなんで、オブジェクト指向なんてそれほど必要に迫られないし。
16 名前:nobodyさん mailto:sage [2008/06/10(火) 00:49:24 ID:???] まあ、create_function(文字列) しかないウンコを頬張って喜ぶ>>1 にはドン引きさせられるけどなw
17 名前:nobodyさん mailto:sage [2008/06/10(火) 00:59:59 ID:???] phpの匿名関数には丼引きだけど スレタイ的にはあまり関係ねえよな そんなら俺はJavaScript最強説で泥沼化に参加するぜ ごめん最強は無理ありすぎた 疑似スレッド処理やろうとしたらsetTimeout地獄に陥るし 構造凝るとコールバック関数の嵐になるし
18 名前:nobodyさん mailto:sage [2008/06/10(火) 01:03:21 ID:???] Ruby最強でFA
19 名前:nobodyさん mailto:sage [2008/06/10(火) 11:20:06 ID:???] RubyのオブジェクトシステムはSmalltalkばりに古くさいよ。
20 名前:nobodyさん mailto:sage [2008/06/10(火) 13:48:36 ID:???] GoogleマンセーでPythonに即飛びついたりしなかったお前らが誇らしいよ。 インデントとか笑わせるなよ。
21 名前:nobodyさん [2008/06/10(火) 14:35:39 ID:RGxt/Gkf] >>16 PHP6で改善されるんじゃなかったっけ? PHP6とPerl6、どっちが先に出るか見ものだw
22 名前:nobodyさん mailto:sage [2008/06/10(火) 15:11:43 ID:???] クロージャ使えると何がそんなに便利なの?使えなくても大して不便ではなくね?ドラスティックに変わるの?
23 名前:nobodyさん mailto:sage [2008/06/10(火) 18:03:58 ID:???] あらゆる高級言語を扱ってきたLL神だが攻守最強はECMAScriptだと悟った
24 名前:nobodyさん mailto:sage [2008/06/10(火) 20:57:15 ID:???] Periの場合、5.99の次は5.9910とか言うから永遠に6は出ない。 アキレスは亀に追いつけない。
25 名前:nobodyさん mailto:sage [2008/06/10(火) 21:00:02 ID:???] 間違えた。 5.99の次は5.910だ。 590900 591000 みたいに数字だけ増えていく。 実際、最近のバージョンアップでやってるしw
26 名前:nobodyさん mailto:sage [2008/06/10(火) 21:24:49 ID:???] ネームスペースの無いPHPの方がPerlより断然キモいっつーの。 Perlのあの程度のオブジェクト指向に苦労するくらいだから 程度が知れるわな。
27 名前:nobodyさん mailto:sage [2008/06/10(火) 21:27:29 ID:???] 関数内でglobal書かせるのも インスタンス化するごとにblessさせるのも似たようなもんだ。 無理矢理感って意味では。 ただPHPの変数の扱いがきもすぎるのは同意
28 名前:nobodyさん mailto:sage [2008/06/10(火) 23:35:51 ID:???] > 関数内でglobal書かせるのも えっ? グローバル変数なんか普通使わないでしょ?
29 名前:nobodyさん mailto:sage [2008/06/10(火) 23:38:09 ID:???] 何が何でもOOPって考えやめろよ。 メリットとデメリットを比較して、有利な方を使うだろ普通。 小規模だったら、OOP使わないよ。
30 名前:nobodyさん mailto:sage [2008/06/11(水) 00:07:10 ID:???] PHPの変数スコープは関数単位もだん。なんつーか、ワープロのマクロ言語並。
31 名前:nobodyさん mailto:sage [2008/06/11(水) 00:17:02 ID:???] こういうひねくれたスレを立ててPHP叩きをするPerlユーザーってキモイな
32 名前:nobodyさん mailto:sage [2008/06/11(水) 00:59:44 ID:???] >>31 PHPユーザーの方がキモいから安心しろ。
33 名前:nobodyさん mailto:sage [2008/06/11(水) 01:51:10 ID:???] >>30 クラスに書いたら、クラス単位だけど? ねぇ。PHP知っている?
34 名前:nobodyさん mailto:sage [2008/06/11(水) 02:39:22 ID:???] 正直、rubyやpythonがここに上がらないのは当たれ前なんだよね。 むしろ、PerlやPHPの拡張によってOOPを強引にでも実現してきたことを誉めてあげたい。 バカにするけど、PHPなんて、 OOPだけ見れば、結構良く実装できてると思うよ。 Perlは、もうちょっとだけど……。
35 名前:nobodyさん mailto:sage [2008/06/11(水) 18:22:48 ID:???] 普通の言語は変数のスコープはブロック単位なんだよ。 PHP以外の言語をやったことがあればすぐに分かること。
36 名前:nobodyさん mailto:sage [2008/06/11(水) 21:22:50 ID:???] ねぇ?本当に他の言語やってる? ブロック単位のスコープがあるかは半々ってところだろ。 まあよめ。 blog.livedoor.jp/dankogai/archives/50960425.html
37 名前:nobodyさん mailto:sage [2008/06/11(水) 22:00:04 ID:???] oopの話題でoopが得意じゃない人のブログ出すとかwww
38 名前:nobodyさん mailto:sage [2008/06/12(木) 01:55:28 ID:???] おや、スコープの話で不利になったから、オブジェクト指向の話に戻すんですねw
39 名前:nobodyさん mailto:sage [2008/06/12(木) 03:26:01 ID:???] ハッスルしてるphp厨は全スルーが常識
40 名前:nobodyさん mailto:sage [2008/06/12(木) 21:41:26 ID:???] ↑スルーできない場合の典型的な言い訳
41 名前:nobodyさん mailto:sage [2008/06/12(木) 23:57:46 ID:???] いやスルーするしないの前の話 馬鹿なの?
42 名前:nobodyさん mailto:sage [2008/06/13(金) 02:28:20 ID:???] Rubyはブロック内でレキシカルスコープを作る。
43 名前:nobodyさん mailto:sage [2008/06/13(金) 02:46:57 ID:???] PHPは5でもネームスペースが無いから 正直使い物にならない。
44 名前:nobodyさん mailto:sage [2008/06/13(金) 03:09:53 ID:???] 同様の理由で、C言語も使いものにならない
45 名前:nobodyさん mailto:sage [2008/06/13(金) 08:32:50 ID:???] C/C++,Java,VB,C#もブロック内でレキシカル変数を作れる罠。
46 名前:nobodyさん mailto:sage [2008/06/13(金) 13:46:16 ID:???] JavaScriptは? っていうか関数レベルのスコープがあれば ブロックレベルのスコープは無くても良いなぁ。 おれ、そんなに長い関数書かないしw
47 名前:nobodyさん mailto:sage [2008/06/16(月) 11:40:21 ID:???] Perlって
48 名前:nobodyさん mailto:sage [2008/06/17(火) 09:30:30 ID:???] Perlでクラスを使ってみたいが、 毎回コンストラクタを自力実装するのが面倒で。
49 名前:nobodyさん mailto:sage [2008/06/17(火) 13:51:05 ID:???] そこでMooseですよ
50 名前:nobodyさん mailto:sage [2008/06/17(火) 22:14:08 ID:???] コンストラク作るのは面倒じゃないだろ。その仕組みを理解するのは面倒というか大変だが。
51 名前:nobodyさん mailto:sage [2008/06/21(土) 13:06:50 ID:???] >>1 比較相手にPHPを持ち出し、しかもPHPの方がマシって…wwwww PHPは糞中の糞
52 名前:nobodyさん mailto:sage [2008/06/21(土) 14:14:24 ID:???] perlよりは上等だよ
53 名前:nobodyさん mailto:sage [2008/06/22(日) 18:07:57 ID:???] >>51 サーバサイドスクリプトとして比較するならPHPの方が上に決まってんじゃん
54 名前:nobodyさん mailto:sage [2008/06/22(日) 18:34:19 ID:???] まあ、PHP以外の、PerlとかRubyとか知ってる人にとっては、PHPの低機能はつらいものがあるよ。 初心者が書いても、上級者が書いても、同じようなコードにしかならないんだから。 プログラム書いててこれほどつまらない言語はない。
55 名前:nobodyさん mailto:sage [2008/06/22(日) 18:45:36 ID:???] ふむ、同意だけど もしかしたらそれで逆に 保守性の水準を確保してたりしてな
56 名前:nobodyさん mailto:sage [2008/06/22(日) 18:54:53 ID:???] 同じ様なコードにしかならないことが低機能?イミフ
57 名前:nobodyさん mailto:sage [2008/06/22(日) 20:38:16 ID:???] コードを書くことが目的なんでしょw $_ みたいな同じ名前の変数ばかり多用する 醜いソースかいたりなw
58 名前:nobodyさん mailto:sage [2008/06/22(日) 21:34:09 ID:???] Javaのように厳密に書くことも出来なければ、PerlやRubyのように記述性が高いというわけでもない。簡単だから覚えるのは速いのが唯一の長所。それがPHP。
59 名前:nobodyさん mailto:sage [2008/06/22(日) 23:33:15 ID:???] でもまあ、クラスの定義を 普通に class キーワードを使って かけるのはすばらしいと思うよ。 class Foo extends Bar { private $a; function __construct() {} function func() {} } $foo = new Foo(); $foo->func(); オブジェクト指向を知っている人なら誰だってすぐわかるでしょ? 自然なオブジェクト指向。
60 名前:nobodyさん mailto:sage [2008/06/23(月) 00:03:23 ID:???] クラスベースOOPの書法が大好きなのは判わんでもないけどさ そもそもクラスベースってほんとに良いものなのかとか語られる昨今だしな ECMAScrips3rdの単純さと汎用性の兼ね合いなんか絶妙だしな
61 名前:nobodyさん mailto:sage [2008/06/23(月) 00:16:33 ID:???] 世の中の主流はクラスベースOOP
62 名前:nobodyさん mailto:sage [2008/06/23(月) 00:24:08 ID:???] うん判るのよそれは boost触っててクラスとかもうどうでもよくね見たいに 脳味噌が腐った豆腐になってる馬鹿の戯れ言です rubyやpythonその辺の手懐けかた上手いよな perlにはこの際、我が道突っ切ってもらった方が面白そうな
63 名前:nobodyさん mailto:sage [2008/06/24(火) 08:04:23 ID:???] 文法は一番PHPがわかりやすいというか、自然だわな。CやJavaやPerlなんかを知ってれば、特別学習しないでもだいたい予測つく。
64 名前:nobodyさん [2008/06/25(水) 20:05:34 ID:eRXwF1Bb] つか、OOPの書き方そのものの参考文献が少なすぎるんだよ。 ・OOPとは……知ってるから! ・言語XXXでOOP……基礎過ぎるから! ・言語XXXでデザインパターン……急に高度過ぎるから! もっと、初・中級者向けのOOP書き方入門が欲しいですよ。 オブジェクト指向Perlマスターコースだって? あんなの日本語じゃねーよ(読破したけどさw)
65 名前:nobodyさん mailto:sage [2008/06/25(水) 22:44:06 ID:???] >>64 >・言語XXXでOOP……基礎過ぎるから! >・言語XXXでデザインパターン……急に高度過ぎるから! そこは別に飛躍してなくね? OOPの基礎が判ったら、ちょっと実践パターン見て行きましょうか…… という流れだし 逆にどうしろと。 単に、実感湧かないってことかもしれないな。 Perlじゃないけど、俺はるびま出張版として出版された「正しいRuby コードの書き方講座」が言語問わず参考になった。 他人の成果物の設計に駄目出ししまくるだけの本wなので、妙に実感あったw 青木に煽られない程度のコードを保ちたいなという、欲求が探究心に繋がった感じ。 ああいう傾向の本、言語問わず他にねえもんかな。 >あんなの日本語じゃねーよ(読破したけどさw) 逆に読みたくなるぜ、その感想w 多分おれはヘン
66 名前:nobodyさん mailto:sage [2008/06/26(木) 00:52:18 ID:???] >>65 たぶん、分かってるとは思うけど、 OOP基礎 → デザパタ本は、急に難しくなりすぎだよ。 OOP基礎本は、本当に基礎の基礎しか書いてないもん。 その方向は間違ってないんだけどさ。 その間を埋める本がないんだよ。 つまり、>>65 のいう「正しいRubyコードの書き方講座」や Periで言えば、宮川氏のML(いつものことながら途中で飽きやがった!)のような。 デザパタってある程度実践詰んでないと、 意味……というかメリット理解できないじゃん。 Ruby触ったこと無いけど、最近本も充実してきたし、手出してみるかな。
67 名前:nobodyさん [2008/06/28(土) 14:14:12 ID:SGqDbYHd] 私はこれで Perl から乗り換えました。 web.archive.org/web/20010427071311/www.ruby-lang.org/ja/column/v0004.html バベル案内 www.aoky.net/articles/steve_yegge/tour_de_babel.htm Perlもまた、間もなくなくなる。 Perl, Python, Ruby の比較 www.shido.info/py/python1.html perl/Ruby、これから覚えるべきなのは? q.hatena.ne.jp/1145610898
68 名前:nobodyさん mailto:sage [2008/06/29(日) 01:47:37 ID:???] しかし何でPHP5は寸前のところでnamespaceをなくしてしまったのか。 クラス名をアンダーバーで繋げるという回避策は悲しすぎる。 唯一悔やまれる点だわ。
69 名前:nobodyさん mailto:sage [2008/06/29(日) 02:20:58 ID:???] そんなにネームスペースって必要かなぁ? アンダーバーでつなげればいいだけでしょ?
70 名前:nobodyさん mailto:sage [2008/06/29(日) 02:30:45 ID:???] それがまんどくせえんだよ
71 名前:nobodyさん mailto:sage [2008/06/29(日) 02:40:05 ID:???] >>70 えっ? (ネームスペースがあるほかの言語で)ネームスペースの部分省略してるの? もし名前がかぶったらどうするの?
72 名前:nobodyさん mailto:sage [2008/06/29(日) 11:24:57 ID:???] ネームスペースがない、パッケージがないのは、PHPにろくなクラスライブラリがない理由の一つだな。 好き勝手にファイル名やクラス名をつけるから、使いまわしが利かない。
73 名前:nobodyさん mailto:sage [2008/06/29(日) 11:41:43 ID:???] すごいこじ付けを見たw
74 名前:nobodyさん mailto:sage [2008/07/01(火) 17:19:40 ID:???] ネームスペースがかぶったらどうすんの?
75 名前:nobodyさん mailto:sage [2008/07/04(金) 23:38:23 ID:???] PHP5.3からnamespage復活するのってホント?
76 名前:nobodyさん [2008/07/08(火) 05:19:35 ID:TOo0hU7/] 目次 - oreilly.co.jp -- Online Catalog: 初めてのRubyより 1章 ようこそ、Rubyのある生活へ 1.1 Rubyの特徴 1.1.1 オブジェクト指向言語 1.1.2 より良いPerl blog.livedoor.jp/dankogai/archives/51077051.html
77 名前:nobodyさん mailto:sage [2008/07/08(火) 08:36:37 ID:???] ポチろうと思ってて忘れてたわ
78 名前:nobodyさん mailto:sage [2008/07/09(水) 00:13:50 ID:???] >>24 ペリw
79 名前:nobodyさん mailto:sage [2008/07/11(金) 16:14:23 ID:???] >>72 >ネームスペースがない、パッケージがないのは、PHPにろくなクラスライブラリがない理由の一つだな。 それは探せる頭が無いだけ。 ネイティブインストールしなきゃ使えないPerlモジュールより、よっぽど充実してて汎用も効くクラス多いよ。
80 名前:nobodyさん mailto:sage [2008/07/12(土) 02:14:10 ID:???] PHPにまともなクラスライブラリなんてないよ。あるのは膨大な組み込み関数とあまたあるフレームワーク付属のヘルパークラスだけ。
81 名前:nobodyさん mailto:sage [2008/07/12(土) 02:47:00 ID:???] まともなクラスライブラリが無い。ってことは 足りないクラスライブリががあるってことだよな? その足りないクラスライブラリ、いってみて。
82 名前:nobodyさん mailto:sage [2008/07/12(土) 03:46:28 ID:???] 少なくともPearにあるライブラリのPHP5・E_STRICT対応版
83 名前:nobodyさん mailto:sage [2008/07/12(土) 11:27:01 ID:???] notice出ちゃなんでだめなの?
84 名前:nobodyさん mailto:sage [2008/07/12(土) 15:03:35 ID:???] もしかしてここ間違ってないですか?っていう程度。 意図的にそうしているのなら問題ない。
85 名前:nobodyさん mailto:sage [2008/07/12(土) 20:15:01 ID:???] 本来ZendフレームワークがPearを引き継ぐはずだったけど、そうはなりませんでした。
86 名前:nobodyさん mailto:sage [2008/07/12(土) 20:18:18 ID:???] 2-3号前のWEB+DBプレスの座談会に書いてあったけど、普通そこそこPHPやってると飽きる。他の言語に行く。だから、ユーザコミュニティのレベルが一向に上がらない。
87 名前:nobodyさん mailto:sage [2008/07/12(土) 22:00:02 ID:???] >>86 それは飲み屋での雑談よりも信頼すべき話なのか?
88 名前:nobodyさん mailto:sage [2008/07/13(日) 06:47:45 ID:???] 小山哲氏って日本のPHP界じゃトップクラスの有名人だと思うけど、PHPのダメさをあれだけ自覚して語ってるのにはちょっと好印象を持った。仕事として割り切ってるんだろうな。
89 名前:nobodyさん [2008/07/13(日) 09:48:13 ID:aIClzZPC] Ruby 及び Perl におけるクラスの生成について。 b.hatena.ne.jp/entry/http://tomato.or.tp/programming/memo/class/class.html
90 名前:nobodyさん mailto:sage [2008/07/14(月) 18:01:42 ID:???] >>88 > 小山哲氏って日本のPHP界じゃトップクラスの有名人だと思うけど だれ? デイトレーダー? 日本の歴史学者? ぐぐってもわからないや。
91 名前:nobodyさん mailto:sage [2008/07/14(月) 18:15:31 ID:???] 日本のPHP界っていうほどのコミュニティがあるの?
92 名前:nobodyさん [2008/07/18(金) 11:00:23 ID:UyOFQs+N] 344 :デフォルトの名無しさん:2008/07/18(金) 00:56:41 >>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"日本語") とかやったりしてるけど、正直言って超バッドノウハウ。 人が見てもやっぱりわからないし。
93 名前:nobodyさん mailto:sage [2008/07/18(金) 12:29:11 ID:???] UTF-8フラグの存在がUnicodeの扱いをかなり複雑にしているよな。 なんでそんなものを作ったのか理解できない。 他の言語にはそんなもの無くてもうまくやっていけてるじゃないか。
94 名前:nobodyさん mailto:sage [2008/07/18(金) 12:34:30 ID:???] >>92 の元書き込み pc11.2ch.net/test/read.cgi/tech/1180713251/l50
95 名前:nobodyさん mailto:sage [2008/07/18(金) 22:19:32 ID:???] PHPだと全部mb_に差し替えないと行けない。
96 名前:nobodyさん mailto:sage [2008/07/18(金) 22:29:23 ID:???] > PHPだと全部mb_に差し替えないと行けない。 見てのとおり、すごくわかりやすいルールです。 一方Perlの場合・・・複雑すぎて ここでは説明し切れません ;;
97 名前:nobodyさん mailto:sage [2008/07/18(金) 23:17:48 ID:???] 複雑者ねー世。外人が作ったライブラリでも日本人が作ったライブラリでも透過的に扱える。
98 名前:nobodyさん mailto:sage [2008/07/18(金) 23:21:26 ID:???] ただし、外人が作ったライブラリがUTF-8(UTF8フラグ)を考慮して ちゃんと作られている場合は。だろ?
99 名前:nobodyさん mailto:sage [2008/07/19(土) 01:30:32 ID:???] 最近でたオブジェクト指向Perlの本ってアルパカ本と比べてどうなの?
100 名前:nobodyさん mailto:sage [2008/07/19(土) 01:53:35 ID:???] Encodeは始め面倒だな〜と思ってJcodeに逃げてたけど使い慣れてくるとしっくりとくる。