X



PHP>Java>>>超えられない壁>>>ASP>Perl
0002nobodyさん
垢版 |
2007/05/02(水) 17:29:31ID:???
またPHP厨が立てたスレか
0003nobodyさん
垢版 |
2007/05/02(水) 19:59:52ID:???
rubyとphysonもいれれ。半端。
0004nobodyさん
垢版 |
2007/05/02(水) 20:21:29ID:???
PHPってそんなに便利か?
0005nobodyさん
垢版 |
2007/05/02(水) 20:56:39ID:???
この手のスレ定期的に立つな
0006nobodyさん
垢版 |
2007/05/02(水) 22:02:11ID:???
もうこの手のスレ自体が古い
0007nobodyさん
垢版 |
2007/05/04(金) 06:42:36ID:???
実際はPerlを誰でも分るように劣化させたのがPHPだけどな
0008nobodyさん
垢版 |
2007/05/04(金) 07:13:38ID:???
PHPはJavaのオブジェクト指向を劣化させてとりこんでるしな。
0010nobodyさん
垢版 |
2007/05/04(金) 14:29:19ID:???
>>9
無駄なコードいう大弊害出てるよ
0011nobodyさん
垢版 |
2007/05/04(金) 14:43:08ID:???
PHPのほうが遥かに少ないコードで構築できると思うが。
例えばどんなの?
0012nobodyさん
垢版 |
2007/05/05(土) 00:44:05ID:???
PHPのどこが短いコードなんだよ
頭大丈夫か
0013nobodyさん
垢版 |
2007/05/05(土) 01:01:09ID:???
んじゃjavaのほうが短く実現できるコードを挙げてみろよ
0014nobodyさん
垢版 |
2007/05/05(土) 18:38:54ID:???
http://www.thinkit.co.jp/free/compare/2/5/1.html

例えば、ここにあるようにまともなオブジェクト指向を使ったPHPのコードの
長さはたいしてJavaと変わらない。しかもJAVAのIDEには補完機能が
充実しているし、Javaの場合コードにミスしてもバッググラウンドでコンパイルして
すぐにミスを指摘してくれる。動作させてから間違いに気づいてデバッグする
時間を考えたら、PHPはJAVAにすら劣る。
0015nobodyさん
垢版 |
2007/05/05(土) 18:59:02ID:???
ちなみにRubyでSingleton作ると
こんな感じになる。うん、さすがスクリプト言語、すっきりしてて気持ちいい。
PHPとは大違い
class Single

private_class_method :new
@@singleObject = nil

def Single.create
if @@singleObject == nil
@@singleObject = new
puts "インスタンスを生成しました。"
end
@@singleObject
end

end

# --- Main --- #

puts "Start."
obj1 = Single.create
obj2 = Single.create
if (obj1 == obj2)
puts "obj1とobj2は同じインスタンスです。"
else
puts "obj1とobj2は同じインスタンスではありません。"
end
puts "End."
0016nobodyさん
垢版 |
2007/05/08(火) 08:29:32ID:???
class Single; public_class_method :new end
obj3 = Single.new
raise "大変だ!obj3はobj1とは違うよ!" if obj1 != obj3

さすがですねwww
0017nobodyさん
垢版 |
2007/05/08(火) 10:45:35ID:???
当たり前じゃん、Singletonは普通コンストラクタ使えないようにするんじゃね
0018nobodyさん
垢版 |
2007/05/08(火) 22:34:19ID:???
rubyだと、コンストラクタを直に呼び出すのを完全に禁止する手段がないということだよ。

ちなみにphpでシングルトンやる場合にしても、javaの真似してコンストラクタをprivateとかprotectedにする方法よりも、コンストラクタの中で2度目以降のインスタンス化に対して例外を投げる方法をとる方が良い面もある。
0019nobodyさん
垢版 |
2007/05/08(火) 22:35:55ID:???
rubyだと、コンストラクタを直に呼び出すのを完全に禁止する手段がないということだよ。

ちなみにphpでシングルトンやる場合にしても、javaの真似してコンストラクタをprivateとかprotectedにする方法よりも、コンストラクタの中で2度目以降のインスタンス化に対して例外を投げる方法をとる方が良い面もある。
0020nobodyさん
垢版 |
2007/05/09(水) 08:29:31ID:???
Rubyでもprivate指定にできるよ。
厳密にやろうと思えば
0021nobodyさん
垢版 |
2007/05/09(水) 09:15:35ID:???
>>20
どうやってやるの?
それは>>16のような再定義で破られない方法なの?
0022nobodyさん
垢版 |
2007/05/09(水) 20:07:15ID:???
ていうか上のコードでもやってるじゃん
private_class_method :newで
このクラスが持つnewクラスメソッドはクラスの外から呼べないよ
0023nobodyさん
垢版 |
2007/05/09(水) 20:13:28ID:???
>>16>>15の続きなのだよ。

class Single
 private_class_method :new
  :
 うんたらかんたら
end

Single.new # たしかにエラーだわな

class Single # 再び
 public_class_method :new
end

Single.new # エラーじゃなくなるわな
0024nobodyさん
垢版 |
2007/05/09(水) 21:04:11ID:???
同じ名前空間に同じクラス名定義できないでしょ
0025nobodyさん
垢版 |
2007/05/09(水) 21:22:11ID:???
と思ったけど試してみたらエラーにならないな
まあ自前で実装するよりもRubyのライブラリにあるの使ったほうが確実かも
0026nobodyさん
垢版 |
2007/05/09(水) 21:27:12ID:???
ところが添付ライブラリのsingletonも・・・

require 'singleton'
class Single
 include Singleton
 public_class_method :new
end

Single.new # アカンやん
0027nobodyさん
垢版 |
2007/05/12(土) 10:00:18ID:???
PHP6あたりでRuby風のArray.eachやArray.collectメソッドを
追加してくるなんて事も、PHPならやりかねないからな。
0028nobodyさん
垢版 |
2007/05/18(金) 17:24:13ID:???
PHPってクロージャーあったっけ?
0029nobodyさん
垢版 |
2007/05/29(火) 00:21:57ID:???
ない。そもそもスコープがないから。
0030nobodyさん
垢版 |
2008/04/01(火) 03:54:42ID:cqxpfwXE
>>29
     オハヨー!!
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
 ___/(___
/  (___/
 ̄ ̄ ̄ ̄ ̄ ̄
0031nobodyさん
垢版 |
2008/04/21(月) 22:40:49ID:jWwJFAzb
PHPはセキュリティホール多すぎ
いい加減、安全なバージョンつくれよ
0033nobodyさん
垢版 |
2008/07/24(木) 03:10:15ID:/gmJGZjW
PHP経験しかない人がスタンドアローンなプログラミングをやるとしたらC#ですか?
0036nobodyさん
垢版 |
2008/10/14(火) 13:33:02ID:dEn5l7jZ
>>33
VB or Delphi or IronPython

それはそうと、俺はASP.NET >> Perl >> PHP >> Javaだな。
0038nobodyさん
垢版 |
2008/11/22(土) 20:53:54ID:P3cvCpOq
javaで作ってると
phpでも出来るよって言ってくるphp厨うぜええええええええええええ
レスを投稿する


ニューススポーツなんでも実況