【Perl,PHP】LLバトルロワイヤル【Ruby,Python】at TECH
【Perl,PHP】LLバトルロワイヤル【Ruby,Python】 - 暇つぶし2ch528:デフォルトの名無しさん
08/02/06 14:08:06
>>525
URLリンク(mail.python.org)


529:デフォルトの名無しさん
08/02/06 14:25:04
>>526
ありがと。テキスト処理するのにawk使ってたんだがLL言語のほうが汎用性があるっていわれたから新しく勉強しようと思ったんだ。

530:デフォルトの名無しさん
08/02/06 16:10:34
voidさんは格が違うだろ、もちろん悪い意味で

531:デフォルトの名無しさん
08/02/06 17:38:53
awkで済むならawkのほうがよかろ
でperl

532:デフォルトの名無しさん
08/02/06 17:54:24
>>530
voidが暴れまわってたころを思い出して笑ったww

533:デフォルトの名無しさん
08/02/06 18:57:02
結局レスって何だったんだ?

534:デフォルトの名無しさん
08/02/06 20:00:31
また懐かしいネタを

535:デフォルトの名無しさん
08/02/06 23:45:16
とにかくATOKが悪いんじゃないかな?

536:デフォルトの名無しさん
08/02/07 03:24:46
>>532
今でも各地で暴れまわってるよ。mixiのC言語コミュとか
Matzなんかかわいらしく思える

537:デフォルトの名無しさん
08/02/07 17:55:43
Beyondが何かのはずみでvoid訴えたりしないかなw

538:デフォルトの名無しさん
08/02/07 18:55:40
>>536
まじかw
C言語コミュとやら、入ってみるかな。

539:デフォルトの名無しさん
08/02/07 19:10:06
>>536
ちょっと調べてみたらお料理コミュでは強制的に追い出されたみたいだな
あまりに苦情が多くてmixiでは異例の対応だとか

540:デフォルトの名無しさん
08/02/07 19:12:20
python始めてみてるんだけどメソッド名は全部小文字にするのがデフォなの?

541:デフォルトの名無しさん
08/02/07 19:24:29
>>540
URLリンク(www.oldriver.org)

542:デフォルトの名無しさん
08/02/07 19:41:35
規則バラバラでいいのか

543:デフォルトの名無しさん
08/02/07 20:08:24
>>539
というかmixiというコミュニティには水と油どころか反物質的に合わない人物だと思うんだが
まあいいか

544:デフォルトの名無しさん
08/02/07 21:58:40
ということにしたいのですね。

545:デフォルトの名無しさん
08/02/07 22:56:48
voidという名前なのに何にも合わない

546:デフォルトの名無しさん
08/02/07 22:57:14
そうなんです
実際は全然よくないけど、いいことにしたいんです

547:デフォルトの名無しさん
08/02/08 21:14:35
PHPのだめなとこは、RubyでないのにRubyよりシェアがあること。

548:デフォルトの名無しさん
08/02/09 00:00:22
PHP 高卒
Perl 変態
Ruby 宗教
私のイメージではこんな感じ。Pythonはわかんね

549:デフォルトの名無しさん
08/02/09 00:05:36
Python = 頭の固い人

550:デフォルトの名無しさん
08/02/09 00:23:28
Haskell 白衣 OCaml 暇人 Lisp つまらない人
C++ デブ C ガリ Java メガネ JavaScript ギャル男 
Perl 根暗 Ruby 陰湿 Python 電波 PHP 白痴 IO ひ弱
Groovy ナルシスト C# 現実主義者 COBOL 老害 VB 中肉中背

551:デフォルトの名無しさん
08/02/09 01:00:19
python、メソッドごとにself書かなきゃいけないのがむかつく

552:デフォルトの名無しさん
08/02/09 01:25:55
>>551
たぶん、100万回繰り返されてると思うんだけど、リアルで質問されたとき用に
誰か3行で頼む

553:デフォルトの名無しさん
08/02/09 01:50:37




554:デフォルトの名無しさん
08/02/09 02:19:49
>>552
Pytho

クソ

555:デフォルトの名無しさん
08/02/09 02:34:19
Javaだったら全てのメソッドの第1引数にthisって書かなきゃいけないぐらい

556:デフォルトの名無しさん
08/02/09 07:41:27
>>552
Pythonには
単独のメソッド内
というスコープが無い。

557:デフォルトの名無しさん
08/02/09 07:49:33
自分のツール書くのに、self と書く必要はない、
s でも、i でも、 _ でも好きな記号使えばいい、
人に見せるコード書くようになったら self って書けばよい

558:デフォルトの名無しさん
08/02/09 08:11:18
>>556

なるほど、クラスのメソッドって言っても、C言語の関数レベルなんだ・・・

>>557
それは、1通りの書き方を推奨するPythonらしくなくねえ?
Pythonの美学的には、selfは予約語にしとくべきだな

559:デフォルトの名無しさん
08/02/09 08:31:20
i++ 議論まとめ

・Ruby
Ruby 初心者スレッド Part 17
スレリンク(tech板:659-695番)

・SmallTalk
アラン・ケイも認めた!Ruby>>>>>Smalltalk
スレリンク(tech板:169-171番)

・Io-language
Io Language
スレリンク(tech板:19-36番)

560:デフォルトの名無しさん
08/02/09 08:32:20
で、まとめといて質問なのですが、他の言語ではどのようになっておりますでしょうか?

PerlやPHPは プリミティブな型だろうからどうでもいいとして、
Pythonでの++的な実装は可能でしょうか?

561:デフォルトの名無しさん
08/02/09 09:42:05
>>558
それはPythonじゃなくてRuby

