1 名前:デフォルトの名無しさん [2007/09/05(水) 22:01:42 ] 最強のLL=軽量プログラム言語は、どれよ? エントリーは、 Perl、PHP、Python、Ruby、JavaScript・・・ さあ、死ぬまで語りやがれ!!!
656 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:15:44 ] 二行目までならPowerShellが適役だけど、それ以降微妙
657 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:16:46 ] WSH
658 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 13:10:42 ] WMI
659 名前:655 mailto:sage [2008/03/02(日) 13:22:02 ] >>656 PowerShellもよさげですね。 >>657-658 うーん。 今Iron Pythonについて調べてますが、Microsoft謹製だし込み入った部分は C#で書くというてもありますね・・・ってLLの意味ないですな。
660 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 13:37:34 ] SQL
661 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 23:11:06 ] >>655 Windowsサーバ管理なら現状VBS/JScript + WSHじゃないかな。 VBSがいやならJScriptで。 特殊なCOMを使わなければどこの環境でも動くからexeを作る必要ないし。
662 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 23:42:14 ] JScriptはええぞお・・・
663 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:10:05 ] HTAを使えば、簡単なGUIも作れるしね
664 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:47:03 ] >>655 それを避けたい理由は?
665 名前:569 mailto:sage [2008/03/03(月) 02:04:54 ] >>661-664 ありがとうございます。 実はWSHは使ったことありまして、いまいち生産性が低いのが不満でした (なんというか必要な機能にたどり着くまでが回りくどい感じが)。 そういう意味ではPowerShellに期待するところもあるのですが、 JScriptですか調べてみます。 >>664 自分が管理している間はWSHなりPowerShellでいいのですが、 次の人に引き継ぐときに・・・。 あまりサーバ管理とかにリソースがさけない環境なので、情報量の少ない 言語は使いたくないのです(次の担当者に負担をかけることになるので)。 でもWindowsサーバ管理が目的ならVBAやWSHをさけるべきではないですよね。
666 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 02:47:13 ] つか、JScriptでCOMでも使えばVBSでも大して文法変わらんw (D)HTMLでGUI構成出来るから、その辺は楽っちゃ楽だが。 単純にVBSとかを使うのが自分的に嫌なだけだろ。 と、PHP嫌いの俺が言ってみる。
667 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 06:45:56 ] VB(S)が嫌いでPythonでCOM扱うプログラム書いたんだけど 結局VB(S)でやってるのと殆ど同じようなソースになって吹いた
668 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:06:57 ] VBAにもPyScripterみたいなIDEがあればいいんだけどね。 標準のIDEが糞過ぎる。
669 名前:デフォルトの名無しさん [2008/03/08(土) 13:32:32 ] 実践的なRubyのプログラムというのは文字列の処理が多かったりして、 その文字列の処理はbuilt-inの部分で処理されるので、YARV化は関係なく、 1.9だからといって速くはならない。さらに文字列がM18Nに対応したことで、 1.8よりも遅くなるという現実。 これが、1.9にm18n入れるって話を問いつめた諸氏の努力が無駄になった結果 「高速化を謳った1.9は文字列処理の鈍化によって1.8より遅くなる」が定着していく 実用的なプログラムほどYARVの恩恵が受けられないジレンマ
670 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 20:30:20 ] コピペ君ry
671 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 00:18:55 ] 実用的なプログラムは文字列処理ばかりしてる、ってなんか変な気がする・・・
672 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 00:43:41 ] >>671 Rubyの場合ってことじゃね?
673 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 00:52:55 ] >>671 もともとPerlの代替品だしな Ruby=文字列処理というのは、もちろん正確ではないけど、そんなに外してるわけでもないよ
674 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 14:11:52 ] 組み込み機能だけで一通りの文字列処理が出来るからな。 ワンライナー書くのも楽だし。
675 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 15:30:12 ] 文字列処理しないプログラムって少数派
676 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:17:40 ] 何らかの文字列処理は、ほとんどのプログラムがしてるかもしれないけど、 文字列処理がボトルネックになるほど、文字列処理がメインのプログラムっていうのも 逆に少ないんじゃないかと思うんだけど・・
677 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:43:41 ] Rubyはどの程度か知らんけど、スクリプト言語に多いパターンで、 あらゆるデータが方々で文字列として評価され得るようなのは けっこうインパクトでかいかもよ。
678 名前:デフォルトの名無しさん [2008/03/09(日) 19:09:00 ] 「WEBAPはソケット通信が遅いから事実上差は無い」とか言い出す奴って、 ヤヴァイよな。
679 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:36:44 ] Rubyはソケット通信が腐ってるからソケット通信の遅さは問題にならない
680 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:16:00 ] stringの実体がbyte[]な言語で文字列処理するのはなんとなく疲れる。
681 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:34:28 ] >>680 リストになってる言語はどうよ
682 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 21:51:57 ] lengthを取得するとバイト数でなく文字数になるならok
683 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 00:09:15 ] 合成文字はいかがなさいますか。
684 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 00:31:49 ] 合成して1文字だな
685 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:16:58 ] ごうせいっちゅうねん
686 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 19:37:52 ] 山田君、>685 の座布団全部持ってっちゃって
687 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 22:19:15 ] >>676 俺、Rubyでソースジェネレータ書いたけど、実行するのに10秒くらいかかるぞw 最適化のためにプロファイル取るとだいたい1分くらいかかるから、 もはやどうでもいいって感じなんだけど
688 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:39:35 ] >>680-681 俺も、オブジェクトかもしくは、Pascalみたいに型になってないとしんどい
689 名前:デフォルトの名無しさん [2008/03/30(日) 12:01:02 ] age
690 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:08:51 ] 知り合いが実家のホームページにウェブ予約システムを入れたいとか言い出しました でも、片手間程度でpythonやってる俺にはわからない 「CGIなら、PHPになる…か?」とかそんな次元 業者に頼めと言ったら金がかかるからやだと言われ、 時間はあるからどんなことやればいいか教えてくれたら勉強するとか言われました でも、俺は知らない なので、質問をさせて下さい ぶっちゃけ、あれって何を勉強させればいいの? それとも、pythonでも頑張ればできる?
691 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:15:49 ] >>690 > 時間はあるからどんなことやればいいか教えてくれたら勉強するとか言われました その知り合いって、一休さん?
692 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:18:54 ] python でも出来るよ。 その前に、その実家のホームページとやらはレンタルサーバーなの? レンタルならCGI不許可のところが多いと思うから、話はそこからだ。
693 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:42:22 ] 一休さんのほうがかわいい気はします サーバーは今んトコレンタルらしいです ホームページはビルダーで製作したらしいのですが 「自宅サーバー? 何それ、おいしいの?」並の意見をもらいました 止めてやった方がいいんでしょうか? それとも、これは手取り足取り教えてほしいという口説き文句なんでしょうか? わかりません むしろ、こっちが美人講師にでも手取り足取り教えて欲しいくらいなんですが… とりあえず、オンラインドキュメントでも眺めてみることにします あれは入力フォームとメールの送信とDBとカレンダーってトコでしょうか?
694 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:42:52 ] PythonをSAKURAでDjangoだろ
695 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:58:21 ] > 入力フォームとメールの送信とDB その並べてるテクノロジーの差がかなりあるんだが・・ あと、個人情報扱うんだったら情報の管理やセキュリティにも気をつけないとな。
696 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 21:09:40 ] ですよねー… なんか、否定してく内に墓穴掘ってしまってるんですよ 自らハードルあげてるって言うか… そういう訳で「お前には無理だって」という発言から切り返された 「他のトコが出来てるのに、どーして出来ないの?」という あほな意見をどうやって潰せばいいですか? もしくは頑張れば男の子の面子を潰さないでどーにか出来ますか?
697 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:42:24 ] …敗北しました いい先生になれるようにがんばろうと思います でも、一言だけ言わせて下さい。直で言えないんで… んなことで涙目になんなよ!!! 途中から思ったけど、チラ裏ですみません
698 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:57:51 ] なんか、オタクがブログによく書いてそうな、 自分だけがはしゃいでる芝居がかった感じが 鼻につく文体だな。
699 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 02:39:54 ] 教えるより自分で作ってやったほうがまだましだと思う。 散々あーでもないこーでもないという指図を覚悟の上で。
700 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:56:20 ] 俺も美人教師に三本目の足を握ってもらいたい
701 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:15:51 ] たまに居るみたいだね anima.x51.org/x/parasitictwins/frank_lentini.php
702 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 05:52:07 ] >>696 業者に頼めばいいのではないかと思うんだけどなぁ 「他のトコ」=業者の作ったサイト、じゃないの? 業者に頼めばお金はかかるけど 自分達で勉強して実現するよりは、はるかに安いと思う 勉強するのが楽しいとか、それを飯の種・商売にしたいなら話は別だけど Web予約システムを作ることに時間を割くより そのシステムを使ってどんな商品を売るか・宣伝するかに頭を使ったほうがいいよな… 前者は、業者にお願いすればできるけど 後者は、自分達にしかできないことなんだから 他者にもできることを自分達でやって 他者ではできないことをおろそかにしてしまうなんて本末転倒
703 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 08:50:35 ] そういえば4月1日ネタ、 LL界で今年はあった?
704 名前:デフォルトの名無しさん [2008/04/11(金) 12:45:46 ] >>703 あったよ Japan.internet.com コラム/developer.com japan.internet.com/column/developer/20080408/26.html
705 名前:デフォルトの名無しさん [2008/04/11(金) 12:46:38 ] Java vs Rubyの言語比較記事へのつっこみ - ’(rubikitch wanna be (a . lisper)) d.hatena.ne.jp/rubikitch/20080409/1207735420 Japan.internet.com コラム/developer.com japan.internet.com/column/developer/20080408/26.html
706 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:09:51 ] 原文これか ttp://www.developer.com/lang/rubyrails/article.php/3716356 なんか今アクセスできないみたいだけど
707 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:20:59 ] それ、4月馬鹿じゃなくて、単なる事実誤認w
708 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:26:00 ] RFCは5241と5242か
709 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 14:05:41 ] >>705 Rubyが糞だと言うことがよくわかる文章ですねwww
710 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 22:24:20 ] 無駄な宣言とかって、Java のコードに対応させてわざと書いてあるだけだよね
711 名前:デフォルトの名無しさん [2008/04/12(土) 18:10:43 ] 引く手あまたのプログラミング言語は? slashdot.jp/developers/article.pl?sid=08/04/06/2313251 --- 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 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:50:11 ] Lispが上位すぎる
713 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:07:47 ] 「CやC++、Lispの経験がある場合優遇いたします」というような書き方のマネージャやエンジニアの募集が多いな
714 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:53:04 ] Java の募集って携帯が多いんでしょ あれ、給料も安いし、ノルマ厳しいから大変じゃない?
715 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 20:34:13 ] サーバサイドじゃないの
716 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 20:40:49 ] >JavaとC/C++/C#、あとJavaScript 活躍する場が全然違う言語を持ち出して さもこれらの言語を覚えれば仕事があるように言うのはどうかと・・・・・ 例えばJavaScriptの知識があってもWebサーバやDBの知識もないと仕事にならないわけで
717 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 21:04:33 ] >>716 Web系での話をしたかったんじゃないか? まぁC++なんかはWeb系でもミドルウェア回りになるだろうけど。 (JavaScriptは例外か?) 言語はとりあえず一つ覚えてしまえば後は何とかなるしな。 どんな偉そうなバズワードを並べたところでプログラムの根本は順次・選択・繰り返しの3つしかないし。 ただし一つの言語を極めるには数年はかかるんじゃないかと思う。
718 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 23:41:47 ] >>714 携帯はCorC++じゃない? ダウンロードアプリはJavaだけど
719 名前:デフォルトの名無しさん [2008/04/13(日) 16:03:11 ] 俺は名前だけでruby選んだ。
720 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:42:15 ] 俺は名前と作者の名前だけで選ぶ気が失せた Perlの後に知ったからパクリっぽくて嫌だった まぁPerlと真珠のPearlは違うんだけどね
721 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:54:52 ] 実際Perl→Pearlから思い付いた名前らしいしな。 誕生石が6月:パール、7月:ルビーだからRuby。
722 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:55:14 ] で、今Rubyの作者はPythonにゾッコンと。
723 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:24:28 ] Pythonは、作者の俺ルールがどうしても気に入らない。
724 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:40:11 ] Rubyも似たようなもんじゃないか? 俺は関数名の{}だか引数の()だかを 改行して書こうとしたらエラーになったんでRubyは触らなくなった Perlの自由さに慣れすぎたw
725 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:42:01 ] 大勢が認めるルールはオレルールとは言わない。
726 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:43:13 ] 複数の空白を一個にまとめられただけで意味が変わる言語なんか大嫌いだ! と昔パンチカードをばらかした俺は思うのである。
727 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:47:29 ] そんなあなたにWhitespace
728 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:24:47 ] >724 そりゃRubyやPythonだと改行は文を切るものだからな。 改行前に開始カッコを書けばOKなんだが それが耐えられないなら文末を明示する言語になるわな、必然的に。
729 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 09:14:41 ] type.jp/ 調べ Java 131件 C++ 94件 PHP 53件 Perl 32件 C# 29件 COBOL 26件 Ruby 13件 Javascript 7件 Python 3件 Lisp 0件 偽装請負が多くてあまり参考にならないかも
730 名前:デフォルトの名無しさん [2008/04/16(水) 18:48:52 ] Lisp0件ってなんだよw
731 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:05:31 ] > Lisp 0件 載せる意味ねーだろw
732 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:02:45 ] Pythonは、作者の俺ルールがどうしても気に入らない。
733 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:39:13 ] >>732 Rubyも似たようなもんじゃない? あと大勢が認めるルールは俺ルールとは言わない。
734 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:14:45 ] BDFLの権利のこと?<俺ルール
735 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:34:15 ] Lispたんの事検索するの忘れてたわけじゃないよと 明示的に示したかったので0件と書いた。 まあ必要なかったよなw Java >> PHP >>> Perlだと思ってたけど海外ではPerlの方が多いんですね
736 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:57:28 ] smartyの、httpd.confで特定のページ以外からのアクセスを制限したいんだが 探し回っても載ってないんだ・・・ 誰か知らないか?
737 名前:デフォルトの名無しさん [2008/04/17(木) 00:04:13 ] age
738 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 19:21:31 ] Pythonの俺ルールって具体的に何? なんか変な文法あったっけ? あんまpython詳しくないので教えて
739 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:53:31 ] インデントが制御構造なオレルールは言うまでもないが、 代入が戻り値なしとか許せない。リストのsort()の戻り値ナシも許せない。 while ((line = file.readline()) != ""): もアウトだし、 for line in file.readlines().sort(): もアウト 気分悪すぎる
740 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:56:49 ] あとクラスに、アクセス制御がないオレルールも許せない 考えたら、なんで俺我慢してPython使ってるのだろう。Rubyいこ、Ruby
741 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:04:16 ] if X = 0: hogehoge みたいなミスが無くていいじゃないか。 あと、メソッド LIST.sort() じゃなくて、関数 sorted(LIST) を使うと 思ったことができるんだぜ。
742 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:14:06 ] >>741 プログラム10年以上やってるが、そんなミスでバグ出したことないぞ。 書き間違えたことはあるが、悩んだことはない。 そんなドウデモイイミスのために、代入が戻り値返さないなんていう オレルール作っちゃったり、インデントは制御構造とか言い出すなんて、 Pythonの作者はどれだけプログラマを信用していないのだろうか。
743 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:56:00 ] インデントが制御とか代入が戻り値なしとかは俺ルールっていうよりも思想だろ。 あとPythonダメならScalaやろうぜ
744 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:26:30 ] >>740 >あとクラスに、アクセス制御がないオレルールも許せない smalltalkerとlisperに喧嘩売ると後がうるさいぞ。
745 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:39:21 ] lambda 内に制御文書けたら、俺は Python 使おうかと思ってる。
746 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:47:05 ] そういやrubyのlamdaってどうなってんの? Proc.new { ↑これは関数オブジェクトじゃないんだよね?
747 名前:デフォルトの名無しさん [2008/04/17(木) 23:57:52 ] >>729 Delphi 4件(!) Rails 5件(筆頭が楽天ww) django 0件 ajax 9件 HTML 48件 >>741 今時、CだってRubyだってコンパイラ(インタプリタ)が文句言うよw
748 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:11:00 ] pythonはその思想から、プログラマは馬鹿ばかり、 という前提で言語を構築してる気がしてならない。 実際にpythonに群がったプログラマが馬鹿ばかりだった のかもしれないけど。
749 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:30:08 ] >pythonはその思想から どういう思想かkwsk 俺はクラスのアクセス制御とかのOOP関連が やたらおおらか(というか、あけすけというか)なのは ガチガチにしなくても、普通のプログラマなら大丈夫という 性善説に基づいているという話位しか知らん。
750 名前:デフォルトの名無しさん [2008/04/18(金) 00:38:09 ] 馬鹿ばかりというか、性悪説的思想ということ。 関係ないけど、関数型言語は頭いい人向けみたいなイメージもあるが、 実際はそうじゃなくて、性悪説的思想からも受け入れられるものだと思う。 へジルスバーグのC#が実際にそういう流れだし。
751 名前:デフォルトの名無しさん [2008/04/18(金) 00:39:06 ] 馬鹿でも使えるようにという思想で、本当に馬鹿ばっかりが集まってしまったのは、 むしろPHPだと思う。
752 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:40:02 ] Python使う奴って頭悪いってデータどこかで見た気がするわ
753 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:53:50 ] >>751 >馬鹿でも使えるようにという思想で、本当に馬鹿ばっかりが集まってしまったのは、 >むしろPHPだと思う。 PHPは言語もバカだろ。なぜなら使っている奴らばかりでなく,作ってる奴らもバカだからだ。
754 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:27:22 ] PHPなんていろんな言語の良いトコ取りしようとして 単にでかいゴミ溜めになったって感じだな 無駄に関数多すぎ
755 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:44:29 ] >>752 昨日お前がノートに書いたデータじゃないのか?
756 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:49:35 ] どこかで見ただけのデータで何か言おうとしてるほうが、よっぽどB
757 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:55:34 ] スレタイらしくなってきたな。 perl は特殊記号や省略が多過ぎて他人のコードが読める気がしない。 俺みたいなバカには向かない言語だな。
759 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 02:09:25 ] perlは自分で書く手間を最小限にできる事に価値があると思ってる。
760 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 03:12:35 ] 後で自分のコード読んで ??? ってなるけどな
761 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 08:43:21 ] もう一回最初から書けばいいじゃん^^
762 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 09:21:54 ] まあ端的に言うと 馬鹿度 Python>>>>>>>>>>>>PHP>>>>|超えられぬ壁|>>>>>>>>>Perl>=Ruby って感じで、PythonとPHP使ってる奴が馬鹿ってことはスレッドから読み取れた。
763 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 09:28:21 ] >>759 最小限の手間で書いたコードは、書いた瞬間に最大限劣化して メンテナンスができなくなるよね それがPerlの素敵なところ Perl大好き(*-*)
764 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 09:53:05 ] >>759 perl脳?
765 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 10:28:42 ] だからお前らRuby使えって。 宗教観変わるぞ。
766 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:44:19 ] >746 Rubyの場合は「関数」というと「トップレベルでレシーバ無しに呼べるメソッド」のことだからなぁ。 「関数」は無いと言っても良い。あるのはメソッドとブロックだけ。 一応UnboundMethodという所属のないメソッドはあるけど、所属を決めないと起動できない。 メソッドを起動するためにどこかのオブジェクトに所属する必要があって ブロックは所属が無い。 lambdaもprocもProc.newも、ブロックを生成するためのものとして存在する。 >765 作者のブログは確かに宗教らしいなw 俺は読んでない。
767 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:57:00 ] Rubyの作者はカルト教信者だって聞いたんですが、本当ですか?
768 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:45:28 ] while(<>) { print } を他の言語だとどんだけ書かなきゃならないかって考えるとPerlサイコー! しかし、他の言語に慣れてる奴が見たらPerlサイテーなんだろうなw
769 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:52:17 ] いや、配列から順次プリントが簡単にできるとか、魅力じゃないんだよ。 他のLL言語では、抽象的なクラスやメソッドをどう作るかとかが主力なわけで、 その点ではPerlはクソだろ。
770 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:05:49 ] >>768 の論理は帳簿とCOBOLの癒着っぷりの原因を示唆する貴重なものだと思う そうでもないか イヤモンド演算子は発明だとは思うけどね
771 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:08:32 ] ダが抜けた… >>769 Perl4 は当時は神だったんだが、あの手法は今では時代遅れで、 その上に構築された Perl5.6 もかなりいびつで… すっきり再構築したのが Perl6 になる予定だけど、それなら Perl でなくてもいいじゃん、みたいな まあ、初心者に薦めるような言語ではないな
772 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:00:27 ] いや、実際何が出来るかを言っているのではなく 省略の美wについての定番のコードな訳だ、アレは
773 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:26:25 ] >>768 AWK {print $0}
775 名前:デフォルトの名無しさん [2008/04/18(金) 17:37:04 ] >>774 それがありなら、 # Ruby print ARGF.read
776 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 17:38:36 ] どういう意図のコードかにもよるなあ >>773 Rubyで 「引数に与えられたファイルまたは標準入力の文字列を1行ずつすべて表示する」 は、おおむね puts readlines だ まあこれだと改行変わっちゃうけどな
777 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 17:52:32 ] 純粋なPHP言語批判がなぜかPHP利用者叩きにシフトする流れはもううんざり
778 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 18:34:06 ] だからRuby選べって。
779 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 18:36:35 ] わかってるんだよ、すべてRuby信者の工作ってことをね
780 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 18:38:12 ] Rubyはすばらしい言語だぞ
781 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 18:49:30 ] >>748 のような意見が素だとするとかなり根は深い
782 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 18:57:16 ] Rubyを使ってから、 他の言語を選択しなさい。 出口が見えるはずです。
783 名前:デフォルトの名無しさん [2008/04/18(金) 19:52:29 ] てか、Rubyさー、ワンライナーとか、ゴルフやっているうちが楽しいんだが、 開発規模がでかくなるにつけ、キツクなってくる・・・ 動的型やダックタイピングのせいで、コンパイルというかラン時に最低限のエラーすら 発見できないので、テスト書きまくるハメになる。 テストが多すぎて、従来の静的型と同じくらいコードかかなくちゃいけない orz なんのために、Rubyにしたんだーってなる。 他の動的型の言語もそうなのかもしれないけど・・・ みんなどうしてるんだろう
784 名前:デフォルトの名無しさん [2008/04/18(金) 19:53:13 ] 訂正 > 動的型やダックタイピングのせいで、コンパイルというかラン時に最低限のエラーすら 動的型やダックタイピングのせいで、コンパイルというか起動したときの最初に、最低限のエラーすら
785 名前:デフォルトの名無しさん [2008/04/18(金) 19:54:51 ] InfoQ: David Pollak氏 lift と Scala を語る www.infoq.com/jp/news/2008/03/liftweb 今、このキレた外人の気持ちが本当にわかるw 型ありScalaに走りたくなる気持ちも
786 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:32:31 ] 動的型の場合はむしろテストテストテストテストテストが基本じゃね
787 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:36:13 ] その基本のテストテストテストテストテストのせいで結局手間が静的言語より余分にかかってたんじゃ意味がないのではって話じゃないの?
788 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:43:50 ] 事前コンパイル時間が不要(つまりLL)かつ動的言語であることは、テスト前提の開発手法を加速する 静的言語と比較するなら、テスト込みとの時間で比較しなければならない
789 名前:デフォルトの名無しさん [2008/04/18(金) 21:52:00 ] >>783 それはRubyだけの問題じゃないのか?
790 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:05:20 ] Rubyを使えば世界は救われるんだ!!!!!!!
791 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:14:51 ] 動的言語であることによる余分なテスト量ってそんなに増えるかな? 静的言語にはないテスト区分が必要というのは理解するけど、相対的にそう増えてるようにも見えないぞ。 あと、JavaやC++以外の言語は原理的に大規模開発には向かないんで、対応範囲の見極めに注意。
792 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:39:50 ] >>791 まじめにテストを行うとなると結局型チェックと同じようなことを 自分でやらないといけなくなるからな。 スコープの広い変数の名前を変えたときなんて、ほんとにちゃんと動くかガクブルだよ。 > あと、JavaやC++以外の言語は原理的に大規模開発には向かないんで、対応範囲の見極めに注意。 > これはそのとおり。 ただ最初小規模でも時間の経過と共に中規模〜大規模になることはよくあるんで、 そういうときに動的言語だと対応が難しくなる。 あと、最近はエンタープライズとかなんとかで、大規模開発に駆り出される機会が増えているような気がする。 matzが「Rubyは大規模に向かない」という事実に気づいてくれるといいのだけど。
793 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:51:16 ] >matzが「Rubyは大規模に向かない」という事実に気づいてくれるといいのだけど うまく言ってるのかどうかわからんけど楽天がすでにRubyによる大規模開発に着手していて opentechpress.jp/news/article.pl?sid=07/03/16/0944252 まつもとがそれに参加しちゃってるので itpro.nikkeibp.co.jp/article/NEWS/20070531/273225/ 事実がどうだろうと絶対にまつもとはそんなこと言わないだろうなw
794 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:17:41 ] まつもとが参加して失敗すれば言い訳できない例証になるな。
795 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:39:15 ] お前ら言語の用途がおかしい。 LLは、自分が楽をするための言語だぞ。ツール作ったり、テストの 自動化したりするためのツールだ。大規模開発にむいてるわけないだろう。 適用分野が違いすぎるのだよ、何言ってんだオマエラ。
796 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:40:17 ] 楽天に言えよw
797 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:47:13 ] >>792 www.rubyist.net/~matz/20080324.html#p01
798 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 02:02:29 ] ソケット通信するのに最適なLLは何?
799 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 07:22:20 ] あたかも静的型言語ではテストしなくてもいいかのような物言いをする香具師がいるようだが、 それはあまりにも認識が甘いのでは。
800 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 07:35:17 ] >>798 perlかpython
801 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 09:15:10 ] >>798 俺ならPython使うな。 生ソケットでも各種プロトコルでも標準ライブラリで結構カバーされてるし。
802 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 09:20:42 ] >>795 ググルに言ってやれ。お前らpythonの使い方まちがってるってwww
803 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 10:58:52 ] Pythonのサクシャがググル社員になっちゃってるからな
804 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:09:24 ] >>799 誰もそんなこと言ってない 印象操作乙
805 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:10:57 ] 優秀なプログラマならモジュール化ぐらいあれば大抵の言語で大規模開発できるでしょ。
806 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:16:42 ] >>804 実際には言ってないから「あたかも〜かのような」って表現になるんだよ。 実際に誰かが言っているのに、こんな表現したらアホだろw
807 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:19:15 ] その言語の優秀なプログラマなんて日本に100人いるかいないなのが問題だな ほとんどのプロジェクトは「下の中から中の上までの普通のプログラマたち」によって回される よって、ほとんどのプロジェクトは大規模になると破綻、それはLL系列で顕著 まあ当たり前の話っちゃそうなんだが
808 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:21:10 ] ぐぐるみたいに優秀な人材あつめてるところならちゃんとできるんだろうな。
809 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:23:18 ] >>807 てかむしろ逆で、その言語自体の中枢開発者がいるから大規模案件を回せるんだよな まつもとゆきひろの力を借りれなかったのなら楽天がRubyを選択したかどうか怪しいし Python開発者がGoogleにいなかったらGoogleでPythonが使用されたかどうか激しく疑問だ
810 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:24:10 ] >>805 優秀な開発者を何人集められるのだ?
811 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:25:07 ] 会社に富と名声があれば何人でも集められるだろ。
812 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:28:32 ] 富士通のことですね わかります
813 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:33:34 ] >>806 だから、そう思ってるのはお前だけって意味だよ 印象操作乙
814 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:36:50 ] >>812 日立のことですよ。心外な。
815 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:43:58 ] >>809 >まつもとゆきひろの力を借りれなかったのなら楽天がRubyを選択したかどうか怪しい 時系列的には楽天がRuby案件を発表した数ヵ月後にまつもとを招聘したって形だけどなw
816 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:46:06 ] >>815 前日の電話一発でコトが済むと思ってるニート君乙
817 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:56:29 ] GoogleだってPythonを負荷の高いサービス構築には使っていないのに Rubyはどうなのか? と。 RoRで実装されたTwitterの遅っぷり,メンテで止まりまくりな体たらくを見て思うのです。
818 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:58:57 ] >>816 スラッシュドットのまつもとの書き込みを見る限りでは報道時点では まつもとが楽天の招聘を受け入れること以外は何も決まってなかったみたいだな これも本当かどうかわからんけどソースのないことで水掛け論しても意味ないだろ
819 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 12:52:40 ] >>817 Twitter が Ruby で実装されてるのは Ruby の責任だよね!
820 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 13:03:46 ] >>813 そんな意味にはならない。それはさっきと別の意見を書いてるだけ。 そんでもって、お前にわかるのはお前のことだけ。他の全員の思考を勝手に決めないように。 ほんと痛いね。
821 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 14:03:19 ] >>820 横レスだが静的言語だとテスト要らない的なことはまだ誰も言ってないだろと
822 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 14:26:28 ] >>820 >他の全員の思考を勝手に決めないように オマエモナー
823 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 17:14:22 ] >>799 はどの発言をさしてそのように思ったんだ? 耳元で誰かがささやいたのか?
824 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 17:43:07 ] >>820 × TwitterがRubyで実装されてるのはRubyの責任 ○ Twitterがよく落ちるのはRubyとRoRにも責任がある
825 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 18:12:26 ] >>787 とかかなあ。よくわからんけど。
826 名前:デフォルトの名無しさん [2008/04/19(土) 20:57:42 ] >>795 Railsの作者にも言ってくれ >>799 誰もそんなこといってない。動的型だと飛躍的に多くなるということだ >>817 TwitteのバックエンドはRubyじゃないっしょ
827 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:07:43 ] >>826 twitterのバックエンドにerlang使ってるというのはガセだったはず。
828 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 21:40:32 ] 大規模で負荷がでかい奴はJavaなのかねえ
829 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:01:00 ] どれくらいが大規模なんだよ
830 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:47:10 ] >>824 2chが落っこちたらLarry Wallに抗議しないといかんな
831 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:02:25 ] 2chは半分がc(Apache module)で実装されてる
832 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:03:24 ] もう半分は
833 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:04:41 ] perl
834 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:08:03 ] 2chはPerlとmod_cgidso(C言語のCGIをモジュールとして動かすモジュール)で作ってるよ
835 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:31:53 ] >>829 並以下のPGを使わなければいけない規模。
836 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:57:14 ] 派遣入れないとどうしようもないってのは大規模の証かもしれん
837 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 01:30:20 ] >>830 落ちたらLarryに文句いってもいいと思うぞ。 まあ、明らかな攻撃を受けたときくらいしか落ちないけどね。
838 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 01:36:10 ] 2chってどの程度perlつかってんの?
839 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 06:56:43 ] >>838 (低レベルな)ファイル操作以外の部分。
840 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 08:11:39 ] >>826 いや、C0でもC1でも、同じテスト基準を満たすために必要なテストケースの量は 動的型だろうが静的型だろうが同じだと思うが。 もし静的型のほうが少ないのなら、それは静的型でのテストをサボってるだけ。
841 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:23:44 ] >動的型だろうが静的型だろうが同じだと思うが。 実績はそうじゃない事を示している話。 >>785 参照。
842 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:35:07 ] 動的だとtypoをいぶり出す努力も必要だから仕方なしや
843 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 13:00:46 ] >>842 typoやメソッドの有無によるバグはC0で完全にカバーされるだろ。 静的型でもC0を満たそうとしたら同じ量のテストケースが必要になるぞ。
844 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 13:46:02 ] 静的で必要でないことも動的では必要になる。つまり同じ量ではない
845 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 14:08:50 ] >>844 具体的には、どんなこと? C0ではカバーされないようなことがコンパイル時に検査できるとは思えないのだが。
846 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 14:23:46 ] 言語仕様でエラーにならない部分のテスト
847 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 15:08:34 ] >>846 全然具体的なじゃいじゃん。 変数の型に関するバグもC0で十分発見できるし、 メソッドの有無もC0でほぼカバーできる。 変数名やメソッド名のtypoなんかは言うまでもなくC0テストで十分。 C0で発見できないが静的型のコンパイル時チェックで発見できるバグの実例を見せてくれ。
848 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:03:42 ] type=1; typo=type*2;//<-本当はtypeを2倍したい print(type);
849 名前:デフォルトの名無しさん [2008/04/20(日) 16:12:22 ] Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー d.hatena.ne.jp/naoya/20080419/1208579525 . -―- . やったッ!! さすがnaoya! / ヽ // ', おれたちにできないことを | { _____ | 平然とやってのけるッ! (⌒ヽ7´ ``ヒニ¨ヽ ヽ、..二二二二二二二. -r‐''′ そこにシビれる! /´ 〉'">、、,,.ィ二¨' {. ヽ _ _ あこがれるゥ! `r、| ゙._(9,)Y´_(9_l′ ) ( , -'′ `¨¨´ ̄`ヽ、 {(,| `'''7、,. 、 ⌒ |/ニY { \ ヾ| ^'^ ′-、 ,ノr')リ ,ゝ、ー`――-'- ∠,_ ノ | 「匸匸匚| '"|ィ'( (,ノ,r'゙へ. ̄ ̄,二ニ、゙}了 , ヘー‐- 、 l | /^''⌒| | | ,ゝ )、,>(_9,`!i!}i!ィ_9,) |人 -‐ノ .ヘー‐-ィ ヽ !‐}__,..ノ || /-‐ヽ| -イ,__,.>‐ ハ } ''"//ヽー、 ノヽ∧ `ー一'´ / |′ 丿! , -===- 、 }くー- ..._ //^\ ヾ-、 :| ハ  ̄ / ノ |. { {ハ. V'二'二ソ ノ| | `ヽ ,ノ ヽ,_ ヽノヽ_)ノ:l 'ーー<. / |. ヽヽヽ._ `二¨´ /ノ ノ / <^_,.イ `r‐'゙ :::ヽ \ `丶、 |、 \\'ー--‐''"// \___,/| ! ::::::l、 \ \| \ \ヽ / ノ
850 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:28:36 ] >>848 普通にC0のテストケースで検出できるはずだが。
851 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:32:20 ] >>847 結合テストや実際の運用時には 単体テストでは意図しない型でメソッドが呼び出される可能性がある。 そのような前提の場合、カバレッジ率を100%にしても型エラーが発生する可能性がある。
852 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:40:58 ] >>851 呼び出す側では単体テストしないのか?
853 名前:848 mailto:sage [2008/04/20(日) 17:43:56 ] >>850 本質だけぬきだしてみた。 条件分岐が入ったら、境界値を含むテストでなければ検出できない物になる場合がある。 そういう場合を想像できないか?
854 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:47:47 ] >>853 境界条件上でのバグは確かに存在するな。 で、それは静的型言語でも同じだと思うのだが。 動的型言語だからテストの量が増えるという根拠を示してくれよ。
855 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:48:38 ] >>852 そこは動的型付けの言語だから増える部分だろ。 それ以前に、呼び出される側が、渡って来る可能性のある全ての型を知る必要があるのは、動的型付けの言語での開発としては、ナンセンスだな。
856 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:49:44 ] 静的言語なら宣言してない識別子が出たところで検出できるだろうに。
857 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:54:36 ] 静的言語を知らないやつが質問してるから、 自分で何を聞いてるのか解らなくなってるって事か。
858 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:55:06 ] >>855 だからさ、呼び出す側だってどうせC0テストぐらいするだろ。 それとも静的型なら呼び出す側はC0すら通さなくていいって話か? >>856 宣言していない識別子が出ているだけならC0で発見できるだろ。
859 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:56:22 ] >>857 というより、C0テストすら知らない奴が話を混乱させていると思われ。
860 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:57:26 ] >宣言していない識別子が出ているだけならC0で発見できるだろ。 無理言うなwww
861 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:59:57 ] 全てのコード上の式およびステートメントが1通り以上実行されているのだから、 宣言していない識別子が出ていれば当然発見できるでしょ。
862 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:00:39 ] ああ、やっぱり知らないのか。 C0君は動的言語について、すこし勉強してから来るように。
863 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:05:40 ] >>861 宣言されてない識別子を使った時点で、宣言されたことになる言語はごまんとあるわけだが
864 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:06:43 ] >>848 が意図的にtypoという別の変数に入れたものなのか変数名を間違えただけなのかを明確に区別できる方法があるなら教えてほしい
865 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:12:01 ] 3行にまとめて欲しい
867 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:13:00 ] >>863 で、その宣言されていない変数を使っても、仕様通りの結果が得られるわけか? C0を満たすというのはそういう意味なのだが。 >>864 仕様で求められている結果が得られるかどうか。つまり、>>848 の例でいえば、 仕様は「2を印字する」であるはずだから、>>848 のコードは仕様を満たさず、 テストでエラーとして検出される。
868 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:13:45 ] 結論: 動的言語でテストが増えると言ってる奴は、C0テストの意味すら知らない香具師だった。
869 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:14:47 ] >>848 が端的に表現してるのに・・・
870 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:16:22 ] >>869 >>848 を通してしまうようなテストはテストとは言わない。 C0テストで一発で発見できる。
871 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:16:52 ] 宣言されていない変数を使っても、仕様通りの結果が得られるパターンなんか無限にあるだろうに
872 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:19:30 ] >>871 そう。宣言されている変数を使っていても、仕様通りの結果が得られるパターンなんか無限にあるだろうに。
873 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:19:55 ] しかもC0は条件の組み合わせや通すコードの順番には無頓着だから、 入力と結果の組み合わせは網羅できないんだがな。 C0通ると全ての場合について網羅されると勘違いしてるのかな。
874 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:19:58 ] 宣言されている別の変数を使っていても、仕様通りの結果が得られるパターンなんか無限にあるだろうに。
875 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:22:35 ] >>873 単純なtypoや実装されていないメソッド叩いたりするのは検出できるだろ。 >>848 がまさにいい例だ。
876 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:23:22 ] >>853
877 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:24:20 ] >>876 >>854 読め
878 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:25:59 ] //ほらよ type=arg1;//arg1,arg2:入力値 typo=type*arg2; if(type>200)print('big');
879 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:26:54 ] 今どき境界値すら試さないテストしてるマヌケがいるのか?
880 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:27:40 ] >>878 で、C0を満たすテストケースは?
881 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:29:23 ] // これは? int type, typo; type = arg1; typo = arg2; typo = type * arg3; if (type > 200) print ('big'); これと>>878 との本質的な違いは何だ?
882 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:30:11 ] >>878 それは境界値テストで発見されるだろ。テストの初歩だよ、初歩。
883 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:32:57 ] 存在する境界値を網羅するのは、C0の範疇じゃ無いんだが・・・
884 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:35:26 ] (arg1='2',arg3=5)なんてのが飛んで来るかもしれないのが動的言語。
885 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:35:48 ] >>883 そうだね、C0の範疇じゃないね。でも実際には境界値はまっさきにテストする項目だよね。
886 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:38:36 ] お、C0で全部検出できるって言ってたのにいつの間にか話を変えてるな
887 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:38:47 ] >>884 可変長パラメータは静的型言語はデフォルト値が与えられるけど、どのみちC0じゃ検出できない。 ところでいつから動的言語が比較対象になったんだ? てっきり動的型言語が比較対象だと思っていたのだが。
888 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:39:22 ] >>886 全部検出できるなんて言ってないよ。必要なテストの量に有意な差は出ないとは言ってるが。
889 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:40:29 ] >>843 >typoやメソッドの有無によるバグはC0で完全にカバーされるだろ。
890 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:40:46 ] >>865 「100%のカバレッジを達成しないと、タイポや実はメソッドが存在しない等の可能性が残る」 もはやこれだけで、結論1を満たしていると思うのだけど。 カバレッジ100%を保証すべきというのは分かるけど、普通は(特に個人だと)そこまでやらんのではないか。 あと、一部の動的言語では ・実行中に関数が定義 できたり ・実行時にメソッドが定義 できたり ・実行中にほとんどのクラスが使っているような基本的なオブジェクトの振る舞い(RubyならNilClassとか)を変える ことができたりする。 この前提だと、結論1か結論2(もしくは両方)を満たさざるを得ないのではないか? 特にこういう機構をふんだんに使っている(メタプログラミング)場合、テスト自体が困難を極めると思う。
891 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:49:19 ] >>887 静的型付けの動的言語については考えていなかった。 すこし反省している。
892 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:59:02 ] > 特にこういう機構をふんだんに使っている(メタプログラミング)場合、テスト自体が困難を極めると思う。 ヤバい箇所が機械的に限られるJavaのほうが どこが地雷源かわからないRubyよりましだと思うんだ
893 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:03:13 ] >>884 そして、'2'*5を評価した値が10の実装もあれば、"22222"の実装もあったりする。
894 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:45:52 ] 849がスルーされてワロタ
895 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:56:48 ] 結局のところ小規模か大規模かの問題じゃないよな
896 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 03:32:41 ] 強いて言えば、型指定のある言語の方が IDEの補助を受けやすいってのはあるかな。
897 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 05:31:34 ] >>890 そうなんだよな。テスト屋殺すにゃevalの1つもあれば十分なんだよ。
898 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 06:38:01 ] >>893 俺もC0で型チェックのかわりは無茶だと思うが、 '2'*5が10か'22222'かは言語仕様で一意に決まるだろwww つーか、どっちになるか知らずにコード書く馬鹿は どんな言語使ってもどのみちバグまみれだって。
899 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 07:17:24 ] >>898 前者は一見して期待した結果になるからやっかいだ。 まぁ、一意に決まらない言語もあるが、それはおいといて。
900 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 07:54:33 ] >>898 演算子オーバーロードを忘れてる
901 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 09:56:43 ] もう動的型言語とか関係ないな
902 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 10:32:07 ] つまり、なでしこ最強
903 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:35:10 ] scalaに乗り換えますた。
904 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:58:02 ] まあLLにこだわるこたないからな erlangとかも面白いしね
905 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:30:09 ] >>843 C0で全部カバーできると言い >>847 C0で発見できないバグの実例を見せてくれとまで言ってたのに 微妙にそういう話が出てくると >>883 境界線は真っ先にテストする項目だろと全部カバーできる発言を覆すあたり 負けず嫌いがこのスレに常駐してるようですね
906 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:27:38 ] 結論は>>890 だな。 C0基準でもカバレッジ100%のテストをする香具師なんて滅多にいない。 静的言語はコンパイラさえ通っちゃえばコマンドライン2-3度叩いてヌルポ出なきゃOK。
907 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:44:27 ] つまりぬるぽが出ない言語ならなんもしなくてOK。
908 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:09:43 ] さすがに引いた
909 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:29:41 ] じゃあ俺は押そう。
910 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:27:04 ] だったら俺は、はさまってみよう。
911 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 02:07:05 ] そして私は潰される。
912 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 02:53:10 ] 俺は素数を数えて落ちつく