静的型付け言語の潜在開発生産性は今の100倍 ×5

■ このスレッドは過去ログ倉庫に格納されています
2013/11/24(日) 15:06:08.63
int a = 1;
a = "a"; ← エラーになる。
型がない言語ではできない芸当です。(爆笑)


人間がやっていたことを、コンピュータにやらせる。
これが生産性を上げる最大の方法。
コンピュータは間違わない、同じ事を何度も高速に行える。

その為に、コンピュータがコードの意味を正確に
認識できる方法が必要。実行しないとわからないことは
コンピュータは認識できない。

すなわち静的型付け言語であれば、実行しなくてもわかるので
コンピュータが理解できる。そうすれば様々な
コンピュータの高度な情報支援が得られる。

コンピュータのバックアップを受け、人間の生産性は
限りなく向上する。

前スレ
静的型付け言語の潜在開発生産性は今の100倍 ×4
http://toro.2ch.net/test/read.cgi/tech/1383572174/
2013/11/24(日) 15:09:38.06
静的厨は人間失格w
2013/11/24(日) 15:11:19.87
ちなみに動的言語でも変数に型とは別に不変条件を設定して、
不正な代入をエラーにする機能は実装可能だよ。

静的厨って空気を吸うように嘘をつくんだね。
静的厨って人間として最低のクズだねw
2013/11/24(日) 15:12:16.26
>>3
全く同じコードでないと
実装したとはみなしません。
2013/11/24(日) 15:16:56.54
静 的 型 付 け 言 語 = う そ つ き 言 語
6デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:17:15.03
動的言語ってJavascriptとかでしょ?
じゃあもう結論出てるっしょ。
変なとこクルックしたらおかしくなるページとか普通にあるし。
変なとこクルックするのが悪いとかいうけど、変なとこあったらクルックしたくなるよね。
普通だよね。
7デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:23:46.28
>>6
見たことねえよそんなページ、薄ぼんやりとした脳みそでデマ撒き散らしてんじゃねえぞ。
クッキークリッカーであらゆるものをクリックしまくった俺が言うんだから間違いない。
2013/11/24(日) 15:24:35.17
>>7
なんでクルックにツッコミ入れないの?
可愛そうだと思わない?
9デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:25:23.33
思いやりのない人なんじゃないの?
10デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:25:49.77
>>5
そうなるな。
NumOrStringの実装出せなかった時点で詐欺確定だわ。
生産性詐欺。
11デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:26:41.67
NumOrStringってなに?
12デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:28:09.65
>>8
そんなとこ指摘してたらきりがない、>>6の文章の瑕疵について指摘しようと思えば
13箇所指摘できる。俺は国語の先生やりたくてここにいるわけじゃない。静的言語厨の
悪辣な生産性詐欺を断罪するためにここにいるんだ。
2013/11/24(日) 15:28:16.78
数値と文字列の両方が格納できるクラス。
これを静的言語では実装できない。
根拠は実装出せなかったこと。
14デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:28:36.97
初心者ですよろしくおねがいします。

3 件の検索結果 時間指定なし 日本語のみ

NumOrString の検索結果が見つかりませんでした。
num or string の検索結果を表示しています。

検索ではわかりませんでした。
2013/11/24(日) 15:28:54.11
このあたりに hoge厨が逃げ込んだという目撃情報があります
若干姿を変えていますが挙動不審なため一目で分かりますので
市民の皆様は見かけても決して声をかけたりせず
近くの警察官へお知らせ下さい
2013/11/24(日) 15:29:09.75
> 数値と文字列の両方が格納できるクラス。

出来そうな気がするけど?
似たようなものに、C#のNullable型ってのがあるよ。
null+特定の型が格納できる型。
17デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:30:14.36
>>11
前スレの静的厨が考えた最強のクラス。
NumOrStringにはsetValueというメソッドがある。
値を代入するにはsetValueを使わなければならない。
2013/11/24(日) 15:30:38.46
つーか、varに相当するのは
何でも型じゃねーの?

VBでいえばVariant型でしょ?
Object型でもいいけど。
2013/11/24(日) 15:31:11.50
>>17
ほう。やっぱりできるんだ。
20デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:31:22.37
>>13
あらかじめ使う型がわかっていないのなら型消去の仕組みを使うのがいいだろね。
そうじゃなければ共用体に入れるとかだろね。

なんでそんなことで議論してるの?
2013/11/24(日) 15:32:08.55
文字列と数値を両方格納できる型を用意するのは簡単だろ