562:デフォルトの名無しさん
08/02/09 15:49:36
Rubyダサい(wwww

>315 名前: デフォルトの名無しさん Mail: sage 投稿日: 08/02/09(土) 13:29:31
>
>>なんかフラットな構造の関数に慣れてるだけじゃないの?
>Pythonによく似ていて関数内関数のない言語。それはRu(ry
>
>316 名前: デフォルトの名無しさん Mail: sage 投稿日: 08/02/09(土) 14:41:35
>
>えっ,Rubyって関数ローカルな関数作れないの?
>
>
>317 名前: デフォルトの名無しさん Mail: sage 投稿日: 08/02/09(土) 14:59:12
>
>関数内部に関数を定義することはできるが、関数外部に定義したのと同じ効果
>しかないので無意味。
>
>
>318 名前: デフォルトの名無しさん Mail: sage 投稿日: 08/02/09(土) 15:47:47
>
>マジか?名前かぶったらどうなるんだ?


563:デフォルトの名無しさん
08/02/09 16:09:56
Rubyに関数なんてないぞ?

は置いといて、メソッドは必ず何かのオブジェクトの持ち物だから、「メソッドの中でだけメソッドを定義し利用する」ことはできない。

Class Hoge
def foo
def bar
end
end
end

hoge=Hoge.new
hoge.bar # <= 未定義エラー
hoge.foo
hoge.bar # <= OK

で、いわゆるメソッド内スコープでサブルーチンみたいなことさせたい場合は
RubyではProcという手続きオブジェクトを作成して呼び出すのが普通

def foo
str = 'Python'
bar = Proc.new{ puts "#{str}はうんこ" }
bar.call
end

foo # <= "Pythonはうんこ"と表示
bar # <= 未定義エラー

564:デフォルトの名無しさん
08/02/09 16:28:13
>>563
>Rubyに関数なんてないぞ?

Rubyって関数も定義できないの?
RubyやめてPHP使うことにした。

565:デフォルトの名無しさん
08/02/09 16:54:13
そうしろそうしろ

お荷物はイラネ

566:デフォルトの名無しさん
08/02/09 16:56:24
Perlは関数だっけか

567:デフォルトの名無しさん
08/02/09 18:11:12
Ruby使ってるけど、関数内関数使えないのは本当にウンコだよ・・・
他の言語でつかってからすんごい面倒
たまに、C言語にもどった気分になる

しかも、トップレベルで関数内関数するとKernelのpublicメソッドに追加されるのですごいことになる。

def hoge
  def bar
   puts "bar"
  end
  puts "hoge"
end

hoge  # hoge  呼べるのはわかる
1234.bar # bar  呼べる!?
"unko".bar # bar 呼べる!?

568:デフォルトの名無しさん
08/02/09 18:29:11
>>567
使えないのに使おうとするのはなんで?

569:デフォルトの名無しさん
08/02/09 18:55:58
でも、使えてるよね?

570:デフォルトの名無しさん
08/02/09 19:43:25
Javaはメソッド内でクラス定義できるね。

571:デフォルトの名無しさん
08/02/09 19:57:58
匿名クラスだっけ?

572:デフォルトの名無しさん
08/02/09 20:32:58
そうそう。final変数ならメソッドのローカルスコープ変数にアクセス可能。
staticメソッドじゃなければプライベート変数にもアクセスできる。
クラス内クラスでもstaticクラスじゃなければプライベート変数にアクセスできるけどね。
C#だとstaticクラスというと、別のものをさすからややこしい。まあLLじゃないからスレ違いか。

573:デフォルトの名無しさん
08/02/09 20:35:43
でも、Javaも5だか6だかの時に
かなり高級言語になったなぁと感じたよ。
以前はコレクションクラスの使いにくさには困ったもんだった。

574:デフォルトの名無しさん
08/02/09 20:36:05
あ、誤解されるかも。
>>572のプライベート変数っていうのはprivate int hoge;みたいなやつ。
内部でテキトーにIterator作って返す分にはかなり都合がいいです。
仕事で使うと何故か嫌われるけどねー。

575:デフォルトの名無しさん
08/02/09 20:36:22
>>569
「なんでC言語の関数には副作用があるんですか、関数って
のは値を受け取って値を返すもので、副作用とかそういうのが
あるものを関数って呼ぶのはおかしいです」

と主張したところで、「だから?」って言われて終わりだと思わない?

576:デフォルトの名無しさん
08/02/09 20:38:22
>>574
> 仕事で使うと何故か嫌われるけどねー。

(Cの)constとか(Cのconstの意味での、Javaの)finalとかって、
意味が分からない人にはまだ暗黒魔法に見えるらしいしなぁ。

577:デフォルトの名無しさん
08/02/09 20:41:38
>>576
とりあえず変数をnullやnew ~~で初期化する連中とか、
final int hoge;
if(~~){ hoge=3; anotherStatement; }else{ hoge=4; }
↑のようなスタイルにしない連中とか、
const int * const hoge = ~~; がわからない連中とか、マジ勘弁。
Eclipseのソースのクリーンアップの自動でfinalつけるのは好きだ。さあ、そろそろ全然LLじゃないwww

578:デフォルトの名無しさん
08/02/09 20:49:10
このへん(どのへん?)の言語で書いてる時って、
安全性とか念のためとかって、忘れがちになっちゃう。
いかんなぁ・・・

579:デフォルトの名無しさん
08/02/09 21:43:58
>>567
def hoge
  bar = Proc.new{puts "bar"}
  puts "hoge"
end
こうしないのはなんで?

580:デフォルトの名無しさん
08/02/09 21:48:23
例だから。

581:デフォルトの名無しさん
08/02/10 01:07:41
rubyに関数内関数があったらカオスだと思うんだが

582:デフォルトの名無しさん
08/02/10 01:12:28
>>581
selfとかが何になるのかちょっと興味ある

583:デフォルトの名無しさん
08/02/10 01:26:26
>>582
というか、defのネストで詰まる人はselfとか使ったことないんだと思う
使ってたらメソッド定義はどこでやってもそのクラスへのメソッド定義にしか思えん

class Hoge
def foo
p self # => Hoge
def bar
p self # => ???
end
end
end

584:デフォルトの名無しさん
08/02/10 02:03:38
>>583
んーん。わかんない。
前に使ってた Delphi なんかは、関数内関数あるけど、その中でselfは問題なく使えるしなー
いや、こっちはこっちで、関数内関数のポインタだけ使えない、
つまり、>>579みたいなので barに代入しても、バグるというウンコ仕様ではあるがw

585:デフォルトの名無しさん
08/02/10 02:49:49
Rubyの def は悪魔でもメソッド定義だからなあ。
トップレベルでも、どこぞへのメソッド定義だし。

逆にメソッドローカル関数が使えるようになったら
トップレベルもメソッドでなくなるんでない?

586:デフォルトの名無しさん
08/02/10 02:56:52
>>585
けっきょく、>>579のシンタックスシュガーがほしくなる、という結論に至るわけで

587:デフォルトの名無しさん
08/02/10 07:56:04
じゃなくて、
名前付きであることがそんなにうれしいかな?
(名前付きであることがそんなに必要かな?)
ってことなんじゃないかと思うんだけど。

ブロックを渡して、&引数で受けるとかすればいいんじゃない?

588:デフォルトの名無しさん
08/02/10 10:19:07
つか、Procを覚えると死ぬのか?
キーボードのPが欠けてるとか?
新しいことを学ぶことができない人間にはプログラミングは向かないぞ

589:デフォルトの名無しさん
08/02/10 10:51:46
Procってあれだろ、カッコなしでメソッド呼び出しできる仕様を追加してしまったがために、
呼び出し可能オブジェクトを代入できなくなって、苦し紛れに作った仕様なんだよな。

590:デフォルトの名無しさん
08/02/10 10:54:40
>>589
どういうことか自分の言葉で説明してみ

できるならコピペなんぞせんか

591:デフォルトの名無しさん
08/02/10 11:21:27
def f():pass

g = f

↑コレが、ruby だとできないと言いたいんじゃなかろうか?

592:デフォルトの名無しさん
08/02/10 11:23:17
Rubyって,よく考えずに追加した浅はかな仕様で自爆してること多くね?

593:デフォルトの名無しさん
08/02/10 11:57:57
PHPのこといえないね。
糞作者が作った糞言語。

594:デフォルトの名無しさん
08/02/10 12:15:16
>>550
Haskell 白衣 OCaml 暇人 Lisp つまらない人
C++ デブ C ガリ Java メガネ JavaScript ギャル男 
Perl 根暗 Ruby 陰湿 Python 電波 PHP 白痴 IO ひ弱
Groovy ナルシスト C# 現実主義者 COBOL 老害 VB 中肉中背


すげー的確でワロス


595:デフォルトの名無しさん
08/02/10 12:16:59
>>590
書き込みの内容を理解していないと決め込むこの態度。
Ruby使いにはウンコが多いと聞いていたがここまでとは。

作者と同じだな。

596:デフォルトの名無しさん
08/02/10 12:22:47
>>593
つうか何も考えないmatzが何も考えずに批判ごっこしてるから笑われるわけで

597:デフォルトの名無しさん
08/02/10 14:39:12
def y(f)
proc{|arg| f.call(arg, y(f))}
end

s = (y(proc{|n, sum| if n == 1 then 1 else n + sum.call(n - 1) end})).call 10
p s

Yコンビネータで、(> <) の人がやりたかったことらしきことをやってみた

598:デフォルトの名無しさん
08/02/10 18:41:48
なんという読み難さ

599:デフォルトの名無しさん
08/02/10 19:32:27
つーかそういうことをやりたかったらSchemeでやれと

600:デフォルトの名無しさん
08/02/10 20:12:02
>>592
もうちょっと詳しく

601:デフォルトの名無しさん
08/02/10 21:52:39
たとえば、Smalltalk ライクなクラス変数を導入しようとして宣言を嫌う Ruby 向けに
書き換えを制限した「定数」にしたのに、結局、それだけじゃダメだからって定数は
そんままでクラス変数も安易に導入して似たような機能だから混乱を招くは、やっぱり
宣言がないことからトラブル頻発で、紆余曲折の後、今の 1.9 の仕様に落ち着いた
とかそういう話?

602:デフォルトの名無しさん
08/02/10 22:37:51
>>601
日本語でおk。

603:デフォルトの名無しさん
08/02/11 23:48:20
JavaScriptの方がRubyよりも良く感じる昨今
直接比較される土壌にいないだけで

604:デフォルトの名無しさん
08/02/12 00:24:41
YARV vs. Tamarin

605:デフォルトの名無しさん
08/02/12 00:52:52
>>603
具体的に書かないとスレ盛り上がらないやん

606:デフォルトの名無しさん
08/02/12 00:53:24
% time python -c 'range(0,10000000).sort'
0.769u 1.022s 0:01.79 99.4% 0+0k 0+0io 0pf+0w
% time ruby -e '(0...10000000).sort'
3.170u 0.259s 0:03.42 100.0% 0+0k 0+0io 0pf+0w

607:デフォルトの名無しさん
08/02/12 10:10:34
それ、pythonのほう、ソートしてないw

608:デフォルトの名無しさん
08/02/12 11:02:10
Emacs Lisp のダメなところ - あどけない話
URLリンク(d.hatena.ne.jp)

Lispがいかにクソがわかる

609:デフォルトの名無しさん
08/02/12 11:27:40
>>608
どう読んでも、「Emacs LispがいかにLispとしてダメか」という話にしか見えないが。
何をどういう風に「わかった」のか、ちょっと書いてみて(いや、別に逃げてもいいけど)。

610:デフォルトの名無しさん
08/02/12 11:39:49
>>607
Rubyのほうもツッコミが入ってる

> そのコード違うぞ
> ボトルネックはこれだ
>
> $ time ruby -e '(0...1000000).to_a'
>
> real 0m2.535s
> user 0m2.040s
> sys 0m0.490s

昇順の配列にsortを作用させた動作を想像できないほどのバカが常駐してるとは思わなんだ

611:デフォルトの名無しさん
08/02/12 21:37:22
>>608-609
Microsoft の Visual C#がクソだった場合、C#をクソと言っても問題はない

612:デフォルトの名無しさん
08/02/12 21:40:40
>>608を見て思うのは、結局ElispってVBみたいなものなのね。って感じかなあ。
言語自体にありがたみが薄い。

613:デフォルトの名無しさん
08/02/12 23:46:20
>>612
CommomLisp系列とEmacsLispの関係はVBとVBAまたはWSHの関係に近い
後者を頑張って学んでも前者がうまくなることはあまりないって感じ

Lispを学んでる人ならわかってるはずなんで問題ないんだけど、
>>608の書き込みや>>611に代表される無知な外野の勘違いが煩い

614:デフォルトの名無しさん
08/02/13 07:34:22
>>608>>611は、Lispに関して無知なのではなく、
他人の話からモノを括り出すのが致命的に下手くそなだけだと思う。

>>611
Visual C#は、C#の言語仕様そのまんまの代物だから、その場合はそれでもいいだろうね。
あと、あまりに圧倒的に主たる環境・処理系だから、言語そのものの評価とかぶってしまうのも仕方ない。
でも>>608のリンク先は、「Emacs Lispの言語仕様」のうち、Common LispやScheme等の言語仕様と
悪い意味で異なっている部分を挙げているのだから、一方言・一環境への突っ込みだし、
そもそもEmacs Lisp自体、Visual C#ほど圧倒的なLispの「使用例」ではない。
つまり、例になってない。「Visual C#と、プログラミング言語C#の関係はそんな感じかもね。で?」としか。

615:デフォルトの名無しさん
08/02/13 09:03:30
Emacs LispもLispの1方言。
と言えちゃうのはLispを取り巻く環境のクソさを示している、といえなくもない。
が、それはLispとは直接関係無い。

616:デフォルトの名無しさん
08/02/13 09:35:45
今でも動的スコープ?

617:デフォルトの名無しさん
08/02/13 10:03:23
>>611
>Microsoft の Visual C#がクソだった場合、C#をクソと言っても問題はない
C#の言語仕様がクソなのか、Microsoftの実装がクソなのかによる。

618:デフォルトの名無しさん
08/02/13 17:14:14
emacsを使うからemacs lispは捨てられない
oddmuseを使うからperlは捨てられない
skkserv.rbを使うからrubyは捨てられない
tracを使うからpythonは捨てられない
xmonadを使うからhaskellは捨てられない

不器用な使い方してるな俺

619:デフォルトの名無しさん
08/02/13 23:49:57
>>618
成果物とプログラムするときの処理系と勘違いしてないか?

620:デフォルトの名無しさん
08/02/14 02:26:08
Larry Wallって、リバースモーゲージで生計立ててた
って書いてあるけど、サブプライムで今Perl6どころ
じゃないかも。 借金取りに追われて。

621:デフォルトの名無しさん
08/02/14 03:18:42
RubyもPythonもPerlよりは優れてるのか?

622:デフォルトの名無しさん
08/02/14 03:24:22
価値観によるとしか

623:デフォルトの名無しさん
08/02/14 03:46:36
>>620
これかwww

小飼弾のアルファギークに逢いたい?:#0 Perlの父 Larry Wall|gihyo.jp … 技術評論社
URLリンク(gihyo.jp)

確かに地価下がりまくっている今はやばいだろw

624:デフォルトの名無しさん
08/02/14 12:30:23
家に手つけるってドンだけ困窮してんだよ、

625:デフォルトの名無しさん
08/02/14 14:54:58
PHP4.1.1でOracle10.2.0.1ODBC接続がたまにおかしくなる。PHP5に上げないとダメかなぁ

626:デフォルトの名無しさん
08/02/14 16:49:09

チョンのあやかり創価学会

偽善者が政治活動、公明党

ニセ仏教、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや

カルトキチガイ・創価騙されバカ信者

カルト・キチガイ・偽善政治活動・公明党

カルト・キチガイ・偽善政治活動・公明党

カルト・キチガイ・偽善政治活動・公明党



627:デフォルトの名無しさん
08/02/14 22:04:24
大作はとっくに死んでるんじゃね?

628:デフォルトの名無しさん
08/02/15 06:06:47
今の池田先生は単一電池8本で動いてるらしいよ。

629:デフォルトの名無しさん
08/02/15 14:06:32
単一x8なんていうわけ分からん仕様だったら、専用バッテリーの方がまし。

630:デフォルトの名無しさん
08/02/15 14:12:57
出たな専用バッテリー厨

外出途中で電池切れたらどうするんだ?
乾電池なら災害が起きても乾電池さえあれば動作するんだぜ?

631:デフォルトの名無しさん
08/02/15 14:20:01
ぜんまい最強

632:デフォルトの名無しさん
08/02/15 19:38:41
災害が起きたらエネループを充電できません!
自転車でエネループ充電とかできれば大作先生も安泰なのに。

633:デフォルトの名無しさん
08/02/15 20:39:12
ウチ創価なのに笑っちまったじゃねーかwww

634:デフォルトの名無しさん
08/02/15 21:11:16
そうかそうか

635:デフォルトの名無しさん
08/02/15 21:31:40
創価学会がLLを作ったらどんなのが出来上がるかな?
大作言語と他言語の宗教戦争を見てみたいような・・・

636:デフォルトの名無しさん
08/02/15 22:55:22
python3000とRuby1.9(2.0?)、メモリ使用量、実行速度の観点からどちらが
優れていると思う?

637:デフォルトの名無しさん
08/02/16 00:23:41
成長中途を比較するのはナンセンス

638:デフォルトの名無しさん
08/02/16 00:54:39
まったくそのとおり。
できたばっかのarcにケチをつけるmatzはナンセンスだよ

639:デフォルトの名無しさん
08/02/16 04:06:31
どう読んだらケチつけてると思える脳になるんだろう

640:デフォルトの名無しさん
08/02/16 09:59:37
日本語おかしいぞ。
その書き方だとまるで、「読んだ」ことで「そういう脳」になったかのようだが、
実際には「そう受け取る脳で読んだ」結果だろう。

語尾を書く段階で「脳」って表現を思いついて、ちょっと興奮気味にねじ込んでそのまま投稿した結果だろうけど、
そういう「後から興奮に押されて何か加えた」文章は大抵崩れてるから、書き込む前に読み返さないとな。

641:デフォルトの名無しさん
08/02/16 10:22:37
>>639
できたばっかの言語を他と比べることを言ってんだろ。
maztを馬鹿にしたと勝手に感じて怒るのは構わんけど前後の文脈ぐらいよめよ。

642:デフォルトの名無しさん
08/02/18 23:15:12
>>640
つい頷いたが随分KYなレスだな

643:デフォルトの名無しさん
08/02/18 23:40:50
決まった空気のある流れじゃないだろ

644:デフォルトの名無しさん
08/02/24 07:22:01
URLリンク(www.codegear.com)

PHPはビジュアル開発ができるからいいんでない?


645:デフォルトの名無しさん
08/02/24 15:18:14
Delphi for PHP って名前が面白いな

C++ for C#
アセンブラ for Ruby
Python for Lisp
C for D
B for C
Perl for you

646:デフォルトの名無しさん
08/02/24 20:48:36
中身は全然Delphiじゃないキガス

647:デフォルトの名無しさん
08/02/26 16:24:06
URLリンク(shootout.alioth.debian.org)
ぷろぐらみんぐとかよくわからないおではこういうのをみてるう゛ぃぃをさけるようになりまちた

648:デフォルトの名無しさん
08/02/28 06:21:24
速度は次バージョンでまともになるから、大丈夫

649:デフォルトの名無しさん
08/03/01 16:14:15
>>648
安定版でそのすごい速度が出るのは”いつ”ですか?

650:デフォルトの名無しさん
08/03/01 17:22:51
他の多くの言語のver upと同じく、はっきりとは決まっていないよ。

651:デフォルトの名無しさん
08/03/01 17:42:34
>>648
ActiveScriptRubyでそのバージョンがリリースされるのは”いつ”ですか?

652:デフォルトの名無しさん
08/03/01 17:43:31
そのうち

653:デフォルトの名無しさん
08/03/01 17:44:00
西暦4000年くらいだと思います

654:デフォルトの名無しさん
08/03/02 10:46:12
Matzが生きているうちは無理。

655:デフォルトの名無しさん
08/03/02 12:02:59
PHP使いだけど、Windowsサーバの管理に適した言語は何ですかね?
レジストリやイベントログに容易にアクセスできるのが希望ですが。
あと、PHPはbamcompileでスタンドアローンアプリにできるんだけど、
実効環境が馬鹿でかいので小さなスタンドアローンアプリが作れると
さらにうれしい。

VBA、VB Script、WSHはできれば避けたい。


656:デフォルトの名無しさん
08/03/02 12:15:44
二行目までならPowerShellが適役だけど、それ以降微妙

657:デフォルトの名無しさん
08/03/02 12:16:46
WSH

658:デフォルトの名無しさん
08/03/02 13:10:42
WMI

659:655
08/03/02 13:22:02
>>656
PowerShellもよさげですね。

>>657-658
うーん。

今Iron Pythonについて調べてますが、Microsoft謹製だし込み入った部分は
C#で書くというてもありますね・・・ってLLの意味ないですな。

660:デフォルトの名無しさん
08/03/02 13:37:34
SQL

661:デフォルトの名無しさん
08/03/02 23:11:06
>>655
Windowsサーバ管理なら現状VBS/JScript + WSHじゃないかな。
VBSがいやならJScriptで。
特殊なCOMを使わなければどこの環境でも動くからexeを作る必要ないし。

662:デフォルトの名無しさん
08/03/02 23:42:14
JScriptはええぞお・・・

663:デフォルトの名無しさん
08/03/03 01:10:05
HTAを使えば、簡単なGUIも作れるしね

664:デフォルトの名無しさん
08/03/03 01:47:03
>>655
それを避けたい理由は?

665:569
08/03/03 02:04:54
>>661-664
ありがとうございます。
実はWSHは使ったことありまして、いまいち生産性が低いのが不満でした
(なんというか必要な機能にたどり着くまでが回りくどい感じが)。
そういう意味ではPowerShellに期待するところもあるのですが、
JScriptですか調べてみます。

>>664
自分が管理している間はWSHなりPowerShellでいいのですが、
次の人に引き継ぐときに・・・。
あまりサーバ管理とかにリソースがさけない環境なので、情報量の少ない
言語は使いたくないのです(次の担当者に負担をかけることになるので)。
でもWindowsサーバ管理が目的ならVBAやWSHをさけるべきではないですよね。





666:デフォルトの名無しさん
08/03/03 02:47:13
つか、JScriptでCOMでも使えばVBSでも大して文法変わらんw
(D)HTMLでGUI構成出来るから、その辺は楽っちゃ楽だが。
単純にVBSとかを使うのが自分的に嫌なだけだろ。

と、PHP嫌いの俺が言ってみる。

667:デフォルトの名無しさん
08/03/04 06:45:56
VB(S)が嫌いでPythonでCOM扱うプログラム書いたんだけど
結局VB(S)でやってるのと殆ど同じようなソースになって吹いた


668:デフォルトの名無しさん
08/03/04 07:06:57
VBAにもPyScripterみたいなIDEがあればいいんだけどね。
標準のIDEが糞過ぎる。

669:デフォルトの名無しさん
08/03/08 13:32:32
実践的なRubyのプログラムというのは文字列の処理が多かったりして、
その文字列の処理はbuilt-inの部分で処理されるので、YARV化は関係なく、
1.9だからといって速くはならない。さらに文字列がM18Nに対応したことで、
1.8よりも遅くなるという現実。

これが、1.9にm18n入れるって話を問いつめた諸氏の努力が無駄になった結果
「高速化を謳った1.9は文字列処理の鈍化によって1.8より遅くなる」が定着していく

実用的なプログラムほどYARVの恩恵が受けられないジレンマ

670:デフォルトの名無しさん
08/03/08 20:30:20
コピペ君ry

671:デフォルトの名無しさん
08/03/09 00:18:55
実用的なプログラムは文字列処理ばかりしてる、ってなんか変な気がする・・・

672:デフォルトの名無しさん
08/03/09 00:43:41
>>671
Rubyの場合ってことじゃね?

673:デフォルトの名無しさん
08/03/09 00:52:55
>>671
もともとPerlの代替品だしな
Ruby=文字列処理というのは、もちろん正確ではないけど、そんなに外してるわけでもないよ

674:デフォルトの名無しさん
08/03/09 14:11:52
組み込み機能だけで一通りの文字列処理が出来るからな。
ワンライナー書くのも楽だし。

675:デフォルトの名無しさん
08/03/09 15:30:12
文字列処理しないプログラムって少数派

676:デフォルトの名無しさん
08/03/09 18:17:40
何らかの文字列処理は、ほとんどのプログラムがしてるかもしれないけど、
文字列処理がボトルネックになるほど、文字列処理がメインのプログラムっていうのも
逆に少ないんじゃないかと思うんだけど・・

677:デフォルトの名無しさん
08/03/09 18:43:41
Rubyはどの程度か知らんけど、スクリプト言語に多いパターンで、
あらゆるデータが方々で文字列として評価され得るようなのは
けっこうインパクトでかいかもよ。


678:デフォルトの名無しさん
08/03/09 19:09:00
「WEBAPはソケット通信が遅いから事実上差は無い」とか言い出す奴って、
ヤヴァイよな。

679:デフォルトの名無しさん
08/03/09 19:36:44
Rubyはソケット通信が腐ってるからソケット通信の遅さは問題にならない

680:デフォルトの名無しさん
08/03/09 20:16:00
stringの実体がbyte[]な言語で文字列処理するのはなんとなく疲れる。

681:デフォルトの名無しさん
08/03/09 20:34:28
>>680
リストになってる言語はどうよ

682:デフォルトの名無しさん
08/03/09 21:51:57
lengthを取得するとバイト数でなく文字数になるならok

683:デフォルトの名無しさん
08/03/10 00:09:15
合成文字はいかがなさいますか。

684:デフォルトの名無しさん
08/03/10 00:31:49
合成して1文字だな

685:デフォルトの名無しさん
08/03/10 01:16:58
ごうせいっちゅうねん

686:デフォルトの名無しさん
08/03/10 19:37:52
山田君、>685 の座布団全部持ってっちゃって

687:デフォルトの名無しさん
08/03/11 22:19:15
>>676
俺、Rubyでソースジェネレータ書いたけど、実行するのに10秒くらいかかるぞw
最適化のためにプロファイル取るとだいたい1分くらいかかるから、
もはやどうでもいいって感じなんだけど

688:デフォルトの名無しさん
08/03/14 19:39:35
>>680-681
俺も、オブジェクトかもしくは、Pascalみたいに型になってないとしんどい

689:デフォルトの名無しさん
08/03/30 12:01:02
age

690:デフォルトの名無しさん
08/04/03 20:08:51
知り合いが実家のホームページにウェブ予約システムを入れたいとか言い出しました
でも、片手間程度でpythonやってる俺にはわからない
「CGIなら、PHPになる…か?」とかそんな次元
業者に頼めと言ったら金がかかるからやだと言われ、
時間はあるからどんなことやればいいか教えてくれたら勉強するとか言われました
でも、俺は知らない
なので、質問をさせて下さい
ぶっちゃけ、あれって何を勉強させればいいの?
それとも、pythonでも頑張ればできる?

691:デフォルトの名無しさん
08/04/03 20:15:49
>>690
> 時間はあるからどんなことやればいいか教えてくれたら勉強するとか言われました
その知り合いって、一休さん?

692:デフォルトの名無しさん
08/04/03 20:18:54
python でも出来るよ。
その前に、その実家のホームページとやらはレンタルサーバーなの?
レンタルならCGI不許可のところが多いと思うから、話はそこからだ。

693:デフォルトの名無しさん
08/04/03 20:42:22
一休さんのほうがかわいい気はします

サーバーは今んトコレンタルらしいです
ホームページはビルダーで製作したらしいのですが
「自宅サーバー? 何それ、おいしいの?」並の意見をもらいました
止めてやった方がいいんでしょうか?
それとも、これは手取り足取り教えてほしいという口説き文句なんでしょうか?
わかりません
むしろ、こっちが美人講師にでも手取り足取り教えて欲しいくらいなんですが…
とりあえず、オンラインドキュメントでも眺めてみることにします
あれは入力フォームとメールの送信とDBとカレンダーってトコでしょうか?

694:デフォルトの名無しさん
08/04/03 20:42:52
PythonをSAKURAでDjangoだろ

695:デフォルトの名無しさん
08/04/03 20:58:21
> 入力フォームとメールの送信とDB

その並べてるテクノロジーの差がかなりあるんだが・・
あと、個人情報扱うんだったら情報の管理やセキュリティにも気をつけないとな。

696:デフォルトの名無しさん
08/04/03 21:09:40
ですよねー…

なんか、否定してく内に墓穴掘ってしまってるんですよ
自らハードルあげてるって言うか…
そういう訳で「お前には無理だって」という発言から切り返された
「他のトコが出来てるのに、どーして出来ないの?」という
あほな意見をどうやって潰せばいいですか?
もしくは頑張れば男の子の面子を潰さないでどーにか出来ますか?

697:デフォルトの名無しさん
08/04/03 22:42:24
…敗北しました
いい先生になれるようにがんばろうと思います
でも、一言だけ言わせて下さい。直で言えないんで…
んなことで涙目になんなよ!!!

途中から思ったけど、チラ裏ですみません

698:デフォルトの名無しさん
08/04/03 23:57:51
なんか、オタクがブログによく書いてそうな、
自分だけがはしゃいでる芝居がかった感じが
鼻につく文体だな。

699:デフォルトの名無しさん
08/04/04 02:39:54
教えるより自分で作ってやったほうがまだましだと思う。
散々あーでもないこーでもないという指図を覚悟の上で。

700:デフォルトの名無しさん
08/04/04 22:56:20
俺も美人教師に三本目の足を握ってもらいたい

701:デフォルトの名無しさん
08/04/05 16:15:51
たまに居るみたいだね
URLリンク(anima.x51.org)

702:デフォルトの名無しさん
08/04/06 05:52:07
>>696
業者に頼めばいいのではないかと思うんだけどなぁ
「他のトコ」=業者の作ったサイト、じゃないの?

業者に頼めばお金はかかるけど
自分達で勉強して実現するよりは、はるかに安いと思う
勉強するのが楽しいとか、それを飯の種・商売にしたいなら話は別だけど

Web予約システムを作ることに時間を割くより
そのシステムを使ってどんな商品を売るか・宣伝するかに頭を使ったほうがいいよな…
前者は、業者にお願いすればできるけど
後者は、自分達にしかできないことなんだから
他者にもできることを自分達でやって
他者ではできないことをおろそかにしてしまうなんて本末転倒

703:デフォルトの名無しさん
08/04/09 08:50:35
そういえば4月1日ネタ、
LL界で今年はあった?

704:デフォルトの名無しさん
08/04/11 12:45:46
>>703
あったよ

Japan.internet.com コラム/developer.com
URLリンク(japan.internet.com)

705:デフォルトの名無しさん
08/04/11 12:46:38
Java vs Rubyの言語比較記事へのつっこみ - ’(rubikitch wanna be (a . lisper))
URLリンク(d.hatena.ne.jp)

Japan.internet.com コラム/developer.com
URLリンク(japan.internet.com)

706:デフォルトの名無しさん
08/04/11 13:09:51
原文これか
URLリンク(www.developer.com)
なんか今アクセスできないみたいだけど

707:デフォルトの名無しさん
08/04/11 13:20:59
それ、4月馬鹿じゃなくて、単なる事実誤認w

708:デフォルトの名無しさん
08/04/11 13:26:00
RFCは5241と5242か

709:デフォルトの名無しさん
08/04/11 14:05:41
>>705
Rubyが糞だと言うことがよくわかる文章ですねwww

710:デフォルトの名無しさん
08/04/11 22:24:20
無駄な宣言とかって、Java のコードに対応させてわざと書いてあるだけだよね

711:デフォルトの名無しさん
08/04/12 18:10:43
引く手あまたのプログラミング言語は?
URLリンク(slashdot.jp)
---
Java(16479件)、C++(8080件)、C#(7780件)、JavaScript(6749件)、
Perl(5710件)、PHP(2641件)、Python(1408件)、COBOL(1207件)、
Ruby(769件)、Lisp(33件)といった感じらしい。

とりあえずJavaとC/C++/C#、あとJavaScriptを覚えれば、
当分仕事には困らないようである。COBOLのしぶとさも目立つ。

ちなみにHaskellやOCamlの求人は10以下だったそうだ。
---

712:デフォルトの名無しさん
08/04/12 18:50:11
Lispが上位すぎる

713:デフォルトの名無しさん
08/04/12 19:07:47
「CやC++、Lispの経験がある場合優遇いたします」というような書き方のマネージャやエンジニアの募集が多いな

714:デフォルトの名無しさん
08/04/12 19:53:04
Java の募集って携帯が多いんでしょ
あれ、給料も安いし、ノルマ厳しいから大変じゃない?

715:デフォルトの名無しさん
08/04/12 20:34:13
サーバサイドじゃないの

716:デフォルトの名無しさん
08/04/12 20:40:49
>JavaとC/C++/C#、あとJavaScript
活躍する場が全然違う言語を持ち出して
さもこれらの言語を覚えれば仕事があるように言うのはどうかと・・・・・
例えばJavaScriptの知識があってもWebサーバやDBの知識もないと仕事にならないわけで

717:デフォルトの名無しさん
08/04/12 21:04:33
>>716
Web系での話をしたかったんじゃないか?
まぁC++なんかはWeb系でもミドルウェア回りになるだろうけど。
(JavaScriptは例外か?)

言語はとりあえず一つ覚えてしまえば後は何とかなるしな。
どんな偉そうなバズワードを並べたところでプログラムの根本は順次・選択・繰り返しの3つしかないし。

ただし一つの言語を極めるには数年はかかるんじゃないかと思う。

718:デフォルトの名無しさん
08/04/12 23:41:47
>>714
携帯はCorC++じゃない?
ダウンロードアプリはJavaだけど

719:デフォルトの名無しさん
08/04/13 16:03:11
俺は名前だけでruby選んだ。

720:デフォルトの名無しさん
08/04/15 18:42:15
俺は名前と作者の名前だけで選ぶ気が失せた
Perlの後に知ったからパクリっぽくて嫌だった
まぁPerlと真珠のPearlは違うんだけどね

721:デフォルトの名無しさん
08/04/15 20:54:52
実際Perl→Pearlから思い付いた名前らしいしな。
誕生石が6月:パール、7月:ルビーだからRuby。

722:デフォルトの名無しさん
08/04/15 22:55:14
で、今Rubyの作者はPythonにゾッコンと。

723:デフォルトの名無しさん
08/04/15 23:24:28
Pythonは、作者の俺ルールがどうしても気に入らない。

724:デフォルトの名無しさん
08/04/15 23:40:11
Rubyも似たようなもんじゃないか?
俺は関数名の{}だか引数の()だかを
改行して書こうとしたらエラーになったんでRubyは触らなくなった
Perlの自由さに慣れすぎたw

725:デフォルトの名無しさん
08/04/15 23:42:01
大勢が認めるルールはオレルールとは言わない。

726:デフォルトの名無しさん
08/04/15 23:43:13
複数の空白を一個にまとめられただけで意味が変わる言語なんか大嫌いだ!


と昔パンチカードをばらかした俺は思うのである。


727:デフォルトの名無しさん
08/04/15 23:47:29
そんなあなたにWhitespace

728:デフォルトの名無しさん
08/04/16 01:24:47
>724
そりゃRubyやPythonだと改行は文を切るものだからな。
改行前に開始カッコを書けばOKなんだが
それが耐えられないなら文末を明示する言語になるわな、必然的に。

729:デフォルトの名無しさん
08/04/16 09:14:41
URLリンク(type.jp) 調べ
Java    131件
C++     94件
PHP     53件
Perl     32件
C#      29件
COBOL   26件
Ruby     13件
Javascript  7件
Python    3件
Lisp      0件
偽装請負が多くてあまり参考にならないかも

730:デフォルトの名無しさん
08/04/16 18:48:52
Lisp0件ってなんだよw

731:デフォルトの名無しさん
08/04/16 20:05:31
> Lisp 0件
載せる意味ねーだろw

732:デフォルトの名無しさん
08/04/16 21:02:45
Pythonは、作者の俺ルールがどうしても気に入らない。


733:デフォルトの名無しさん
08/04/16 21:39:13
>>732
Rubyも似たようなもんじゃない?
あと大勢が認めるルールは俺ルールとは言わない。

734:デフォルトの名無しさん
08/04/16 23:14:45
BDFLの権利のこと?<俺ルール

735:デフォルトの名無しさん
08/04/16 23:34:15
Lispたんの事検索するの忘れてたわけじゃないよと
明示的に示したかったので0件と書いた。
まあ必要なかったよなw

Java >> PHP >>> Perlだと思ってたけど海外ではPerlの方が多いんですね

736:デフォルトの名無しさん
08/04/16 23:57:28
smartyの、httpd.confで特定のページ以外からのアクセスを制限したいんだが
探し回っても載ってないんだ・・・
誰か知らないか?

737:デフォルトの名無しさん
08/04/17 00:04:13
age

738:デフォルトの名無しさん
08/04/17 19:21:31
Pythonの俺ルールって具体的に何?
なんか変な文法あったっけ?
あんまpython詳しくないので教えて

739:デフォルトの名無しさん
08/04/17 21:53:31
インデントが制御構造なオレルールは言うまでもないが、
代入が戻り値なしとか許せない。リストのsort()の戻り値ナシも許せない。

while ((line = file.readline()) != ""):

もアウトだし、

for line in file.readlines().sort():
もアウト

気分悪すぎる

740:デフォルトの名無しさん
08/04/17 21:56:49
あとクラスに、アクセス制御がないオレルールも許せない

考えたら、なんで俺我慢してPython使ってるのだろう。Rubyいこ、Ruby

741:デフォルトの名無しさん
08/04/17 22:04:16
if X = 0:
 hogehoge

みたいなミスが無くていいじゃないか。
あと、メソッド LIST.sort() じゃなくて、関数 sorted(LIST) を使うと
思ったことができるんだぜ。

742:デフォルトの名無しさん
08/04/17 22:14:06
>>741
プログラム10年以上やってるが、そんなミスでバグ出したことないぞ。
書き間違えたことはあるが、悩んだことはない。

そんなドウデモイイミスのために、代入が戻り値返さないなんていう
オレルール作っちゃったり、インデントは制御構造とか言い出すなんて、
Pythonの作者はどれだけプログラマを信用していないのだろうか。

743:デフォルトの名無しさん
08/04/17 22:56:00
インデントが制御とか代入が戻り値なしとかは俺ルールっていうよりも思想だろ。
あとPythonダメならScalaやろうぜ

744:デフォルトの名無しさん
08/04/17 23:26:30
>>740
>あとクラスに、アクセス制御がないオレルールも許せない
smalltalkerとlisperに喧嘩売ると後がうるさいぞ。



745:デフォルトの名無しさん
08/04/17 23:39:21
lambda 内に制御文書けたら、俺は Python 使おうかと思ってる。

746:デフォルトの名無しさん
08/04/17 23:47:05
そういやrubyのlamdaってどうなってんの?
Proc.new {
↑これは関数オブジェクトじゃないんだよね?

747:デフォルトの名無しさん
08/04/17 23:57:52
>>729
Delphi 4件(!)
Rails 5件(筆頭が楽天ww)
django 0件
ajax 9件
HTML 48件

>>741
今時、CだってRubyだってコンパイラ(インタプリタ)が文句言うよw

748:デフォルトの名無しさん
08/04/18 00:11:00
pythonはその思想から、プログラマは馬鹿ばかり、
という前提で言語を構築してる気がしてならない。
実際にpythonに群がったプログラマが馬鹿ばかりだった
のかもしれないけど。

749:デフォルトの名無しさん
08/04/18 00:30:08
>pythonはその思想から
どういう思想かkwsk

俺はクラスのアクセス制御とかのOOP関連が
やたらおおらか(というか、あけすけというか)なのは
ガチガチにしなくても、普通のプログラマなら大丈夫という
性善説に基づいているという話位しか知らん。

750:デフォルトの名無しさん
08/04/18 00:38:09
馬鹿ばかりというか、性悪説的思想ということ。

関係ないけど、関数型言語は頭いい人向けみたいなイメージもあるが、
実際はそうじゃなくて、性悪説的思想からも受け入れられるものだと思う。
へジルスバーグのC#が実際にそういう流れだし。

751:デフォルトの名無しさん
08/04/18 00:39:06
馬鹿でも使えるようにという思想で、本当に馬鹿ばっかりが集まってしまったのは、
むしろPHPだと思う。

752:デフォルトの名無しさん
08/04/18 00:40:02
Python使う奴って頭悪いってデータどこかで見た気がするわ

753:デフォルトの名無しさん
08/04/18 00:53:50
>>751
>馬鹿でも使えるようにという思想で、本当に馬鹿ばっかりが集まってしまったのは、
>むしろPHPだと思う。

PHPは言語もバカだろ。なぜなら使っている奴らばかりでなく,作ってる奴らもバカだからだ。

754:デフォルトの名無しさん
08/04/18 01:27:22
PHPなんていろんな言語の良いトコ取りしようとして
単にでかいゴミ溜めになったって感じだな
無駄に関数多すぎ

755:デフォルトの名無しさん
08/04/18 01:44:29
>>752
昨日お前がノートに書いたデータじゃないのか?

756:デフォルトの名無しさん
08/04/18 01:49:35
どこかで見ただけのデータで何か言おうとしてるほうが、よっぽどB

757:デフォルトの名無しさん
08/04/18 01:55:03
>>740
アクセス制御は3.0から出来るようになる。


代入文に戻り値が無いというか、まず、式と文を完全に分離するべきだという
思想があって、そこからの帰結として、代入文は文なので戻り値がないという必然的な結論。
別に、if(x=y): ...
を許可したら、間違いやすいから禁止するとかそういう個別な判断からきたものではない。


>>739
while ((line = file.readline()) != ""):
に関して言えば、
for line in file.readlines():
があるから別に、上の書き方が無くても十分すっきり書ける。し、常識的に見て可読性が上がってる。
さらに言えば
for line in file:
もできる。

758:デフォルトの名無しさん
08/04/18 01:55:34
スレタイらしくなってきたな。

perl は特殊記号や省略が多過ぎて他人のコードが読める気がしない。
俺みたいなバカには向かない言語だな。

759:デフォルトの名無しさん
08/04/18 02:09:25
perlは自分で書く手間を最小限にできる事に価値があると思ってる。

760:デフォルトの名無しさん
08/04/18 03:12:35
後で自分のコード読んで ??? ってなるけどな


761:デフォルトの名無しさん
08/04/18 08:43:21
もう一回最初から書けばいいじゃん^^

762:デフォルトの名無しさん
08/04/18 09:21:54
まあ端的に言うと
馬鹿度
Python>>>>>>>>>>>>PHP>>>>|超えられぬ壁|>>>>>>>>>Perl>=Ruby
って感じで、PythonとPHP使ってる奴が馬鹿ってことはスレッドから読み取れた。

763:デフォルトの名無しさん
08/04/18 09:28:21
>>759
最小限の手間で書いたコードは、書いた瞬間に最大限劣化して
メンテナンスができなくなるよね
それがPerlの素敵なところ
Perl大好き(*-*)

764:デフォルトの名無しさん
08/04/18 09:53:05
>>759
perl脳?

765:デフォルトの名無しさん
08/04/18 10:28:42
だからお前らRuby使えって。
宗教観変わるぞ。

766:デフォルトの名無しさん
08/04/18 11:44:19
>746
Rubyの場合は「関数」というと「トップレベルでレシーバ無しに呼べるメソッド」のことだからなぁ。
「関数」は無いと言っても良い。あるのはメソッドとブロックだけ。
一応UnboundMethodという所属のないメソッドはあるけど、所属を決めないと起動できない。
メソッドを起動するためにどこかのオブジェクトに所属する必要があって
ブロックは所属が無い。
lambdaもprocもProc.newも、ブロックを生成するためのものとして存在する。

>765
作者のブログは確かに宗教らしいなw
俺は読んでない。

767:デフォルトの名無しさん
08/04/18 11:57:00
Rubyの作者はカルト教信者だって聞いたんですが、本当ですか?

768:デフォルトの名無しさん
08/04/18 13:45:28
while(<>) { print }

を他の言語だとどんだけ書かなきゃならないかって考えるとPerlサイコー!
しかし、他の言語に慣れてる奴が見たらPerlサイテーなんだろうなw

769:デフォルトの名無しさん
08/04/18 13:52:17
いや、配列から順次プリントが簡単にできるとか、魅力じゃないんだよ。
他のLL言語では、抽象的なクラスやメソッドをどう作るかとかが主力なわけで、
その点ではPerlはクソだろ。

770:デフォルトの名無しさん
08/04/18 14:05:49
>>768の論理は帳簿とCOBOLの癒着っぷりの原因を示唆する貴重なものだと思う
そうでもないか

イヤモンド演算子は発明だとは思うけどね

771:デフォルトの名無しさん
08/04/18 14:08:32
ダが抜けた…

>>769
Perl4 は当時は神だったんだが、あの手法は今では時代遅れで、
その上に構築された Perl5.6 もかなりいびつで…

すっきり再構築したのが Perl6 になる予定だけど、それなら Perl でなくてもいいじゃん、みたいな

まあ、初心者に薦めるような言語ではないな

772:デフォルトの名無しさん
08/04/18 15:00:27
いや、実際何が出来るかを言っているのではなく
省略の美wについての定番のコードな訳だ、アレは

773:デフォルトの名無しさん
08/04/18 15:06:09
# Perl
while (<>) {
    print;
}

# Python
import sys, fileinput
for line in fileinput.input():
    sys.stdout.write(line)

# Ruby
ARGF.each do |line|
    print line
end

774:デフォルトの名無しさん
08/04/18 15:26:25
>>768
AWK
{print $0}

775:デフォルトの名無しさん
08/04/18 17:37:04
>>774それがありなら、
# Ruby
print ARGF.read

776:デフォルトの名無しさん
08/04/18 17:38:36
どういう意図のコードかにもよるなあ

>>773
Rubyで
「引数に与えられたファイルまたは標準入力の文字列を1行ずつすべて表示する」
は、おおむね
puts readlines

まあこれだと改行変わっちゃうけどな

777:デフォルトの名無しさん
08/04/18 17:52:32
純粋なPHP言語批判がなぜかPHP利用者叩きにシフトする流れはもううんざり

778:デフォルトの名無しさん
08/04/18 18:34:06
だからRuby選べって。

779:デフォルトの名無しさん
08/04/18 18:36:35
わかってるんだよ、すべてRuby信者の工作ってことをね

780:デフォルトの名無しさん
08/04/18 18:38:12
Rubyはすばらしい言語だぞ

781:デフォルトの名無しさん
08/04/18 18:49:30
>>748のような意見が素だとするとかなり根は深い

782:デフォルトの名無しさん
08/04/18 18:57:16
Rubyを使ってから、
他の言語を選択しなさい。
出口が見えるはずです。

783:デフォルトの名無しさん
08/04/18 19:52:29
てか、Rubyさー、ワンライナーとか、ゴルフやっているうちが楽しいんだが、
開発規模がでかくなるにつけ、キツクなってくる・・・
動的型やダックタイピングのせいで、コンパイルというかラン時に最低限のエラーすら
発見できないので、テスト書きまくるハメになる。
テストが多すぎて、従来の静的型と同じくらいコードかかなくちゃいけない orz

なんのために、Rubyにしたんだーってなる。

他の動的型の言語もそうなのかもしれないけど・・・
みんなどうしてるんだろう

784:デフォルトの名無しさん
08/04/18 19:53:13
訂正

> 動的型やダックタイピングのせいで、コンパイルというかラン時に最低限のエラーすら
動的型やダックタイピングのせいで、コンパイルというか起動したときの最初に、最低限のエラーすら

785:デフォルトの名無しさん
08/04/18 19:54:51
InfoQ: David Pollak氏 lift と Scala を語る
URLリンク(www.infoq.com)

今、このキレた外人の気持ちが本当にわかるw
型ありScalaに走りたくなる気持ちも

786:デフォルトの名無しさん
08/04/18 21:32:31
動的型の場合はむしろテストテストテストテストテストが基本じゃね

787:デフォルトの名無しさん
08/04/18 21:36:13
その基本のテストテストテストテストテストのせいで結局手間が静的言語より余分にかかってたんじゃ意味がないのではって話じゃないの?

788:デフォルトの名無しさん
08/04/18 21:43:50
事前コンパイル時間が不要(つまりLL)かつ動的言語であることは、テスト前提の開発手法を加速する
静的言語と比較するなら、テスト込みとの時間で比較しなければならない

789:デフォルトの名無しさん
08/04/18 21:52:00
>>783
それはRubyだけの問題じゃないのか?

790:デフォルトの名無しさん
08/04/18 22:05:20
Rubyを使えば世界は救われるんだ!!!!!!!

791:デフォルトの名無しさん
08/04/18 22:14:51
動的言語であることによる余分なテスト量ってそんなに増えるかな?
静的言語にはないテスト区分が必要というのは理解するけど、相対的にそう増えてるようにも見えないぞ。

あと、JavaやC++以外の言語は原理的に大規模開発には向かないんで、対応範囲の見極めに注意。

792:デフォルトの名無しさん
08/04/19 00:39:50
>>791
まじめにテストを行うとなると結局型チェックと同じようなことを
自分でやらないといけなくなるからな。
スコープの広い変数の名前を変えたときなんて、ほんとにちゃんと動くかガクブルだよ。

> あと、JavaやC++以外の言語は原理的に大規模開発には向かないんで、対応範囲の見極めに注意。
>
これはそのとおり。
ただ最初小規模でも時間の経過と共に中規模~大規模になることはよくあるんで、
そういうときに動的言語だと対応が難しくなる。
あと、最近はエンタープライズとかなんとかで、大規模開発に駆り出される機会が増えているような気がする。
matzが「Rubyは大規模に向かない」という事実に気づいてくれるといいのだけど。

793:デフォルトの名無しさん
08/04/19 00:51:16
>matzが「Rubyは大規模に向かない」という事実に気づいてくれるといいのだけど

うまく言ってるのかどうかわからんけど楽天がすでにRubyによる大規模開発に着手していて
URLリンク(opentechpress.jp)
まつもとがそれに参加しちゃってるので
URLリンク(itpro.nikkeibp.co.jp)
事実がどうだろうと絶対にまつもとはそんなこと言わないだろうなw

794:デフォルトの名無しさん
08/04/19 01:17:41
まつもとが参加して失敗すれば言い訳できない例証になるな。

795:デフォルトの名無しさん
08/04/19 01:39:15
お前ら言語の用途がおかしい。

LLは、自分が楽をするための言語だぞ。ツール作ったり、テストの
自動化したりするためのツールだ。大規模開発にむいてるわけないだろう。

適用分野が違いすぎるのだよ、何言ってんだオマエラ。

796:デフォルトの名無しさん
08/04/19 01:40:17
楽天に言えよw

797:デフォルトの名無しさん
08/04/19 01:47:13
>>792
URLリンク(www.rubyist.net)

798:デフォルトの名無しさん
08/04/19 02:02:29
ソケット通信するのに最適なLLは何?


799:デフォルトの名無しさん
08/04/19 07:22:20
あたかも静的型言語ではテストしなくてもいいかのような物言いをする香具師がいるようだが、
それはあまりにも認識が甘いのでは。

800:デフォルトの名無しさん
08/04/19 07:35:17
>>798
perlかpython

801:デフォルトの名無しさん
08/04/19 09:15:10
>>798
俺ならPython使うな。
生ソケットでも各種プロトコルでも標準ライブラリで結構カバーされてるし。

802:デフォルトの名無しさん
08/04/19 09:20:42
>>795
ググルに言ってやれ。お前らpythonの使い方まちがってるってwww

803:デフォルトの名無しさん
08/04/19 10:58:52
Pythonのサクシャがググル社員になっちゃってるからな

804:デフォルトの名無しさん
08/04/19 11:09:24
>>799
誰もそんなこと言ってない
印象操作乙

805:デフォルトの名無しさん
08/04/19 11:10:57
優秀なプログラマならモジュール化ぐらいあれば大抵の言語で大規模開発できるでしょ。

806:デフォルトの名無しさん
08/04/19 11:16:42
>>804
実際には言ってないから「あたかも~かのような」って表現になるんだよ。

実際に誰かが言っているのに、こんな表現したらアホだろw

807:デフォルトの名無しさん
08/04/19 11:19:15
その言語の優秀なプログラマなんて日本に100人いるかいないなのが問題だな
ほとんどのプロジェクトは「下の中から中の上までの普通のプログラマたち」によって回される
よって、ほとんどのプロジェクトは大規模になると破綻、それはLL系列で顕著

まあ当たり前の話っちゃそうなんだが

808:デフォルトの名無しさん
08/04/19 11:21:10
ぐぐるみたいに優秀な人材あつめてるところならちゃんとできるんだろうな。

809:デフォルトの名無しさん
08/04/19 11:23:18
>>807
てかむしろ逆で、その言語自体の中枢開発者がいるから大規模案件を回せるんだよな
まつもとゆきひろの力を借りれなかったのなら楽天がRubyを選択したかどうか怪しいし
Python開発者がGoogleにいなかったらGoogleでPythonが使用されたかどうか激しく疑問だ

810:デフォルトの名無しさん
08/04/19 11:24:10
>>805
優秀な開発者を何人集められるのだ?

811:デフォルトの名無しさん
08/04/19 11:25:07
会社に富と名声があれば何人でも集められるだろ。

812:デフォルトの名無しさん
08/04/19 11:28:32
富士通のことですね
わかります

813:デフォルトの名無しさん
08/04/19 11:33:34
>>806
だから、そう思ってるのはお前だけって意味だよ
印象操作乙

814:デフォルトの名無しさん
08/04/19 11:36:50
>>812
日立のことですよ。心外な。

815:デフォルトの名無しさん
08/04/19 11:43:58
>>809
>まつもとゆきひろの力を借りれなかったのなら楽天がRubyを選択したかどうか怪しい

時系列的には楽天がRuby案件を発表した数ヵ月後にまつもとを招聘したって形だけどなw

816:デフォルトの名無しさん
08/04/19 11:46:06
>>815
前日の電話一発でコトが済むと思ってるニート君乙

817:デフォルトの名無しさん
08/04/19 11:56:29
GoogleだってPythonを負荷の高いサービス構築には使っていないのに
Rubyはどうなのか? と。
RoRで実装されたTwitterの遅っぷり,メンテで止まりまくりな体たらくを見て思うのです。

818:デフォルトの名無しさん
08/04/19 11:58:57
>>816
スラッシュドットのまつもとの書き込みを見る限りでは報道時点では
まつもとが楽天の招聘を受け入れること以外は何も決まってなかったみたいだな
これも本当かどうかわからんけどソースのないことで水掛け論しても意味ないだろ

819:デフォルトの名無しさん
08/04/19 12:52:40
>>817
Twitter が Ruby で実装されてるのは Ruby の責任だよね!

820:デフォルトの名無しさん
08/04/19 13:03:46
>>813
そんな意味にはならない。それはさっきと別の意見を書いてるだけ。
そんでもって、お前にわかるのはお前のことだけ。他の全員の思考を勝手に決めないように。
ほんと痛いね。

821:デフォルトの名無しさん
08/04/19 14:03:19
>>820
横レスだが静的言語だとテスト要らない的なことはまだ誰も言ってないだろと

822:デフォルトの名無しさん
08/04/19 14:26:28
>>820
>他の全員の思考を勝手に決めないように

オマエモナー

823:デフォルトの名無しさん
08/04/19 17:14:22
>>799はどの発言をさしてそのように思ったんだ?
耳元で誰かがささやいたのか?

824:デフォルトの名無しさん
08/04/19 17:43:07
>>820
× TwitterがRubyで実装されてるのはRubyの責任
○ Twitterがよく落ちるのはRubyとRoRにも責任がある

825:デフォルトの名無しさん
08/04/19 18:12:26
>>787とかかなあ。よくわからんけど。

826:デフォルトの名無しさん
08/04/19 20:57:42
>>795
Railsの作者にも言ってくれ

>>799
誰もそんなこといってない。動的型だと飛躍的に多くなるということだ

>>817
TwitteのバックエンドはRubyじゃないっしょ

827:デフォルトの名無しさん
08/04/19 21:07:43
>>826
twitterのバックエンドにerlang使ってるというのはガセだったはず。

828:デフォルトの名無しさん
08/04/19 21:40:32
大規模で負荷がでかい奴はJavaなのかねえ

829:デフォルトの名無しさん
08/04/19 22:01:00
どれくらいが大規模なんだよ

830:デフォルトの名無しさん
08/04/19 22:47:10
>>824
2chが落っこちたらLarry Wallに抗議しないといかんな

831:デフォルトの名無しさん
08/04/19 23:02:25
2chは半分がc(Apache module)で実装されてる

832:デフォルトの名無しさん
08/04/19 23:03:24
もう半分は

833:デフォルトの名無しさん
08/04/19 23:04:41
perl

834:デフォルトの名無しさん
08/04/19 23:08:03
2chはPerlとmod_cgidso(C言語のCGIをモジュールとして動かすモジュール)で作ってるよ

835:デフォルトの名無しさん
08/04/19 23:31:53
>>829
並以下のPGを使わなければいけない規模。

836:デフォルトの名無しさん
08/04/19 23:57:14
派遣入れないとどうしようもないってのは大規模の証かもしれん

837:デフォルトの名無しさん
08/04/20 01:30:20
>>830
落ちたらLarryに文句いってもいいと思うぞ。
まあ、明らかな攻撃を受けたときくらいしか落ちないけどね。

838:デフォルトの名無しさん
08/04/20 01:36:10
2chってどの程度perlつかってんの?

839:デフォルトの名無しさん
08/04/20 06:56:43
>>838
(低レベルな)ファイル操作以外の部分。

840:デフォルトの名無しさん
08/04/20 08:11:39
>>826
いや、C0でもC1でも、同じテスト基準を満たすために必要なテストケースの量は
動的型だろうが静的型だろうが同じだと思うが。
もし静的型のほうが少ないのなら、それは静的型でのテストをサボってるだけ。

841:デフォルトの名無しさん
08/04/20 12:23:44
>動的型だろうが静的型だろうが同じだと思うが。
実績はそうじゃない事を示している話。
>>785参照。

842:デフォルトの名無しさん
08/04/20 12:35:07
動的だとtypoをいぶり出す努力も必要だから仕方なしや

843:デフォルトの名無しさん
08/04/20 13:00:46
>>842
typoやメソッドの有無によるバグはC0で完全にカバーされるだろ。
静的型でもC0を満たそうとしたら同じ量のテストケースが必要になるぞ。


844:デフォルトの名無しさん
08/04/20 13:46:02
静的で必要でないことも動的では必要になる。つまり同じ量ではない

845:デフォルトの名無しさん
08/04/20 14:08:50
>>844
具体的には、どんなこと?
C0ではカバーされないようなことがコンパイル時に検査できるとは思えないのだが。

846:デフォルトの名無しさん
08/04/20 14:23:46
言語仕様でエラーにならない部分のテスト

847:デフォルトの名無しさん
08/04/20 15:08:34
>>846
全然具体的なじゃいじゃん。
変数の型に関するバグもC0で十分発見できるし、
メソッドの有無もC0でほぼカバーできる。
変数名やメソッド名のtypoなんかは言うまでもなくC0テストで十分。

C0で発見できないが静的型のコンパイル時チェックで発見できるバグの実例を見せてくれ。

848:デフォルトの名無しさん
08/04/20 16:03:42
type=1;
typo=type*2;//<-本当はtypeを2倍したい
print(type);

849:デフォルトの名無しさん
08/04/20 16:12:22
Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー
URLリンク(d.hatena.ne.jp)

               . -―- .      やったッ!! さすがnaoya!
             /       ヽ
          //         ',      おれたちにできないことを
            | { _____  |        平然とやってのけるッ!
        (⌒ヽ7´        ``ヒニ¨ヽ
        ヽ、..二二二二二二二. -r‐''′     そこにシビれる!
        /´ 〉'">、、,,.ィ二¨' {.  ヽ     _ _      あこがれるゥ!
         `r、| ゙._(9,)Y´_(9_l′ )  (  , -'′ `¨¨´ ̄`ヽ、
         {(,| `'''7、,. 、 ⌒  |/ニY {               \
           ヾ|   ^'^ ′-、 ,ノr')リ  ,ゝ、ー`―-'- ∠,_  ノ
           |   「匸匸匚| '"|ィ'( (,ノ,r'゙へ. ̄ ̄,二ニ、゙}了
    , ヘー‐- 、 l  | /^''⌒|  | | ,ゝ )、,>(_9,`!i!}i!ィ_9,) |人
  -‐ノ .ヘー‐-ィ ヽ  !‐}__,..ノ  || /-‐ヽ|   -イ,__,.>‐  ハ }
 ''"//ヽー、  ノヽ∧ `ー一'´ / |′ 丿!  , -===- 、  }くー- ..._
  //^\  ヾ-、 :| ハ   ̄ / ノ |.  { {ハ.  V'二'二ソ  ノ| |    `ヽ
,ノ   ヽ,_ ヽノヽ_)ノ:l 'ーー<.  /  |.  ヽヽヽ._ `二¨´ /ノ ノ
/    <^_,.イ `r‐'゙ :::ヽ  \ `丶、  |、   \\'ー--‐''"//
\___,/|  !  ::::::l、  \  \| \   \ヽ   / ノ

850:デフォルトの名無しさん
08/04/20 17:28:36
>>848
普通にC0のテストケースで検出できるはずだが。

851:デフォルトの名無しさん
08/04/20 17:32:20
>>847
結合テストや実際の運用時には
単体テストでは意図しない型でメソッドが呼び出される可能性がある。
そのような前提の場合、カバレッジ率を100%にしても型エラーが発生する可能性がある。

852:デフォルトの名無しさん
08/04/20 17:40:58
>>851
呼び出す側では単体テストしないのか?

853:848
08/04/20 17:43:56
>>850
本質だけぬきだしてみた。

条件分岐が入ったら、境界値を含むテストでなければ検出できない物になる場合がある。
そういう場合を想像できないか?


854:デフォルトの名無しさん
08/04/20 17:47:47
>>853
境界条件上でのバグは確かに存在するな。
で、それは静的型言語でも同じだと思うのだが。
動的型言語だからテストの量が増えるという根拠を示してくれよ。

855:デフォルトの名無しさん
08/04/20 17:48:38
>>852
そこは動的型付けの言語だから増える部分だろ。
それ以前に、呼び出される側が、渡って来る可能性のある全ての型を知る必要があるのは、動的型付けの言語での開発としては、ナンセンスだな。

856:デフォルトの名無しさん
08/04/20 17:49:44
静的言語なら宣言してない識別子が出たところで検出できるだろうに。

857:デフォルトの名無しさん
08/04/20 17:54:36
静的言語を知らないやつが質問してるから、
自分で何を聞いてるのか解らなくなってるって事か。

858:デフォルトの名無しさん
08/04/20 17:55:06
>>855
だからさ、呼び出す側だってどうせC0テストぐらいするだろ。
それとも静的型なら呼び出す側はC0すら通さなくていいって話か?

>>856
宣言していない識別子が出ているだけならC0で発見できるだろ。

859:デフォルトの名無しさん
08/04/20 17:56:22
>>857
というより、C0テストすら知らない奴が話を混乱させていると思われ。

860:デフォルトの名無しさん
08/04/20 17:57:26
>宣言していない識別子が出ているだけならC0で発見できるだろ。
無理言うなwww

861:デフォルトの名無しさん
08/04/20 17:59:57
全てのコード上の式およびステートメントが1通り以上実行されているのだから、
宣言していない識別子が出ていれば当然発見できるでしょ。

862:デフォルトの名無しさん
08/04/20 18:00:39
ああ、やっぱり知らないのか。
C0君は動的言語について、すこし勉強してから来るように。

863:デフォルトの名無しさん
08/04/20 18:05:40
>>861
宣言されてない識別子を使った時点で、宣言されたことになる言語はごまんとあるわけだが

864:デフォルトの名無しさん
08/04/20 18:06:43
>>848が意図的にtypoという別の変数に入れたものなのか変数名を間違えただけなのかを明確に区別できる方法があるなら教えてほしい

865:デフォルトの名無しさん
08/04/20 18:10:31
条件1: 静的型言語L1で記述されたプログラムP1に対して、
    テスト基準C0を満たすテストケースT1を実行し、エラー0の結果を得る。

条件2:動的型言語L2で記述されたプログラムP2に対して、
    において、テスト基準C0を満たすテストケースT2を実行し、エラー0の結果を得る。

また、P1およびP2は同じ仕様に基く、内容も1対1に対応するものとする。

一般に動的型言語のほうが有意にテスト量が大きくなることを示すためには、
以下の1いずれかを満たす必要がある。

結論1: | T2 | が | T1 | よりも有意に大きくなる。
結論2: P1もP2も未発見のバグを含んでいる可能性は残っているが、
     条件2で未発見のバグが同様の実装をされた条件1で発見されるものが
     条件1で未発見のバグが同様の実装をされた条件2で発見されるものよりも
     有意に大きくなる。

さあ、結論1でも結論2でも、実例なり根拠なりを示してくれ。

866:デフォルトの名無しさん
08/04/20 18:12:01
3行にまとめて欲しい

867:デフォルトの名無しさん
08/04/20 18:13:00
>>863
で、その宣言されていない変数を使っても、仕様通りの結果が得られるわけか?
C0を満たすというのはそういう意味なのだが。

>>864
仕様で求められている結果が得られるかどうか。つまり、>>848の例でいえば、
仕様は「2を印字する」であるはずだから、>>848のコードは仕様を満たさず、
テストでエラーとして検出される。

868:デフォルトの名無しさん
08/04/20 18:13:45
結論: 動的言語でテストが増えると言ってる奴は、C0テストの意味すら知らない香具師だった。

869:デフォルトの名無しさん
08/04/20 18:14:47
>>848が端的に表現してるのに・・・

870:デフォルトの名無しさん
08/04/20 18:16:22
>>869
>>848を通してしまうようなテストはテストとは言わない。
C0テストで一発で発見できる。

871:デフォルトの名無しさん
08/04/20 18:16:52
宣言されていない変数を使っても、仕様通りの結果が得られるパターンなんか無限にあるだろうに

872:デフォルトの名無しさん
08/04/20 18:19:30
>>871
そう。宣言されている変数を使っていても、仕様通りの結果が得られるパターンなんか無限にあるだろうに。

873:デフォルトの名無しさん
08/04/20 18:19:55
しかもC0は条件の組み合わせや通すコードの順番には無頓着だから、
入力と結果の組み合わせは網羅できないんだがな。
C0通ると全ての場合について網羅されると勘違いしてるのかな。

874:デフォルトの名無しさん
08/04/20 18:19:58

宣言されている別の変数を使っていても、仕様通りの結果が得られるパターンなんか無限にあるだろうに。


875:デフォルトの名無しさん
08/04/20 18:22:35
>>873
単純なtypoや実装されていないメソッド叩いたりするのは検出できるだろ。
>>848がまさにいい例だ。

876:デフォルトの名無しさん
08/04/20 18:23:22
>>853


877:デフォルトの名無しさん
08/04/20 18:24:20
>>876 >>854読め

878:デフォルトの名無しさん
08/04/20 18:25:59
//ほらよ
type=arg1;//arg1,arg2:入力値
typo=type*arg2;
if(type>200)print('big');

879:デフォルトの名無しさん
08/04/20 18:26:54
今どき境界値すら試さないテストしてるマヌケがいるのか?

880:デフォルトの名無しさん
08/04/20 18:27:40
>>878
で、C0を満たすテストケースは?

881:デフォルトの名無しさん
08/04/20 18:29:23
// これは?
int type, typo;
type = arg1;
typo = arg2;
typo = type * arg3;
if (type > 200) print ('big');

これと>>878との本質的な違いは何だ?

882:デフォルトの名無しさん
08/04/20 18:30:11
>>878
それは境界値テストで発見されるだろ。テストの初歩だよ、初歩。

883:デフォルトの名無しさん
08/04/20 18:32:57
存在する境界値を網羅するのは、C0の範疇じゃ無いんだが・・・

884:デフォルトの名無しさん
08/04/20 18:35:26
(arg1='2',arg3=5)なんてのが飛んで来るかもしれないのが動的言語。

885:デフォルトの名無しさん
08/04/20 18:35:48
>>883
そうだね、C0の範疇じゃないね。でも実際には境界値はまっさきにテストする項目だよね。

886:デフォルトの名無しさん
08/04/20 18:38:36
お、C0で全部検出できるって言ってたのにいつの間にか話を変えてるな

887:デフォルトの名無しさん
08/04/20 18:38:47
>>884
可変長パラメータは静的型言語はデフォルト値が与えられるけど、どのみちC0じゃ検出できない。
ところでいつから動的言語が比較対象になったんだ?
てっきり動的型言語が比較対象だと思っていたのだが。

888:デフォルトの名無しさん
08/04/20 18:39:22
>>886
全部検出できるなんて言ってないよ。必要なテストの量に有意な差は出ないとは言ってるが。

889:デフォルトの名無しさん
08/04/20 18:40:29
>>843
>typoやメソッドの有無によるバグはC0で完全にカバーされるだろ。

890:デフォルトの名無しさん
08/04/20 18:40:46
>>865
「100%のカバレッジを達成しないと、タイポや実はメソッドが存在しない等の可能性が残る」
もはやこれだけで、結論1を満たしていると思うのだけど。
カバレッジ100%を保証すべきというのは分かるけど、普通は(特に個人だと)そこまでやらんのではないか。

あと、一部の動的言語では
・実行中に関数が定義
できたり
・実行時にメソッドが定義
できたり
・実行中にほとんどのクラスが使っているような基本的なオブジェクトの振る舞い(RubyならNilClassとか)を変える
ことができたりする。
この前提だと、結論1か結論2(もしくは両方)を満たさざるを得ないのではないか?
特にこういう機構をふんだんに使っている(メタプログラミング)場合、テスト自体が困難を極めると思う。

891:デフォルトの名無しさん
08/04/20 18:49:19
>>887
静的型付けの動的言語については考えていなかった。
すこし反省している。

892:デフォルトの名無しさん
08/04/20 18:59:02
> 特にこういう機構をふんだんに使っている(メタプログラミング)場合、テスト自体が困難を極めると思う。

ヤバい箇所が機械的に限られるJavaのほうが
どこが地雷源かわからないRubyよりましだと思うんだ

893:デフォルトの名無しさん
08/04/20 19:03:13
>>884
そして、'2'*5を評価した値が10の実装もあれば、"22222"の実装もあったりする。

894:デフォルトの名無しさん
08/04/20 20:45:52
849がスルーされてワロタ

895:デフォルトの名無しさん
08/04/20 23:56:48
結局のところ小規模か大規模かの問題じゃないよな

896:デフォルトの名無しさん
08/04/21 03:32:41
強いて言えば、型指定のある言語の方が
IDEの補助を受けやすいってのはあるかな。

897:デフォルトの名無しさん
08/04/21 05:31:34
>>890
そうなんだよな。テスト屋殺すにゃevalの1つもあれば十分なんだよ。

898:デフォルトの名無しさん
08/04/21 06:38:01
>>893
俺もC0で型チェックのかわりは無茶だと思うが、
'2'*5が10か'22222'かは言語仕様で一意に決まるだろwww

つーか、どっちになるか知らずにコード書く馬鹿は
どんな言語使ってもどのみちバグまみれだって。

899:デフォルトの名無しさん
08/04/21 07:17:24
>>898
前者は一見して期待した結果になるからやっかいだ。
まぁ、一意に決まらない言語もあるが、それはおいといて。

900:デフォルトの名無しさん
08/04/21 07:54:33
>>898
演算子オーバーロードを忘れてる

901:デフォルトの名無しさん
08/04/21 09:56:43
もう動的型言語とか関係ないな

902:デフォルトの名無しさん
08/04/21 10:32:07
つまり、なでしこ最強

903:デフォルトの名無しさん
08/04/21 16:35:10
scalaに乗り換えますた。


904:デフォルトの名無しさん
08/04/21 16:58:02
まあLLにこだわるこたないからな
erlangとかも面白いしね

905:デフォルトの名無しさん
08/04/21 19:30:09
>>843 C0で全部カバーできると言い
>>847 C0で発見できないバグの実例を見せてくれとまで言ってたのに
微妙にそういう話が出てくると
>>883 境界線は真っ先にテストする項目だろと全部カバーできる発言を覆すあたり
負けず嫌いがこのスレに常駐してるようですね

906:デフォルトの名無しさん
08/04/21 20:27:38
結論は>>890だな。
C0基準でもカバレッジ100%のテストをする香具師なんて滅多にいない。
静的言語はコンパイラさえ通っちゃえばコマンドライン2-3度叩いてヌルポ出なきゃOK。

907:デフォルトの名無しさん
08/04/21 21:44:27
つまりぬるぽが出ない言語ならなんもしなくてOK。


908:デフォルトの名無しさん
08/04/24 00:09:43
さすがに引いた

909:デフォルトの名無しさん
08/04/24 19:29:41
じゃあ俺は押そう。

910:デフォルトの名無しさん
08/04/24 20:27:04
だったら俺は、はさまってみよう。

911:デフォルトの名無しさん
08/04/25 02:07:05
そして私は潰される。

912:デフォルトの名無しさん
08/04/25 02:53:10
俺は素数を数えて落ちつく


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch