int a = 1;
a = "a"; ← エラーになる。
型がない言語ではできない芸当です。(爆笑)
人間がやっていたことを、コンピュータにやらせる。
これが生産性を上げる最大の方法。
コンピュータは間違わない、同じ事を何度も高速に行える。
その為に、コンピュータがコードの意味を正確に
認識できる方法が必要。実行しないとわからないことは
コンピュータは認識できない。
すなわち静的型付け言語であれば、実行しなくてもわかるので
コンピュータが理解できる。そうすれば様々な
コンピュータの高度な情報支援が得られる。
コンピュータのバックアップを受け、人間の生産性は
限りなく向上する。
前スレ
静的型付け言語の潜在開発生産性は今の100倍 ×4
http://toro.2ch.net/test/read.cgi/tech/1383572174/
探検
静的型付け言語の潜在開発生産性は今の100倍 ×5
■ このスレッドは過去ログ倉庫に格納されています
2013/11/24(日) 15:06:08.63
58デフォルトの名無しさん
2013/11/24(日) 16:22:19.48 Javaが画期的だったのはDFAであることが保障されてたことじゃないのかなあ。
あんまり話題にならないけど。
あんまり話題にならないけど。
59デフォルトの名無しさん
2013/11/24(日) 16:28:27.58 オートマトンなんかどうでもいいよ。そんなところがユーザーが気にすべきところならその言語はお粗末だ。
60デフォルトの名無しさん
2013/11/24(日) 16:32:24.15 決定性がないってことは、外部からの入力に対して計算を実時間内に
終了できることを保証できないってことだよ。
事実上無限ループさせられるってことじゃないの?
30秒で打ち切るとかそういう場当たり的な対策でいいの?
記憶領域をいくらでも使わされるとか。
そんなんでいいの?
これは言語関係ありません。
たぶん。
終了できることを保証できないってことだよ。
事実上無限ループさせられるってことじゃないの?
30秒で打ち切るとかそういう場当たり的な対策でいいの?
記憶領域をいくらでも使わされるとか。
そんなんでいいの?
これは言語関係ありません。
たぶん。
2013/11/24(日) 16:34:45.46
58=チューリング完全の意味も知らないバカ
2013/11/24(日) 16:34:45.74
全然話が見えてないんだけど、DFAとNFAは等価ですよ?
2013/11/24(日) 16:36:28.47
2013/11/24(日) 16:37:51.06
静的型付け言語=平気で嘘をつく人格障害者向けの言語
2013/11/24(日) 16:39:32.26
>>41
そんな仕様の言語は動的型でもゴミの部類ですよ
そんな仕様の言語は動的型でもゴミの部類ですよ
2013/11/24(日) 16:41:15.20
>>58
これは恥ずかしい
これは恥ずかしい
2013/11/24(日) 16:46:45.41
さすがに自演だな
こんなバカが1日に2人も来るわけない
こんなバカが1日に2人も来るわけない
68デフォルトの名無しさん
2013/11/24(日) 17:05:12.14 理解できませんでしたか。
2013/11/24(日) 17:07:57.68
1と"1"が同値かはともかく16と"16"だと基数は何なのよとか"0x10"は受け付けるのか
とか日本語対応で漢数字"十六"にも対応しようぜとかフランス語は16までは単語が
有るけれども17からは"10と7"の合成なんだぜとか生産性のさほど無い話に発展すれば
よいのに。
とか日本語対応で漢数字"十六"にも対応しようぜとかフランス語は16までは単語が
有るけれども17からは"10と7"の合成なんだぜとか生産性のさほど無い話に発展すれば
よいのに。
70デフォルトの名無しさん
2013/11/24(日) 17:10:52.26 いやここ生産性のスレだから。
2013/11/24(日) 17:14:22.31
72デフォルトの名無しさん
2013/11/24(日) 17:17:20.32 ポアソン分布について話してるとこに足し算の説明求められても
そこは自分でってなるよ。
なるよ。
ならなかったっけ?
そんな感じであります!隊長!
そこは自分でってなるよ。
なるよ。
ならなかったっけ?
そんな感じであります!隊長!
73デフォルトの名無しさん
2013/11/24(日) 17:26:07.95 うそです!
そんな感じじゃないです。
馬鹿にされたからひがんだだけっす!隊長!
そんな感じじゃないです。
馬鹿にされたからひがんだだけっす!隊長!
2013/11/24(日) 17:30:53.28
この流れに吹いてしまった俺に一言
2013/11/24(日) 17:40:44.06
つまりJavaのJVMが行うgcの待ち行列はポアソン分布に従う
76デフォルトの名無しさん
2013/11/24(日) 18:24:40.50 違う!全然違うよ!
2013/11/24(日) 18:24:51.91
まぁABC予想とともに解決する問題なんだけどね
2013/11/24(日) 18:52:15.68
JSerが出てこないとヒマだな。
79デフォルトの名無しさん
2013/11/24(日) 18:54:53.09 呼んだ?
2013/11/24(日) 21:15:38.93
>>79
でてくんなボケ
でてくんなボケ
81デフォルトの名無しさん
2013/11/24(日) 21:33:56.48 じゃあ呼ぶなよ。
めんどくさい奴だな。
めんどくさい奴だな。
2013/11/24(日) 21:42:39.70
とにかくJSネタに我田引水して「ES7で解決している」と言ってみるとかネタは無くとも
とりあえず「Cの10倍速い」と言うのが訓練されたJSerであって、「呼んだ?」だけでは物足りない。
とりあえず「Cの10倍速い」と言うのが訓練されたJSerであって、「呼んだ?」だけでは物足りない。
83デフォルトの名無しさん
2013/11/24(日) 21:50:39.71 定価1万円くらいのJavaの本がブックオフで105円だったので買ってきました。
2011年初版です。
なんでこんなに安くなってたんだろ。
見たところ新品みたいなのに。
これ出した人一度も読んでないよね。
こういうの流行ってるのかな?
2011年初版です。
なんでこんなに安くなってたんだろ。
見たところ新品みたいなのに。
これ出した人一度も読んでないよね。
こういうの流行ってるのかな?
84デフォルトの名無しさん
2013/11/24(日) 21:54:31.23 Javaの第二形態がJS。
もちろん進化した分Javaより強い。
もちろん進化した分Javaより強い。
2013/11/24(日) 22:03:24.72
俺JS使いだけど、
JavaScriptは
Cの100倍速いよ
JavaScriptは
Cの100倍速いよ
86デフォルトの名無しさん
2013/11/24(日) 22:06:23.81 100倍は無理でしょ。
常識で考えなよ。
常識で考えなよ。
2013/11/24(日) 22:09:11.37
空気戻ってきた。
2013/11/24(日) 22:57:48.80
>>86
それいったら10倍だって無理だしw
それいったら10倍だって無理だしw
2013/11/24(日) 23:37:47.79
JavaScript は C の10倍 名前が長い
2013/11/24(日) 23:40:11.03
S(100);
/* C */
int S(int n){
int i, sum;
for( i = 1; i <= n; i++ ){
sum += i;
}
return sum;
}
/* js */
function S(n){ return n * (n+1) / 2; }
そう、JavaScriptはCの100倍速い
/* C */
int S(int n){
int i, sum;
for( i = 1; i <= n; i++ ){
sum += i;
}
return sum;
}
/* js */
function S(n){ return n * (n+1) / 2; }
そう、JavaScriptはCの100倍速い
2013/11/24(日) 23:41:01.36
ジャバスクリプトとシーなら4倍だ。10倍って大げさすぎたいしたことない。
92デフォルトの名無しさん
2013/11/24(日) 23:41:34.27 くっそwミスったw
2013/11/24(日) 23:50:09.92
イーシーエムエースクリプトで6.5倍だ
2013/11/24(日) 23:51:56.76
>>90
それJavaScriptにおける最適化手法の進化について理解していない。
将来的にはn * (n+1) / 2という式から「あぁ、この人は1からnまでの総和を求めようと
しているんだな・・・」と自動的に解釈してループを使ったコードに書き直してくれる
ようになるらしい。
それJavaScriptにおける最適化手法の進化について理解していない。
将来的にはn * (n+1) / 2という式から「あぁ、この人は1からnまでの総和を求めようと
しているんだな・・・」と自動的に解釈してループを使ったコードに書き直してくれる
ようになるらしい。
95デフォルトの名無しさん
2013/11/25(月) 00:09:49.56 3倍なら可能!
96デフォルトの名無しさん
2013/11/25(月) 00:11:41.64 JSはCの二倍速い。
2013/11/25(月) 00:14:59.65
>>94
いや、それって逆じゃないの…?
いや、それって逆じゃないの…?
2013/11/25(月) 00:25:42.16
2013/11/25(月) 00:25:52.26
最終的には5050という数字を見つけると、1から100までたしたいんだなと解釈してループコードに書き換えてくれる
100デフォルトの名無しさん
2013/11/25(月) 00:31:22.06 MAPが並列で速くなるのはわかるけど
REDUCEが並列で速くなる…?
REDUCEが並列で速くなる…?
101デフォルトの名無しさん
2013/11/25(月) 00:35:55.81 >>100
もちろん、帰納的に100個のルーチンを展開してそれぞれ実行する
もちろん、帰納的に100個のルーチンを展開してそれぞれ実行する
102デフォルトの名無しさん
2013/11/25(月) 00:35:59.64 JSなら速くなる。
ES7で実装される予定。
ES7で実装される予定。
103デフォルトの名無しさん
2013/11/25(月) 00:44:37.69 >>100
隣接する偶数番目と奇数番目でペア作って並列で足し算するに決まっているでしょ。
100までの総和なら最初のイテレーションで50まで要素が減る。
100回ループ回さなくても5〜6回のイテレーションで計算できるぞ。
隣接する偶数番目と奇数番目でペア作って並列で足し算するに決まっているでしょ。
100までの総和なら最初のイテレーションで50まで要素が減る。
100回ループ回さなくても5〜6回のイテレーションで計算できるぞ。
104デフォルトの名無しさん
2013/11/25(月) 00:45:47.45 アホプログラマは5歳のガウス少年よりアホってことが良く分かりますね
105デフォルトの名無しさん
2013/11/25(月) 00:48:33.97 なあに、才能と計算リソースは無駄遣いされるものと相場が決まっている。
106デフォルトの名無しさん
2013/11/25(月) 00:52:26.29 ラズパイにUbuntu入れてJSでソフトを作りました。
結果、オープンハードで2倍、オープンOSで2倍、オープン言語で2倍、合わせて
100倍速くなりました。
これを32台つなげたクラスタは京より少しだけ速くなりました。
次は64台つなげてみたいです。
結果、オープンハードで2倍、オープンOSで2倍、オープン言語で2倍、合わせて
100倍速くなりました。
これを32台つなげたクラスタは京より少しだけ速くなりました。
次は64台つなげてみたいです。
107デフォルトの名無しさん
2013/11/25(月) 00:57:18.39 おまえら元気だよな。ネカマとJSerになりきるのはよう続かんわ。
108デフォルトの名無しさん
2013/11/25(月) 00:57:32.82 総和ならこれくらいのことはやって欲しい。;p
{Color red. Color green. Color blue} sum "=> Color white "
{Color red. Color green. Color blue} sum "=> Color white "
109デフォルトの名無しさん
2013/11/25(月) 01:00:12.87 ネタ扱いされてるけど、JSがCの二倍速いのはほんとだよ。
やってみた人だけが知ってること。
やってもいないくせにネタ扱いするのやめてくんない?
迷惑。
やってみた人だけが知ってること。
やってもいないくせにネタ扱いするのやめてくんない?
迷惑。
110デフォルトの名無しさん
2013/11/25(月) 01:05:01.46111デフォルトの名無しさん
2013/11/25(月) 01:21:52.31 ねぇ、動的型つき言語でのテスト方法教えて。
まずさ、クラスAがあるでしょ?
そのクラスAが内部で使ってるクラスBがあるでしょ?
クラスBの単体テストは簡単だよね。
クラスAの単体テストをする時、クラスBの代わりにモックを使うよね?
つまり、クラスA+偽クラスBでテストをしているわけさ。
この時、クラスBの仕様が変わるとするよね?
でも偽クラスBはクラスBのモックというだけで、クラスBとは無関係だよね?
動的型付き言語の場合。
クラスBの仕様が変わってるのに、クラスAはテストに通ってしまう。
こういう場合どうするの?
静的型付け言語ならコンパイルエラーで見つけられるけどさ。
まずさ、クラスAがあるでしょ?
そのクラスAが内部で使ってるクラスBがあるでしょ?
クラスBの単体テストは簡単だよね。
クラスAの単体テストをする時、クラスBの代わりにモックを使うよね?
つまり、クラスA+偽クラスBでテストをしているわけさ。
この時、クラスBの仕様が変わるとするよね?
でも偽クラスBはクラスBのモックというだけで、クラスBとは無関係だよね?
動的型付き言語の場合。
クラスBの仕様が変わってるのに、クラスAはテストに通ってしまう。
こういう場合どうするの?
静的型付け言語ならコンパイルエラーで見つけられるけどさ。
112デフォルトの名無しさん
2013/11/25(月) 01:27:58.30 クラスBの要件についてのテストを書いておけば
テスト通らなくなるだろ
テスト通らなくなるだろ
113デフォルトの名無しさん
2013/11/25(月) 01:33:38.72 >>110
メソッド sum の実装はコンテナ(コレクション)クラスに属してて、
{1. 2. 3} sum でも同じメソッドをコールし、演算可能ところがミソかな。
Haskell や Scalaの型クラスとかだと可能なのだろうか?
メソッド sum の実装はコンテナ(コレクション)クラスに属してて、
{1. 2. 3} sum でも同じメソッドをコールし、演算可能ところがミソかな。
Haskell や Scalaの型クラスとかだと可能なのだろうか?
114デフォルトの名無しさん
2013/11/25(月) 01:35:19.64 >>112
そりゃクラスBの要件のテストを書いておけば、
そのテストは通らなくなるよ。
でも今の問題は、クラスAのテストなんだよね。
クラスBを修正してもクラスBのモックは変わらない。
クラスBのモックを修正することを忘れれば
クラスAはテストに通ってしまう。
そりゃクラスBの要件のテストを書いておけば、
そのテストは通らなくなるよ。
でも今の問題は、クラスAのテストなんだよね。
クラスBを修正してもクラスBのモックは変わらない。
クラスBのモックを修正することを忘れれば
クラスAはテストに通ってしまう。
115デフォルトの名無しさん
2013/11/25(月) 01:37:37.15 >>114
忘れたお前の責任
忘れたお前の責任
116デフォルトの名無しさん
2013/11/25(月) 01:40:28.72117デフォルトの名無しさん
2013/11/25(月) 01:42:13.57 1、テスト志向を徹底するためには、まずデバッガを捨て去らねばならない
118デフォルトの名無しさん
2013/11/25(月) 01:42:43.12 つまりダックタイピングの限界ってことだね。
本物とモックで同じインターフェースを使っていないから
インターフェースが変わっても気づかない。
本物とモックで同じインターフェースを使っていないから
インターフェースが変わっても気づかない。
119デフォルトの名無しさん
2013/11/25(月) 01:43:38.49 余程のばかじゃない限り気付くだろ
120デフォルトの名無しさん
2013/11/25(月) 01:44:21.22121デフォルトの名無しさん
2013/11/25(月) 01:45:06.75122デフォルトの名無しさん
2013/11/25(月) 01:45:08.03 Bの要件を満たさないBを作る事がダメだと言ってるんだが
伝わってるか?
伝わってるか?
123デフォルトの名無しさん
2013/11/25(月) 01:46:07.78124デフォルトの名無しさん
2013/11/25(月) 01:46:40.20125デフォルトの名無しさん
2013/11/25(月) 01:47:48.10126デフォルトの名無しさん
2013/11/25(月) 01:50:23.40 クラスAのテストは通る
クラスBのテストも通る。
だけど、組み合わせた場合
動かないってことがあるわけだよね。
組み合わせた時インターフェースが
一致していないことを
どうやって知ればいいの?
クラスBのテストも通る。
だけど、組み合わせた場合
動かないってことがあるわけだよね。
組み合わせた時インターフェースが
一致していないことを
どうやって知ればいいの?
127デフォルトの名無しさん
2013/11/25(月) 01:51:08.32 何を言ってるんだか理解できないんだが・・
128デフォルトの名無しさん
2013/11/25(月) 01:54:39.05 >>125
え? まさか、
クラスBのモックを作ったら、
クラスBのモックもテスト書くの?
いや多分逆だな。
クラスBのテストを書いて、
そのテストを通るようにクラスBのモックを
作るんだね?
クラスBがないからクラスBのモックを書くのに、
クラスAのテストをするために、クラスBのテストを書くんだ。
で、テストを通るようにクラスBのモックを実装するんだ。
動的言語ってすごい二度手間・・・
え? まさか、
クラスBのモックを作ったら、
クラスBのモックもテスト書くの?
いや多分逆だな。
クラスBのテストを書いて、
そのテストを通るようにクラスBのモックを
作るんだね?
クラスBがないからクラスBのモックを書くのに、
クラスAのテストをするために、クラスBのテストを書くんだ。
で、テストを通るようにクラスBのモックを実装するんだ。
動的言語ってすごい二度手間・・・
129デフォルトの名無しさん
2013/11/25(月) 01:54:44.66 まあ静的型でも変更を検出出来るのはメソッドのシグネチャの変更程度であって振る舞いの
変更はやはりモックを見つけ出して振る舞いを書き換える必要はあるかな。
変更はやはりモックを見つけ出して振る舞いを書き換える必要はあるかな。
130デフォルトの名無しさん
2013/11/25(月) 02:00:38.57131デフォルトの名無しさん
2013/11/25(月) 02:00:43.17132デフォルトの名無しさん
2013/11/25(月) 02:02:24.81 よくテストがあれば大丈夫というが
テストがあってもダメな例があるということさ
テストに完璧は存在しない。
モアベターなのはなにか?で
考えるべきだ。
テストがあってもダメな例があるということさ
テストに完璧は存在しない。
モアベターなのはなにか?で
考えるべきだ。
133デフォルトの名無しさん
2013/11/25(月) 02:03:51.92 そりゃ型注釈がそのテストの代替だろ
もったいぶってないで最初からそう言えよ
もったいぶってないで最初からそう言えよ
134デフォルトの名無しさん
2013/11/25(月) 02:08:28.63 型注釈ってようするに
静的型のことだから
静的型のことだから
135デフォルトの名無しさん
2013/11/25(月) 02:09:58.40 動的型でも分かるシグニチャの変更と言ったら、
関数/メソッド名、引数の数、キーワード引数のキーワード、くらいかな?
関数/メソッド名、引数の数、キーワード引数のキーワード、くらいかな?
136デフォルトの名無しさん
2013/11/25(月) 02:11:53.91 テストに完璧は存在しない。
いやあるかも知れないが、それは途方もなく大変なものだ。
テストで重要なのはいかに質を保ったまま
テストの量を減らせるか。
その第一歩が静的型なんだ。
いやあるかも知れないが、それは途方もなく大変なものだ。
テストで重要なのはいかに質を保ったまま
テストの量を減らせるか。
その第一歩が静的型なんだ。
137デフォルトの名無しさん
2013/11/25(月) 02:12:32.36 >>134
だからその静的型の事を言ってんだよ
だからその静的型の事を言ってんだよ
138デフォルトの名無しさん
2013/11/25(月) 02:15:01.69 JSerはCerの10倍速いから大丈夫
139デフォルトの名無しさん
2013/11/25(月) 02:16:24.81 erつけりゃいいと思ってやがる。日本人ならJS屋、C屋だろが。
140デフォルトの名無しさん
2013/11/25(月) 02:18:50.99 JSドカタ
141デフォルトの名無しさん
2013/11/25(月) 02:22:33.02 それ労働基準法違反だろ
142デフォルトの名無しさん
2013/11/25(月) 02:23:39.69 JSianはCianの10倍速いから大丈夫
143デフォルトの名無しさん
2013/11/25(月) 02:28:54.59 JSの大事な部分に静的ないたずらを
144デフォルトの名無しさん
2013/11/25(月) 02:32:48.69 結局動的でテスト志向に徹するのが最良って結論だったな
いつもこの結論なのに何度も議論する意味あるのか?
無限ループに陥ってる可能性があるな
スレもテストするべきだな
いつもこの結論なのに何度も議論する意味あるのか?
無限ループに陥ってる可能性があるな
スレもテストするべきだな
145デフォルトの名無しさん
2013/11/25(月) 02:53:43.18 JSはCの2倍速いこともあるが
まあ、ここは10倍速いといっておこう
まあ、ここは10倍速いといっておこう
146デフォルトの名無しさん
2013/11/25(月) 02:54:18.88 >>144
お前が必死なのがよくわかった。
お前が必死なのがよくわかった。
147デフォルトの名無しさん
2013/11/25(月) 02:57:02.26 >>144
反論してた方がむしろ静的厨というオチだけどな
反論してた方がむしろ静的厨というオチだけどな
148デフォルトの名無しさん
2013/11/25(月) 02:58:03.82 (^q^)アウアウアー
149デフォルトの名無しさん
2013/11/25(月) 02:58:05.28 結局テストのことを考えたら静的のほうがいいべ
動的や面倒でたまらん。
そのくせ効果が少ない。
動的や面倒でたまらん。
そのくせ効果が少ない。
150デフォルトの名無しさん
2013/11/25(月) 03:00:27.73 動的言語だと実装は仕様変更に強いがテストは仕様変更に弱い?
というかテストまで仕様変更に寛容だとテストとしての目的を果たさないと言うことか。
というかテストまで仕様変更に寛容だとテストとしての目的を果たさないと言うことか。
151デフォルトの名無しさん
2013/11/25(月) 03:02:59.94 静的と動的の間の言語が最強
152デフォルトの名無しさん
2013/11/25(月) 03:09:41.81 モックにテストを書こうと思うのですが
どうやって書けばいいのでしょうか?
どうやって書けばいいのでしょうか?
153デフォルトの名無しさん
2013/11/25(月) 03:10:41.98 動的言語が仕様変更に強いというのは
幻想だと思うよ。
幻想だと思うよ。
154デフォルトの名無しさん
2013/11/25(月) 03:10:42.26155デフォルトの名無しさん
2013/11/25(月) 03:14:18.05156デフォルトの名無しさん
2013/11/25(月) 03:14:43.77 テスト志向の徹底
これがすべて
まずデバッガを排除するべし
デバッガを見つけたら廃棄
それがソフトであってもハードであっても人間であっても
デバッガと名のつくものはすべて廃棄
これがすべて
まずデバッガを排除するべし
デバッガを見つけたら廃棄
それがソフトであってもハードであっても人間であっても
デバッガと名のつくものはすべて廃棄
157デフォルトの名無しさん
2013/11/25(月) 03:15:45.63158デフォルトの名無しさん
2013/11/25(月) 03:17:17.14■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★3 [蚤の市★]
- 【朗報】ウヨの姫小野田大臣、吠える「何か気に入らないことがあったらすぐに経済威圧をする国に依存するのはリスク」脱アメリカを宣言 [856698234]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 高市早苗 「靖国神社電撃参拝」説が浮上 [163661708]
- 米タイム紙、日中の台湾問題を全力解説で中国の高市早苗批判を全力で拡散。ネトウヨは英語で反論がんばって! [792931474]
- 高市「台湾有事は日本有事!」中国「へぇ、じゃあ渡航規制&水産物輸入停止な」日本、数兆円の莫大な経済的損失で逝く [165981677]
- 【終国悲報】高市早苗、たったの10日で莫大な経済的損失を叩き出す [165981677]