ただ、内部に状態持たせたら副作用が云々言い出すし、
それらのにhidingで書いたもケチつけるし、
何が言いたいのか分からんのが正直な所
2013/11/24(日) 15:32:41.38
>>20
一人のキチガイが
静的言語では、実現不可能だって言ってるだけ。

みてればわかるよ。まさにキチガイって感じだから。
23デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:33:10.88
>>16
じゃあやってみろよ。
24デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:33:29.28
状態を持たせるのは正しい設計だと思うけど、なんでダメなの?
魔術的なものを期待してるの?
2013/11/24(日) 15:34:47.55
コンストラクタで値を指定して、
インスタンスを作成した時から変えられないのなら
それは状態じゃないから問題ないんだよ。
26デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:35:15.36
>>19
前スレの奴は結局出せなかった。
NumOrStringを書けって言ったら「俺は興味ない」という
地獄のミサワの真似して逃亡した。
2013/11/24(日) 15:35:18.86
int a = 1;
a = "a"; ← エラーになる。
型がない言語ではできない芸当です。(爆笑)
28デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:35:24.90
わかった!お話がしたいだけで中身はそんなに関係ないんだ。
29デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:35:46.28
C++で演算子オーバーロードしてintでもStringでも扱えるVariant型ってのを作ったんだ。
そしたらたいして便利でもなく動的言語って意味ないと思った。
2013/11/24(日) 15:35:51.80
>>26
興味ないって何に対して?
2013/11/24(日) 15:37:03.09
>>30
キチガイに対してじゃね?

> だけど、ここまでヒント上げて気づかない奴に
> 俺は興味ないかな。じゃあね。

俺もキチガイに興味はないなw
32デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:37:19.66
>>24
じゃあ正しく設計したNumOrStringを書いてみろよ。
33デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:37:39.46
>>25
そういう時は素直にテンプレート使おうよ。
2013/11/24(日) 15:38:37.11
>>32
まず「正しい」の定義をしてくれ。
35デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:39:40.84
union NumOrString
{
  std::string str;
  int n;
};
2013/11/24(日) 15:39:40.80
その「正しい定義」って動的型では実装不可能なんだよな。
37デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:42:00.33
>>29
それわかるわ〜。
結局なんでも入れられるってめんどくさくなるだけなんだよねえ。
頑張って損した気分になる。
38デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:42:13.05
>>30
知らない。前スレの静的厨が言った言葉だ。
逃げ口上としてもっともらしいことを言おうとしただけで深い意味はないだろ。
彼女いない歴=年齢のやつが「俺女に興味ないから」と言ってるようなもの。
完全に防衛機制における合理化。Dの烙印を押された奴の断末魔。
39デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:44:17.87
>>34
>>24に聞けよw>>24は正しい設計だと思うって言ってんだから
その「正しい」の定義にしたがって実装していただければ幸いでございます。
2013/11/24(日) 15:46:27.28
NumOrStringってなんですか?
2013/11/24(日) 15:47:10.07
>>35
そりゃ単に同じメモリ領域にぶちこんでるだけじゃないか

"1"が1と同値になるような実装でないと認めません
42デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:47:24.40
>>13
type NumOrStr=
|Str of string
|Num of int

let s=Str "hoge"
let n=Num 100

n|>function
|Num v->数値処理
|Str v->文字処理

F#だとこんな感じか。
めんどいのでintに限定したけど他の数値型が入るようにも出来る。
上のnとかsを使うところで場合わけで処理分岐可能。上の例は直後で分岐してるので間抜けだけど。
43デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:48:03.29
静的厨は童貞。
静的を性的と脳内変換して悦楽に浸っている現実逃避の変態。
つまり、NumOrStringとは童貞が創りだした最高の女。
ゆえにそれを見せろと言ったら即座に逃亡をはかる。静的厨は卑劣極まりない。
44デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:48:59.31
何でも入れられるといいなと思う時の代表が構文解析とかだろね。
スタックに積む値に意味動作から返される値を含めて積めると便利だから。
次にスタックから取り出されて還元されるときは、それが何であるか
意味動作自体が知っているから値自体に状態が必要ないし。
僕は共用体を良く使うよ。
読み込むBNFに還元されるときの型を書いておくんだ。
頭いいでしょ?
まあ普通にこうするか。
別に頭良くないね。
45デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:50:39.73
>>37
頑張って損というのは、企業への忠誠と努力が無駄だったときくらいだな。
2013/11/24(日) 15:50:46.67
だからNumOrStringってなんだよ
47デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:51:43.05
>>46
共用体のことらしいよ。
48デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:52:42.13
>>46

943+1 :デフォルトの名無しさん [↓] :2013/11/24(日) 14:38:53.62
 >>942
 Javaで書くならこんな感じかねぇ。

 NumOrString a;
 a.setValue(1);
 a.setValue("a");

 setValueの実装はオーバーロードで。
49デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:53:11.04
>>37
頑張って損したとは思わない。
社長が女たらしで売上げの半分を社長が独占している会社で努力することだろ。
50デフォルトの名無しさん
垢版 |
2013/11/24(日) 15:55:00.51
社名を出せないヘタレがそんなこと書いちゃダメ!
2013/11/24(日) 16:03:43.15
>>45
ジジイの介護みたいな会社で努力するなら、
ホンモノの高齢者の介護をした方がマダましなんじゃないかって
52デフォルトの名無しさん
垢版 |
2013/11/24(日) 16:05:38.13
爺どもはあと10年でいなくなる、そしたら俺の天下だと思って頑張ってるけど、
そうでもないの?
2013/11/24(日) 16:06:09.56
動的型使ってる奴がみんな同レベルと思わないでくれ
NumOrStringなんて考えた奴が低能なだけ
2013/11/24(日) 16:08:27.45
>>52
重役の息子や孫がヘッドハンティングとか言ってコネで入ってきてスピード昇進なんてよくあること。
55デフォルトの名無しさん
垢版 |
2013/11/24(日) 16:12:16.74
コネで入ってきたやつに負ける程度の実力なら、下についたほうがお得な気がするけど、
そうでもないの?
56デフォルトの名無しさん
垢版 |
2013/11/24(日) 16:17:52.12
静的動的の違いより、DFAとNFAの差のほうが気になる。
DFAは実際ほとんど使われていないけど、今後はDFAじゃないとダメなんじゃないのかな?
いまDFAが使われる場所ってコンパイラとかデスクトップで完結してるような
NFAでもいいようなとこだと思うんだ。
NFAってネットワーク越しにやってくる指令の解析にさえ使われていてこれ凄く危険。
そう思わない?
57デフォルトの名無しさん
垢版 |
2013/11/24(日) 16:19:43.29
>>55
日本社会において実力っていう物の5割はコネのことだからな。
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秒で打ち切るとかそういう場当たり的な対策でいいの?
記憶領域をいくらでも使わされるとか。
そんなんでいいの?
これは言語関係ありません。
たぶん。
2013/11/24(日) 16:34:45.46
58=チューリング完全の意味も知らないバカ
2013/11/24(日) 16:34:45.74
全然話が見えてないんだけど、DFAとNFAは等価ですよ?
2013/11/24(日) 16:36:28.47
>>41
> "1"が1と同値になるような実装でないと認めません

いきなり後出し追加要件笑たわ
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人も来るわけない
68デフォルトの名無しさん
垢版 |
2013/11/24(日) 17:05:12.14
理解できませんでしたか。
2013/11/24(日) 17:07:57.68
1と"1"が同値かはともかく16と"16"だと基数は何なのよとか"0x10"は受け付けるのか
とか日本語対応で漢数字"十六"にも対応しようぜとかフランス語は16までは単語が
有るけれども17からは"10と7"の合成なんだぜとか生産性のさほど無い話に発展すれば
よいのに。
70デフォルトの名無しさん
垢版 |
2013/11/24(日) 17:10:52.26
いやここ生産性のスレだから。
2013/11/24(日) 17:14:22.31
>>68
DFAで保証の人?
何を保証してるのか説明plz
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であって、「呼んだ?」だけでは物足りない。
83デフォルトの名無しさん
垢版 |
2013/11/24(日) 21:50:39.71
定価1万円くらいのJavaの本がブックオフで105円だったので買ってきました。
2011年初版です。
なんでこんなに安くなってたんだろ。
見たところ新品みたいなのに。
これ出した人一度も読んでないよね。
こういうの流行ってるのかな?
84デフォルトの名無しさん
垢版 |
2013/11/24(日) 21:54:31.23
Javaの第二形態がJS。
もちろん進化した分Javaより強い。
2013/11/24(日) 22:03:24.72
俺JS使いだけど、
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
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倍速い
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までの総和を求めようと
しているんだな・・・」と自動的に解釈してループを使ったコードに書き直してくれる
ようになるらしい。
95デフォルトの名無しさん
垢版 |
2013/11/25(月) 00:09:49.56
3倍なら可能!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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