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
2013/11/24(日) 15:09:38.06
静的厨は人間失格w
2013/11/24(日) 15:11:19.87
ちなみに動的言語でも変数に型とは別に不変条件を設定して、
不正な代入をエラーにする機能は実装可能だよ。
静的厨って空気を吸うように嘘をつくんだね。
静的厨って人間として最低のクズだねw
不正な代入をエラーにする機能は実装可能だよ。
静的厨って空気を吸うように嘘をつくんだね。
静的厨って人間として最低のクズだねw
2013/11/24(日) 15:12:16.26
2013/11/24(日) 15:16:56.54
静 的 型 付 け 言 語 = う そ つ き 言 語
6デフォルトの名無しさん
2013/11/24(日) 15:17:15.03 動的言語ってJavascriptとかでしょ?
じゃあもう結論出てるっしょ。
変なとこクルックしたらおかしくなるページとか普通にあるし。
変なとこクルックするのが悪いとかいうけど、変なとこあったらクルックしたくなるよね。
普通だよね。
じゃあもう結論出てるっしょ。
変なとこクルックしたらおかしくなるページとか普通にあるし。
変なとこクルックするのが悪いとかいうけど、変なとこあったらクルックしたくなるよね。
普通だよね。
7デフォルトの名無しさん
2013/11/24(日) 15:23:46.282013/11/24(日) 15:24:35.17
9デフォルトの名無しさん
2013/11/24(日) 15:25:23.33 思いやりのない人なんじゃないの?
10デフォルトの名無しさん
2013/11/24(日) 15:25:49.7711デフォルトの名無しさん
2013/11/24(日) 15:26:41.67 NumOrStringってなに?
12デフォルトの名無しさん
2013/11/24(日) 15:28:09.652013/11/24(日) 15:28:16.78
数値と文字列の両方が格納できるクラス。
これを静的言語では実装できない。
根拠は実装出せなかったこと。
これを静的言語では実装できない。
根拠は実装出せなかったこと。
14デフォルトの名無しさん
2013/11/24(日) 15:28:36.97 初心者ですよろしくおねがいします。
3 件の検索結果 時間指定なし 日本語のみ
NumOrString の検索結果が見つかりませんでした。
num or string の検索結果を表示しています。
検索ではわかりませんでした。
3 件の検索結果 時間指定なし 日本語のみ
NumOrString の検索結果が見つかりませんでした。
num or string の検索結果を表示しています。
検索ではわかりませんでした。
2013/11/24(日) 15:28:54.11
このあたりに hoge厨が逃げ込んだという目撃情報があります
若干姿を変えていますが挙動不審なため一目で分かりますので
市民の皆様は見かけても決して声をかけたりせず
近くの警察官へお知らせ下さい
若干姿を変えていますが挙動不審なため一目で分かりますので
市民の皆様は見かけても決して声をかけたりせず
近くの警察官へお知らせ下さい
2013/11/24(日) 15:29:09.75
> 数値と文字列の両方が格納できるクラス。
出来そうな気がするけど?
似たようなものに、C#のNullable型ってのがあるよ。
null+特定の型が格納できる型。
出来そうな気がするけど?
似たようなものに、C#のNullable型ってのがあるよ。
null+特定の型が格納できる型。
17デフォルトの名無しさん
2013/11/24(日) 15:30:14.362013/11/24(日) 15:30:38.46
つーか、varに相当するのは
何でも型じゃねーの?
VBでいえばVariant型でしょ?
Object型でもいいけど。
何でも型じゃねーの?
VBでいえばVariant型でしょ?
Object型でもいいけど。
2013/11/24(日) 15:31:11.50
>>17
ほう。やっぱりできるんだ。
ほう。やっぱりできるんだ。
20デフォルトの名無しさん
2013/11/24(日) 15:31:22.372013/11/24(日) 15:32:08.55
文字列と数値を両方格納できる型を用意するのは簡単だろ
ただ、内部に状態持たせたら副作用が云々言い出すし、
それらのにhidingで書いたもケチつけるし、
何が言いたいのか分からんのが正直な所
ただ、内部に状態持たせたら副作用が云々言い出すし、
それらのにhidingで書いたもケチつけるし、
何が言いたいのか分からんのが正直な所
2013/11/24(日) 15:32:41.38
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.362013/11/24(日) 15:35:18.86
int a = 1;
a = "a"; ← エラーになる。
型がない言語ではできない芸当です。(爆笑)
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
32デフォルトの名無しさん
2013/11/24(日) 15:37:19.66 >>24
じゃあ正しく設計したNumOrStringを書いてみろよ。
じゃあ正しく設計した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;
};
{
std::string str;
int n;
};
2013/11/24(日) 15:39:40.80
その「正しい定義」って動的型では実装不可能なんだよな。
37デフォルトの名無しさん
2013/11/24(日) 15:42:00.3338デフォルトの名無しさん
2013/11/24(日) 15:42:13.05 >>30
知らない。前スレの静的厨が言った言葉だ。
逃げ口上としてもっともらしいことを言おうとしただけで深い意味はないだろ。
彼女いない歴=年齢のやつが「俺女に興味ないから」と言ってるようなもの。
完全に防衛機制における合理化。Dの烙印を押された奴の断末魔。
知らない。前スレの静的厨が言った言葉だ。
逃げ口上としてもっともらしいことを言おうとしただけで深い意味はないだろ。
彼女いない歴=年齢のやつが「俺女に興味ないから」と言ってるようなもの。
完全に防衛機制における合理化。Dの烙印を押された奴の断末魔。
39デフォルトの名無しさん
2013/11/24(日) 15:44:17.872013/11/24(日) 15:46:27.28
NumOrStringってなんですか?
2013/11/24(日) 15:47:10.07
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を使うところで場合わけで処理分岐可能。上の例は直後で分岐してるので間抜けだけど。
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とは童貞が創りだした最高の女。
ゆえにそれを見せろと言ったら即座に逃亡をはかる。静的厨は卑劣極まりない。
静的を性的と脳内変換して悦楽に浸っている現実逃避の変態。
つまり、NumOrStringとは童貞が創りだした最高の女。
ゆえにそれを見せろと言ったら即座に逃亡をはかる。静的厨は卑劣極まりない。
44デフォルトの名無しさん
2013/11/24(日) 15:48:59.31 何でも入れられるといいなと思う時の代表が構文解析とかだろね。
スタックに積む値に意味動作から返される値を含めて積めると便利だから。
次にスタックから取り出されて還元されるときは、それが何であるか
意味動作自体が知っているから値自体に状態が必要ないし。
僕は共用体を良く使うよ。
読み込むBNFに還元されるときの型を書いておくんだ。
頭いいでしょ?
まあ普通にこうするか。
別に頭良くないね。
スタックに積む値に意味動作から返される値を含めて積めると便利だから。
次にスタックから取り出されて還元されるときは、それが何であるか
意味動作自体が知っているから値自体に状態が必要ないし。
僕は共用体を良く使うよ。
読み込む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.1349デフォルトの名無しさん
2013/11/24(日) 15:53:11.0450デフォルトの名無しさん
2013/11/24(日) 15:55:00.51 社名を出せないヘタレがそんなこと書いちゃダメ!
2013/11/24(日) 16:03:43.15
52デフォルトの名無しさん
2013/11/24(日) 16:05:38.13 爺どもはあと10年でいなくなる、そしたら俺の天下だと思って頑張ってるけど、
そうでもないの?
そうでもないの?
2013/11/24(日) 16:06:09.56
動的型使ってる奴がみんな同レベルと思わないでくれ
NumOrStringなんて考えた奴が低能なだけ
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ってネットワーク越しにやってくる指令の解析にさえ使われていてこれ凄く危険。
そう思わない?
DFAは実際ほとんど使われていないけど、今後はDFAじゃないとダメなんじゃないのかな?
いまDFAが使われる場所ってコンパイラとかデスクトップで完結してるような
NFAでもいいようなとこだと思うんだ。
NFAってネットワーク越しにやってくる指令の解析にさえ使われていてこれ凄く危険。
そう思わない?
57デフォルトの名無しさん
2013/11/24(日) 16:19:43.29 >>55
日本社会において実力っていう物の5割はコネのことだからな。
日本社会において実力っていう物の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秒で打ち切るとかそういう場当たり的な対策でいいの?
記憶領域をいくらでも使わされるとか。
そんなんでいいの?
これは言語関係ありません。
たぶん。
終了できることを保証できないってことだよ。
事実上無限ループさせられるってことじゃないの?
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.14159デフォルトの名無しさん
2013/11/25(月) 03:17:35.61 インド系アメリカ人のデバッガさんはどうしましょう
160デフォルトの名無しさん
2013/11/25(月) 03:18:40.27 第一話 GNU帝国の進撃の巨人
161デフォルトの名無しさん
2013/11/25(月) 03:18:58.41 モックを使ったテストでは
テスト対象コードとそのテストの他に
モックのテストが必要になる。
テスト対象コードとそのテストの他に
モックのテストが必要になる。
162デフォルトの名無しさん
2013/11/25(月) 03:19:40.14163デフォルトの名無しさん
2013/11/25(月) 03:21:14.69 テストはバグを見つけるためのものであり
デバッガとは見つけたバグを修正するもの。
この違いがわかっているのなら、
テストはデバッガの代わりにならないというのもわかるはず。
デバッガとは見つけたバグを修正するもの。
この違いがわかっているのなら、
テストはデバッガの代わりにならないというのもわかるはず。
164デフォルトの名無しさん
2013/11/25(月) 03:22:00.08 やべえ
眠くならない
まじやべえ
月曜日寝ないと一週間眠れないパターンに入る
これはやべえ
眠くならない
まじやべえ
月曜日寝ないと一週間眠れないパターンに入る
これはやべえ
165デフォルトの名無しさん
2013/11/25(月) 03:24:19.34 俺は深夜メンテナンスがあるから
逆に起きてないといかんのだよ。
寝れないなら俺に付き合えw
逆に起きてないといかんのだよ。
寝れないなら俺に付き合えw
166デフォルトの名無しさん
2013/11/25(月) 03:38:09.75 ウホ?
167デフォルトの名無しさん
2013/11/25(月) 15:10:38.86 動的言語勢としてもJSerは隔離したほうがいいと思った
やつら純粋に頭が悪すぎる
やつら純粋に頭が悪すぎる
168デフォルトの名無しさん
2013/11/25(月) 15:17:41.51 >>144
> 結局動的でテスト志向に徹するのが最良
どうせテストを書くのなら、最初からコードに一部埋め込んでおけば漏れもないし確実だろうが。
動的言語信者の言い分をつきつめると、結局静的言語に戻ってくる
やつら計算機科学の成果とかまるっきり無視してるからなw
ま、確かにこれからは動的言語だって時代はあったよな。このグラフの2005年くらいまでか?
http://www.tiobe.com/content/paperinfo/tpci/images/history_paradigm_type%20system.png
特に阿呆なJSerども、俺らイケてるって調子に乗ってな。
でも今は最早そんなトレンドではないのでは明らか。揺り戻しが発生してるでしょ。
失敗したんだよお前ら。
> 結局動的でテスト志向に徹するのが最良
どうせテストを書くのなら、最初からコードに一部埋め込んでおけば漏れもないし確実だろうが。
動的言語信者の言い分をつきつめると、結局静的言語に戻ってくる
やつら計算機科学の成果とかまるっきり無視してるからなw
ま、確かにこれからは動的言語だって時代はあったよな。このグラフの2005年くらいまでか?
http://www.tiobe.com/content/paperinfo/tpci/images/history_paradigm_type%20system.png
特に阿呆なJSerども、俺らイケてるって調子に乗ってな。
でも今は最早そんなトレンドではないのでは明らか。揺り戻しが発生してるでしょ。
失敗したんだよお前ら。
169デフォルトの名無しさん
2013/11/25(月) 19:52:59.61 型は自転車でいえば補助輪のようなもの
プログラム初心者は型がないとプログラムを書けない
一度、型なしでプログラムを書けるようになったら
もう型なんて必要ない
プログラム初心者は型がないとプログラムを書けない
一度、型なしでプログラムを書けるようになったら
もう型なんて必要ない
170デフォルトの名無しさん
2013/11/25(月) 20:06:10.43 保育園児VS小学生 ktkr
171デフォルトの名無しさん
2013/11/25(月) 20:34:02.76172デフォルトの名無しさん
2013/11/25(月) 20:37:57.99173デフォルトの名無しさん
2013/11/25(月) 20:38:03.76 型はヘルメットとも言い換えられる
自称上級者が「鬱陶しいから」という理由で装備せずに重大な事故を引き起こす
自称上級者が「鬱陶しいから」という理由で装備せずに重大な事故を引き起こす
174デフォルトの名無しさん
2013/11/25(月) 21:19:15.41175デフォルトの名無しさん
2013/11/25(月) 21:21:18.17 強い静的型付け
176デフォルトの名無しさん
2013/11/25(月) 22:10:18.58 動的がーとか言ってるやつとブレーキのない俺かっけーと言ってるピスト野郎とかぶるんだが気のせい?
177デフォルトの名無しさん
2013/11/25(月) 22:23:59.92 入学したら補助輪を外すのは世界の常識。
いつまでも補助輪つけてたらみっともないですよ?
ゆうくんも今日からお兄ちゃんなんだから補助輪外さないとね!
いつまでも補助輪つけてたらみっともないですよ?
ゆうくんも今日からお兄ちゃんなんだから補助輪外さないとね!
178デフォルトの名無しさん
2013/11/25(月) 22:54:04.02179デフォルトの名無しさん
2013/11/25(月) 23:09:15.01 デバッガを使う無能が一向に減らないのは静的のせいだったのか。
なるほどなるほど。
なるほどなるほど。
180デフォルトの名無しさん
2013/11/25(月) 23:16:35.47 なんでデバッガを嫌うの?
コボラーと同じ臭がするね。
コボラーと同じ臭がするね。
181デフォルトの名無しさん
2013/11/25(月) 23:20:16.00 テストは予防接種
デバッガは応急措置
デバッガは応急措置
182デフォルトの名無しさん
2013/11/25(月) 23:22:19.96 インタプリタしか使ったことがなければデバッガが無意味に思えても仕方ない
183デフォルトの名無しさん
2013/11/25(月) 23:25:19.98 >>181
なるほど!
デバッガを嫌っている人は
デバッガを勘違いしているということがわかった。
デバッガはその名の通り、バグを修正するもの。
テストで見つかったバグ。そのバグを直すまでに使う道具だ。
なるほど!
デバッガを嫌っている人は
デバッガを勘違いしているということがわかった。
デバッガはその名の通り、バグを修正するもの。
テストで見つかったバグ。そのバグを直すまでに使う道具だ。
184デフォルトの名無しさん
2013/11/25(月) 23:28:43.02 デバッガで応急処置をするとかよくわからんわw
応急処置をするにしても、テキストエディタでコード書くことで
応急処置するんだろ。デバッガで応急処置?どうやって?w
応急処置をするにしても、テキストエディタでコード書くことで
応急処置するんだろ。デバッガで応急処置?どうやって?w
185デフォルトの名無しさん
2013/11/25(月) 23:35:33.58 予防接種の方はよくわかるのかよw
186デフォルトの名無しさん
2013/11/25(月) 23:57:58.45 ごく小規模なプログラム、個人での開発、保守不要の作り捨てのプログラムの場合は動的な方がよい
187デフォルトの名無しさん
2013/11/26(火) 00:03:17.45 ネットワーク分散処理、アジャイル、ハイパフォーマンスの場合は動的のほうが良い。
初心者の学習用途は静的のほうが簡単。
初心者の学習用途は静的のほうが簡単。
188デフォルトの名無しさん
2013/11/26(火) 00:06:01.55 >>187のレスには突込みどころがいくつもあるけど突っ込みません
189デフォルトの名無しさん
2013/11/26(火) 00:24:24.78 突っ込みどころが多すぎて突っ込ませない手法は教祖がよくつかう手法。
190デフォルトの名無しさん
2013/11/26(火) 00:44:53.86 突っ込んでくれないならもう書き込みません!
191デフォルトの名無しさん
2013/11/26(火) 00:57:59.17 >>187
JSはCの10倍速くて初心者にも優しいよ
JSはCの10倍速くて初心者にも優しいよ
192デフォルトの名無しさん
2013/11/26(火) 01:05:19.80 さすがに10倍はない。
大きすぎてネタとばれるレベルw
大きすぎてネタとばれるレベルw
193デフォルトの名無しさん
2013/11/26(火) 01:46:37.38 【動的言語の薦め】
Perlが最初MBAの学生によって作られたことはよく知られています。
欧米の金融工学の教科書には問題をPerlで検証しなさいと良く書かれています。
実際、マンハッタンエリートの机には必ずPerlのパッケージが置いてあります。
金融、経営、経済といった分野ではPerlが必要不可欠な個人ツールとなっているのです。
最適化分析ツールとして容易でありながら絶大な威力を持つソルバー、
計算結果を視覚化するグラフツール、これらの操作を簡単に記録して再利用する
マクロの記録など必要なものはすべてそろっています。
彼らはマンハッタンのエリートたちはプログラミングの専門家ではありません。
はたして、静的言語でこのようなことが可能だったでしょうか?
ひとえに動的言語のパウアーによるものだったのです。
Perlが最初MBAの学生によって作られたことはよく知られています。
欧米の金融工学の教科書には問題をPerlで検証しなさいと良く書かれています。
実際、マンハッタンエリートの机には必ずPerlのパッケージが置いてあります。
金融、経営、経済といった分野ではPerlが必要不可欠な個人ツールとなっているのです。
最適化分析ツールとして容易でありながら絶大な威力を持つソルバー、
計算結果を視覚化するグラフツール、これらの操作を簡単に記録して再利用する
マクロの記録など必要なものはすべてそろっています。
彼らはマンハッタンのエリートたちはプログラミングの専門家ではありません。
はたして、静的言語でこのようなことが可能だったでしょうか?
ひとえに動的言語のパウアーによるものだったのです。
194デフォルトの名無しさん
2013/11/26(火) 01:53:31.35 Perlの重要な機能であるウェブクエリも忘れてはいけません。
これは、定期的に更新されるウェブページの表から動的に情報を取得する
容易な方法です。
実際にウェブページを閲覧しながら必要な表を選択するだけで情報を
取り込めるのです。
Perlのシートを開くたびに更新された情報を取得することも可能です。
もちろん、取得した情報の分析や資格化はPerlの得意とするところです。
マンハッタンのエリートたちはこういったツールを使いこなし、経営に
役立てているのです。
繰り返しになりますが、静的言語でこのようなことが実現したでしょうか?
これは、定期的に更新されるウェブページの表から動的に情報を取得する
容易な方法です。
実際にウェブページを閲覧しながら必要な表を選択するだけで情報を
取り込めるのです。
Perlのシートを開くたびに更新された情報を取得することも可能です。
もちろん、取得した情報の分析や資格化はPerlの得意とするところです。
マンハッタンのエリートたちはこういったツールを使いこなし、経営に
役立てているのです。
繰り返しになりますが、静的言語でこのようなことが実現したでしょうか?
195デフォルトの名無しさん
2013/11/26(火) 01:57:38.03 >>194
俺はjavaでやってるぞw
俺はjavaでやってるぞw
196デフォルトの名無しさん
2013/11/26(火) 02:08:50.96 日本でも投資顧問会社が「弊社では20世紀より伝わる信頼と実績のPerl
プログラムによってお客様の利益を保証します」ってやってるね。
プログラムによってお客様の利益を保証します」ってやってるね。
197デフォルトの名無しさん
2013/11/26(火) 04:26:43.22 そういう特定分野で使われている言語はその分野の実績のあるソフトウェアスタックが揃っていて
ユーザが多くノウハウも蓄積しているから使われているのであって動的静的は案外関係ないと思う。
今仕事でやってるデータインテンシィブな分散処理の分野ではJava強いけど別にこれを「動的言語
でこのようなことが実現したでしょうか? 」とか言う気にはあまりならん。
基本的にはHadoopやLuceneがJavaで書かれているから、その上に乗っかるシステムも素直にJavaで
書かれているという事情が大きい。でも現実問題としてこの点は言語が動的静的云々の差などより
よほど大きいわけで。
「小規模なプログラム、個人での開発、保守不要の作り捨てのプログラムの場合は動的な方がよい」
ということでは無くて、単に効率考えずに言語第一で選択できる場面なんてその程度しか無いだけ。
ユーザが多くノウハウも蓄積しているから使われているのであって動的静的は案外関係ないと思う。
今仕事でやってるデータインテンシィブな分散処理の分野ではJava強いけど別にこれを「動的言語
でこのようなことが実現したでしょうか? 」とか言う気にはあまりならん。
基本的にはHadoopやLuceneがJavaで書かれているから、その上に乗っかるシステムも素直にJavaで
書かれているという事情が大きい。でも現実問題としてこの点は言語が動的静的云々の差などより
よほど大きいわけで。
「小規模なプログラム、個人での開発、保守不要の作り捨てのプログラムの場合は動的な方がよい」
ということでは無くて、単に効率考えずに言語第一で選択できる場面なんてその程度しか無いだけ。
198デフォルトの名無しさん
2013/11/26(火) 06:09:57.00 >>196
金融商品取引法は、損失負担の約束や利益保証を禁止しており、これらを伴う勧誘も当然に禁止しています。
金融商品取引法は、損失負担の約束や利益保証を禁止しており、これらを伴う勧誘も当然に禁止しています。
199デフォルトの名無しさん
2013/11/26(火) 06:19:09.85 >>176
君、よく周囲の人達から「きみ、頭悪いね」と言われてるだろ。
君、よく周囲の人達から「きみ、頭悪いね」と言われてるだろ。
200デフォルトの名無しさん
2013/11/26(火) 06:20:59.47 >>195
劣化コピーでドヤるのって楽しい?
劣化コピーでドヤるのって楽しい?
201デフォルトの名無しさん
2013/11/26(火) 06:56:30.22 >>196
これはひどい
これはひどい
202デフォルトの名無しさん
2013/11/26(火) 07:06:42.04 >>196
その利益保証しているという投資顧問の社名を教えてくれ
その利益保証しているという投資顧問の社名を教えてくれ
203デフォルトの名無しさん
2013/11/26(火) 08:51:33.31 ちなみに>>193は全部つくり話ですw
204デフォルトの名無しさん
2013/11/26(火) 09:40:40.95 >>199
具体的な反論なくただ堕とすだけの奴は無能だってじっちゃが言ってた(´・ω・`)
具体的な反論なくただ堕とすだけの奴は無能だってじっちゃが言ってた(´・ω・`)
205デフォルトの名無しさん
2013/11/26(火) 10:39:11.85 >>204 つまり、おまえは無能ってことだなw
206デフォルトの名無しさん
2013/11/26(火) 10:50:15.40 >>205
ウンウン、そういう風に具体的なこと言えないで堕とすだけなんだねー。わかります(´・ω・`)
ウンウン、そういう風に具体的なこと言えないで堕とすだけなんだねー。わかります(´・ω・`)
207デフォルトの名無しさん
2013/11/26(火) 11:31:18.48208デフォルトの名無しさん
2013/11/26(火) 11:32:29.63209デフォルトの名無しさん
2013/11/26(火) 12:03:36.79 >>207-208
妄想が止まらないJSerか?涙拭けよwww
妄想が止まらないJSerか?涙拭けよwww
210デフォルトの名無しさん
2013/11/26(火) 16:23:19.76 >>209 あいかわらず妄想の塊だなw お大事に。ww
211デフォルトの名無しさん
2013/11/26(火) 19:05:03.75212デフォルトの名無しさん
2013/11/26(火) 19:31:05.12 >>210
いやいや妄想力の強さではJSerにはかないませんよw
いやいや妄想力の強さではJSerにはかないませんよw
213デフォルトの名無しさん
2013/11/26(火) 20:33:15.36 負けを認めた瞬間から君は負け犬になったのです。
一生JSにかなわないのです。
一生JSにかなわないのです。
214デフォルトの名無しさん
2013/11/26(火) 20:42:13.76 ま、負けましたブヒー
215デフォルトの名無しさん
2013/11/26(火) 21:51:26.20 板住民の総意としてJS最強を認めたいと思います
チャンピオン JSer には地球代表として銀河系遠征へ旅立っていただく予定です
チャンピオン JSer には地球代表として銀河系遠征へ旅立っていただく予定です
216デフォルトの名無しさん
2013/11/26(火) 23:04:58.95217デフォルトの名無しさん
2013/11/26(火) 23:45:45.86218デフォルトの名無しさん
2013/11/26(火) 23:50:25.33 宇宙人からメッセージが一件とどいてます。
(^q^)アウアウアー
(^q^)アウアウアー
219デフォルトの名無しさん
2013/11/27(水) 00:02:23.10220デフォルトの名無しさん
2013/11/27(水) 00:09:42.19 デマじゃないよ。
ほんとに速いよ。
やってみたらすぐわかるのになんでやらないの?
ほんとに速いよ。
やってみたらすぐわかるのになんでやらないの?
221デフォルトの名無しさん
2013/11/27(水) 00:11:36.30 いや、簡単なサンプル作ったけど
速くならなかった。
速くなるというサンプルを書いてみてくれ。
速くなるという証拠がないんだ。
どうしようもないじゃないか?w
速くならなかった。
速くなるというサンプルを書いてみてくれ。
速くなるという証拠がないんだ。
どうしようもないじゃないか?w
222デフォルトの名無しさん
2013/11/27(水) 00:11:50.78 JSの良いところは速度だけではありません。
その高度に統合された美しい理論体系が優れているのです。
神のデザインとすら言われています。
その高度に統合された美しい理論体系が優れているのです。
神のデザインとすら言われています。
223デフォルトの名無しさん
2013/11/27(水) 00:17:02.57 そういうのは要らん
速くなるサンプルをくれ
速くなるサンプルをくれ
224デフォルトの名無しさん
2013/11/27(水) 00:32:54.01 早いのは単にcのコードが悪くて、
jsの最適化の方が優れてただけだろ?
ブラウザ戦争の産物だな
clangみたいに最適化が進めば差はたいしてなくなる
jsの最適化の方が優れてただけだろ?
ブラウザ戦争の産物だな
clangみたいに最適化が進めば差はたいしてなくなる
225デフォルトの名無しさん
2013/11/27(水) 00:36:33.30 JSが美しいとか言うやつの美的感覚ってw
それにJSがCより早いって(爆笑)比較コードさらしてね
まともなコードで比較したらそんなことあり得ないから
それにJSがCより早いって(爆笑)比較コードさらしてね
まともなコードで比較したらそんなことあり得ないから
226デフォルトの名無しさん
2013/11/27(水) 00:36:36.13 ただの誤訳だって
227デフォルトの名無しさん
2013/11/27(水) 01:53:09.78 【最も美しい言語 - 01スクリプト言語】
・0と1、二つの文字だけで書くことができる新しい種類の言語です
・現在の実装はトランスレータです
・コンパイラ、実行環境はお好きなものを選べます
【現在の実装】
・0と1だけから成り立つ入力文字列より8バイト消費し、それぞれ0のビット
1のビットとして一バイトにおさめます
・選択されたコンパイラや実行環境の入力としてバイトを送ります
・文字列の終端に達していない場合、最初のステップに戻り、それ以外の場合
終了します
・0と1、二つの文字だけで書くことができる新しい種類の言語です
・現在の実装はトランスレータです
・コンパイラ、実行環境はお好きなものを選べます
【現在の実装】
・0と1だけから成り立つ入力文字列より8バイト消費し、それぞれ0のビット
1のビットとして一バイトにおさめます
・選択されたコンパイラや実行環境の入力としてバイトを送ります
・文字列の終端に達していない場合、最初のステップに戻り、それ以外の場合
終了します
228デフォルトの名無しさん
2013/11/27(水) 07:00:45.74 wとWで書けるのもあるしな
229デフォルトの名無しさん
2013/11/27(水) 07:04:02.82 (^q^)アウウウアウアアアウアウウア-
230デフォルトの名無しさん
2013/11/27(水) 09:25:08.74 ↓美しい言語家
231デフォルトの名無しさん
2013/11/27(水) 10:59:28.39 >>220
そんな素晴らしいものでなんで全てのプラットホームで使えるようになってないのよ。お前ら信者の布教具合がたるんでるんじゃねえの?
そんな素晴らしいものでなんで全てのプラットホームで使えるようになってないのよ。お前ら信者の布教具合がたるんでるんじゃねえの?
232デフォルトの名無しさん
2013/11/27(水) 11:10:22.91 JavaScriptの関数読んだけど難しすぎてわけがわからん。
誰かこの関数の使い方を教えてくれないか?
どういう返り値を期待してどういう引数を渡せばいいのか。
https://github.com/jquery/jquery/blob/1.8-stable/src/core.js#L772
誰かこの関数の使い方を教えてくれないか?
どういう返り値を期待してどういう引数を渡せばいいのか。
https://github.com/jquery/jquery/blob/1.8-stable/src/core.js#L772
233デフォルトの名無しさん
2013/11/27(水) 11:24:57.45234デフォルトの名無しさん
2013/11/27(水) 11:57:12.38 型システムの起源って何の言語?
235デフォルトの名無しさん
2013/11/27(水) 12:08:11.75 型システムの定義によって答えは変わる
236デフォルトの名無しさん
2013/11/27(水) 15:37:11.26 だが静的脳の達人は質問者の追加入力を待ってノロノロ答えを計算するなどということはない
237デフォルトの名無しさん
2013/11/27(水) 15:42:48.31 >>234
データ型という概念そのものは、高級言語の登場に伴って自然発生的に生まれた
たとえば Fortran には整数型/実数型といった単純型や配列という複合型がある
また PL/I ではレコードやポインタといったデータ型が追加され、
Pascal でデータ型の体系が整理された後、モジュールや抽象データ型を経て
現在のオブジェクト指向が主流な現在に到る
したがって、型システムの起源として言語を特定する事に意味は無い
この自然発生的な型システムに遅れて、形式的な型システムが誕生した
そしてこれが最初に実装された言語が、ある定理証明器の記述言語として設計された ML になる
MLはその後、汎用的なプログラミング言語として開発が世界中で活発化し、
Standard ML(SML) と Objective-Caml(OCaml) に分かれて現在に到る
また ML は純粋関数型言語である Miranda にも強い影響与え、その後継が現在の Haskell
言い換えると、形式的な型システムの起源は ML と言える
ML については、Wikipedia にも簡単な解説があるので、そちらも参照のこと
データ型という概念そのものは、高級言語の登場に伴って自然発生的に生まれた
たとえば Fortran には整数型/実数型といった単純型や配列という複合型がある
また PL/I ではレコードやポインタといったデータ型が追加され、
Pascal でデータ型の体系が整理された後、モジュールや抽象データ型を経て
現在のオブジェクト指向が主流な現在に到る
したがって、型システムの起源として言語を特定する事に意味は無い
この自然発生的な型システムに遅れて、形式的な型システムが誕生した
そしてこれが最初に実装された言語が、ある定理証明器の記述言語として設計された ML になる
MLはその後、汎用的なプログラミング言語として開発が世界中で活発化し、
Standard ML(SML) と Objective-Caml(OCaml) に分かれて現在に到る
また ML は純粋関数型言語である Miranda にも強い影響与え、その後継が現在の Haskell
言い換えると、形式的な型システムの起源は ML と言える
ML については、Wikipedia にも簡単な解説があるので、そちらも参照のこと
238デフォルトの名無しさん
2013/11/27(水) 16:01:41.85 このスレ勉強になるわ
239デフォルトの名無しさん
2013/11/27(水) 16:16:31.63 見事だ
240デフォルトの名無しさん
2013/11/27(水) 16:46:05.27 自演臭すぎる
241デフォルトの名無しさん
2013/11/27(水) 18:36:30.31 JSはCの二倍速い。
242デフォルトの名無しさん
2013/11/27(水) 19:40:41.78 そんなわけあるか。CのがJSの二倍遅い。
243デフォルトの名無しさん
2013/11/27(水) 19:59:49.13 JSも速いけど今の流行はPOMですよ。
244デフォルトの名無しさん
2013/11/28(木) 01:36:51.13 でもさ、やっぱりさ、Java書いた後、PHPでコード書くと
この糞言語って思わない??
少なくともこの比較だったらやっぱりJavaの方が色々楽だよね?
よく使うので言うとMapあるし、型エラー、メソッド有る無しのエラー、
変数定義のエラーなどなどEclipseの恩恵含めていいとこあるし
テストもクラス内の特定メソッド指定して実行できるし、
カバレッジ出るのも早いし、メトリクス測定も早いし
PHPでも出来るもの、代用品はもちろんあるけど面倒いし遅いし
曖昧な関数多いし
PHPでやるメリットってお遊びアプリ作る程度に
留めないと無いような気もしてくる
この糞言語って思わない??
少なくともこの比較だったらやっぱりJavaの方が色々楽だよね?
よく使うので言うとMapあるし、型エラー、メソッド有る無しのエラー、
変数定義のエラーなどなどEclipseの恩恵含めていいとこあるし
テストもクラス内の特定メソッド指定して実行できるし、
カバレッジ出るのも早いし、メトリクス測定も早いし
PHPでも出来るもの、代用品はもちろんあるけど面倒いし遅いし
曖昧な関数多いし
PHPでやるメリットってお遊びアプリ作る程度に
留めないと無いような気もしてくる
245デフォルトの名無しさん
2013/11/28(木) 04:24:55.41 JavsScriptで関連クラスやユーティリティ群を束ねたモジュールを書く必要があるので
昨今はどういう体裁で書くのがよいのか調べるも、AMDとかCommonJSとか色々書き方の
流儀があるみたいで唖然とした。ベストな書き方はいったい何なの。
昨今はどういう体裁で書くのがよいのか調べるも、AMDとかCommonJSとか色々書き方の
流儀があるみたいで唖然とした。ベストな書き方はいったい何なの。
246デフォルトの名無しさん
2013/11/28(木) 04:34:28.76 ベストな書き方は、自分の作ったライブラリ部分と
AMDなどの書き方をするべき所を明確に分離することだ。
そうすれば、簡単なプロキシコードでどのようなものにも対応できる。
AMDなどの書き方をするべき所を明確に分離することだ。
そうすれば、簡単なプロキシコードでどのようなものにも対応できる。
247デフォルトの名無しさん
2013/11/28(木) 05:13:04.47 モジュール一つ書くのに色々書き方がある上に要プロキシコードとか生産性以前の問題。
きっとその「簡単なプロキシコードでどのようなものにも対応できる」自分の作った
ライブラリ部分の書き方も色々あるんでしょ。
単純にメンテナンス性が悪くなる。
きっとその「簡単なプロキシコードでどのようなものにも対応できる」自分の作った
ライブラリ部分の書き方も色々あるんでしょ。
単純にメンテナンス性が悪くなる。
248デフォルトの名無しさん
2013/11/28(木) 09:14:39.14 >>247
プロキシコードでどんな用も対応できるというのは、
結局のところ、特定の書き方に依存しないってことだ。
特定の書き方に依存させるなというだけの話。
特定の書き方を考慮せずに普通に書けばいい。
だからメンテナンス性は高くなる。
プロキシコードでどんな用も対応できるというのは、
結局のところ、特定の書き方に依存しないってことだ。
特定の書き方に依存させるなというだけの話。
特定の書き方を考慮せずに普通に書けばいい。
だからメンテナンス性は高くなる。
249デフォルトの名無しさん
2013/11/28(木) 16:24:33.10 プロキシーコードが必要な時点で変だと疑わないと。
250デフォルトの名無しさん
2013/11/28(木) 17:36:38.45 プロキシじゃなくてアダプターじゃね?
251デフォルトの名無しさん
2013/11/28(木) 20:17:17.12 JSはどんな書き方してもCの二倍速いよ。
252デフォルトの名無しさん
2013/11/28(木) 20:58:35.53 >>251
わーすごいですねー(´・_・`)
わーすごいですねー(´・_・`)
253デフォルトの名無しさん
2013/11/28(木) 21:10:24.35 >>252さんが仰るようにJSはすごいんですよ。
254デフォルトの名無しさん
2013/11/28(木) 21:14:09.66255デフォルトの名無しさん
2013/11/28(木) 21:51:50.58 あの、馬鹿にするのやめてもらえますか?
C言語はちゃんと速度出ますよ
JSが速すぎるだけなんです
C言語はちゃんと速度出ますよ
JSが速すぎるだけなんです
256デフォルトの名無しさん
2013/11/28(木) 21:54:32.51 確かにCはJavaの100倍速いです。
257デフォルトの名無しさん
2013/11/28(木) 21:59:35.69 ところでApacheってなんであんなに遅いの?
258デフォルトの名無しさん
2013/11/28(木) 22:59:41.26259デフォルトの名無しさん
2013/11/29(金) 01:04:13.53 ApacheはCの100倍遅い。
260デフォルトの名無しさん
2013/11/29(金) 01:33:37.30 JSerがそこらじゅうに転移してるな。まるでヘルペスウイルスだ。
261デフォルトの名無しさん
2013/11/29(金) 08:15:31.77 JavaScriptは用途が広がる一方で仕様拡張が追いついていない印象だな。
モジュールのインポート云々が好例。JSerは手作りできるから言語仕様としては不要と
強弁するけど、普通の開発者は単に当初の想定外の用途故の機能不足と解釈するよな。
モジュールのインポート云々が好例。JSerは手作りできるから言語仕様としては不要と
強弁するけど、普通の開発者は単に当初の想定外の用途故の機能不足と解釈するよな。
262デフォルトの名無しさん
2013/11/29(金) 10:19:17.30263デフォルトの名無しさん
2013/11/29(金) 16:23:48.03 やらずに済むと錯覚するのは単に未熟だからです
265デフォルトの名無しさん
2013/11/29(金) 23:51:28.82 zapzapzap
266デフォルトの名無しさん
2013/11/30(土) 00:29:00.03 >>261
もうすぐES6が出るじゃん
もうすぐES6が出るじゃん
267デフォルトの名無しさん
2013/11/30(土) 01:36:44.94268デフォルトの名無しさん
2013/11/30(土) 08:34:02.73269デフォルトの名無しさん
2013/11/30(土) 08:57:00.55 実行環境として普通に関係あるでしょ。
Androidの分断化問題と一緒。いくら規格が進んだところでランタイムの更新がある程度
進まないとプロダクションに投入できない。
Androidの分断化問題と一緒。いくら規格が進んだところでランタイムの更新がある程度
進まないとプロダクションに投入できない。
270デフォルトの名無しさん
2013/11/30(土) 09:16:25.39 >>268
流石にこの発言ないわー
流石にこの発言ないわー
271デフォルトの名無しさん
2013/11/30(土) 09:30:11.13 >>269-270
なんで商用が前提になってんの?
なんで商用が前提になってんの?
272デフォルトの名無しさん
2013/11/30(土) 09:39:42.32 つまり商用の人はお断りですよと。
商用だろうが非営利だろうが趣味だろうが、ブラウザ上でいろいろな人に使ってもらうので
あればブラウザの対応見込みは気にすると思うけど。
商用だろうが非営利だろうが趣味だろうが、ブラウザ上でいろいろな人に使ってもらうので
あればブラウザの対応見込みは気にすると思うけど。
273デフォルトの名無しさん
2013/11/30(土) 09:51:12.92 >>271
趣味の発言前提にしてんの?
趣味の発言前提にしてんの?
274デフォルトの名無しさん
2013/11/30(土) 09:54:10.84275デフォルトの名無しさん
2013/11/30(土) 10:20:06.04 >>274
>なんでWebアプリ前提なの?
Webアプリを開発したい、する必要があるからだけど?
Webアプリ開発はJavaScriptの利用目的の中でも大きな分野だと思うけど、違うの?
JavaScriptは手段であって目的では無いのだが。
いくら新しい規格が出たところで目的の用途に使えなければ意味ないよ。
>なんでWebアプリ前提なの?
Webアプリを開発したい、する必要があるからだけど?
Webアプリ開発はJavaScriptの利用目的の中でも大きな分野だと思うけど、違うの?
JavaScriptは手段であって目的では無いのだが。
いくら新しい規格が出たところで目的の用途に使えなければ意味ないよ。
276デフォルトの名無しさん
2013/11/30(土) 10:20:52.88 「PerlはCGIで使うものだ」ってのと同じ臭いがする
277デフォルトの名無しさん
2013/11/30(土) 10:36:44.84 CGIをつくることを目的にしている人とっては使いたい機能がPerlにあったところで
CGIで使えなければ意味が無いだろうね。
・・・で使うものだ、という話じゃないよ。
・・・をしたいのだが、どうよ、という話。目的が主。言語は従。
クライアントサイドのUI開発にES6を使うとして、どうよ。いつになったら使えるの?
CGIで使えなければ意味が無いだろうね。
・・・で使うものだ、という話じゃないよ。
・・・をしたいのだが、どうよ、という話。目的が主。言語は従。
クライアントサイドのUI開発にES6を使うとして、どうよ。いつになったら使えるの?
278デフォルトの名無しさん
2013/11/30(土) 11:06:25.56 ていうか、ブラウザで動くという最大のメリットを除けば
JSなんて他言語に対して何のアドバンテージも無い
JSなんて他言語に対して何のアドバンテージも無い
279デフォルトの名無しさん
2013/11/30(土) 11:08:04.25280デフォルトの名無しさん
2013/11/30(土) 11:13:08.21 どこが?
低能なプログラマの人数?
低能なプログラマの人数?
281デフォルトの名無しさん
2013/11/30(土) 11:48:20.17 使う人の妄想力でしょ。
JSは世界一だ。それを使う俺も世界一だって感じ?
JSは世界一だ。それを使う俺も世界一だって感じ?
282デフォルトの名無しさん
2013/11/30(土) 11:58:58.78 >>1
「コンピュータは間違わない」と言ったのはコンピュータではない
なぜ、コンピュータが言ってないことを人間が言うのか?
人間が言った方が早いからでしょ
本当は人間の方が効率が良いって知ってるんだろ
「コンピュータは間違わない」と言ったのはコンピュータではない
なぜ、コンピュータが言ってないことを人間が言うのか?
人間が言った方が早いからでしょ
本当は人間の方が効率が良いって知ってるんだろ
283デフォルトの名無しさん
2013/11/30(土) 12:13:24.26 >>282
意味不明。馬鹿なの?
意味不明。馬鹿なの?
284デフォルトの名無しさん
2013/11/30(土) 12:28:21.89 「神の見えざる手は間違わない」と言ったのは神ではない。
神が言ってないことを、人間が言う。
神が言ってないことを、人間が言う。
285デフォルトの名無しさん
2013/11/30(土) 12:32:37.94 >>282 みたいな意味不明な出力は
残念ながら静的型言語をもってしても除去することはできない
残念ながら静的型言語をもってしても除去することはできない
286デフォルトの名無しさん
2013/11/30(土) 12:39:25.07 意味不明って偉そうに言う事じゃないでしょ
なんで意味分かってない奴が意味分かってる奴より偉そうなの?反知性主義なの?
なんで意味分かってない奴が意味分かってる奴より偉そうなの?反知性主義なの?
287デフォルトの名無しさん
2013/11/30(土) 12:52:43.23 >>282
むしろコンピューターがいったことってなんだよ
むしろコンピューターがいったことってなんだよ
288デフォルトの名無しさん
2013/11/30(土) 13:21:04.09289デフォルトの名無しさん
2013/11/30(土) 13:21:50.67 このように自分の誤りに対して寛容すぎる人々によって好まれるのが動的言語です
290デフォルトの名無しさん
2013/11/30(土) 13:25:00.32 >>282
コンピュータは間違わないと人間言った。
うん、そう人間が言ったんだよ。
コンピュータは間違わないで人間よりも早く
同じことを何度もやれる。
と人間が言ったけど
これ間違いじゃないけど、君、反論してないよね?
コンピュータは間違わないと人間言った。
うん、そう人間が言ったんだよ。
コンピュータは間違わないで人間よりも早く
同じことを何度もやれる。
と人間が言ったけど
これ間違いじゃないけど、君、反論してないよね?
291デフォルトの名無しさん
2013/11/30(土) 13:26:16.35292デフォルトの名無しさん
2013/11/30(土) 13:41:07.23 神が言ったから「神の見えざる手」なんだろ
294デフォルトの名無しさん
2013/11/30(土) 13:48:58.00 アダム・スミスが「神の見えざる手」といったのは明らかなのにw
それを聞いて、神が言ったと勘違いするマヌケw
それを聞いて、神が言ったと勘違いするマヌケw
295デフォルトの名無しさん
2013/11/30(土) 14:03:00.52 「見えざる手」の持ち主は明記されていない
296デフォルトの名無しさん
2013/11/30(土) 15:20:58.06 持ち主オブステルスハンド
297デフォルトの名無しさん
2013/11/30(土) 16:17:54.67 静的型付け関数型言語を使ってみたけど
型検査が強力すぎて馴染めなかった
型検査が強力すぎて馴染めなかった
298デフォルトの名無しさん
2013/11/30(土) 16:36:05.43 型検査が強力で嫌な理由って何?
299デフォルトの名無しさん
2013/11/30(土) 17:16:11.20 小ミスで全体が死にしかもどこでコケてるかわからない状態
とエスパーしてみる
とエスパーしてみる
300デフォルトの名無しさん
2013/11/30(土) 17:26:24.03 あぁ、型がないとそうだろうね
実行するまで問題に気づかない。
実行するまで問題に気づかない。
301デフォルトの名無しさん
2013/11/30(土) 17:34:49.02 一行に含まれる情報が多すぎるとむつかしいんよ
302デフォルトの名無しさん
2013/11/30(土) 18:03:21.03 >>298
型検査が強力でも動的言語のインタプリタを実装できるしコンパイルできる
コンパイラは文句を言わない
でも動的言語はだめだと人間が言う
コンパイラが文句を言わなくても人間に認められないとだめだって人間が言うんだよ
誰もコンピュータを信じてない
コンピュータは間違えないなんて言うけど、誰も信じてないんだよ
型検査が強力でも動的言語のインタプリタを実装できるしコンパイルできる
コンパイラは文句を言わない
でも動的言語はだめだと人間が言う
コンパイラが文句を言わなくても人間に認められないとだめだって人間が言うんだよ
誰もコンピュータを信じてない
コンピュータは間違えないなんて言うけど、誰も信じてないんだよ
303デフォルトの名無しさん
2013/11/30(土) 18:06:52.77304デフォルトの名無しさん
2013/11/30(土) 18:36:16.04 >>298
型とか細けぇ事はいいから結果が早く欲しい時くらいかな
型とか細けぇ事はいいから結果が早く欲しい時くらいかな
305デフォルトの名無しさん
2013/11/30(土) 18:38:41.67 静的言語のメリットとして入力補完などIDEの支援が受けやすいとは昔こそよく言われた
けれども今時のIDEだとその点のメリットは動的言語を扱う場合でも大差ないと思う。
今は動的言語であってもIDEが積極的にコード解析して、レキシカルに特定できる範囲で
正しいプロパティを色分けしたり型コメントを勝手につけたりする。
逆にこういうコード解析が出来ず色分け等されなかった部分は実際大抵ミスっている。
そうしたミスを直して、全体がコード解析されて色とりどりにデコレーションされた
書き上がったコードを見て一人満足するけれども、逆にあれ、こんなふうにコードの
大半が静的に解析してある程度検証できてしまうような場合、動的言語の出番って
何だろうね? とも思ってしまう。適当に型をつければそのまま静的言語でも動くような。
実際書かれているコードの多くは静的でも動的でもあまり大差ないのでは無いのか。
違いは言語の記法や機能、あとは関数型と手続き型というパラダイムの違いであって、
動的静的といった型付けの違いは案外些末なことでごく特定の場面でしか効いてこない
印象。
けれども今時のIDEだとその点のメリットは動的言語を扱う場合でも大差ないと思う。
今は動的言語であってもIDEが積極的にコード解析して、レキシカルに特定できる範囲で
正しいプロパティを色分けしたり型コメントを勝手につけたりする。
逆にこういうコード解析が出来ず色分け等されなかった部分は実際大抵ミスっている。
そうしたミスを直して、全体がコード解析されて色とりどりにデコレーションされた
書き上がったコードを見て一人満足するけれども、逆にあれ、こんなふうにコードの
大半が静的に解析してある程度検証できてしまうような場合、動的言語の出番って
何だろうね? とも思ってしまう。適当に型をつければそのまま静的言語でも動くような。
実際書かれているコードの多くは静的でも動的でもあまり大差ないのでは無いのか。
違いは言語の記法や機能、あとは関数型と手続き型というパラダイムの違いであって、
動的静的といった型付けの違いは案外些末なことでごく特定の場面でしか効いてこない
印象。
306デフォルトの名無しさん
2013/11/30(土) 19:01:29.81 > けれども今時のIDEだとその点のメリットは動的言語を扱う場合でも大差ないと思う。
いや、思うじゃなくて、実際に使ってみろって。
動的言語では、その仕組み的に不可能なんだよ。
実行するまで(補完するための情報が)わからない言語で
どうやっって補完するっていうんだ?
いや、思うじゃなくて、実際に使ってみろって。
動的言語では、その仕組み的に不可能なんだよ。
実行するまで(補完するための情報が)わからない言語で
どうやっって補完するっていうんだ?
307デフォルトの名無しさん
2013/11/30(土) 19:42:36.36 分からない部分も在るが、分かる部分もある
で、意外と分かる部分が多い
で、意外と分かる部分が多い
308デフォルトの名無しさん
2013/11/30(土) 19:48:19.35 分かる部分=近くのコード
わからない部分=遠くのコード
これが逆ならいいんだけどねぇ。
どれだけ影響範囲が広いか調べる必要があるのに
その遠くのコードがわからないんじゃ意味ないよ。
わからない部分=遠くのコード
これが逆ならいいんだけどねぇ。
どれだけ影響範囲が広いか調べる必要があるのに
その遠くのコードがわからないんじゃ意味ないよ。
309デフォルトの名無しさん
2013/11/30(土) 19:52:11.11 影響範囲を調べる必要が生じた時点で動的型を捨てよ
310デフォルトの名無しさん
2013/11/30(土) 19:54:16.61 引数にどんな型が渡されるかわからない言語とか怖くて使えない
C#やJavaで言えば常にObject型の引数が来てリフレクションでメソッド呼び出すようなもんでしょ
C#やJavaで言えば常にObject型の引数が来てリフレクションでメソッド呼び出すようなもんでしょ
311デフォルトの名無しさん
2013/11/30(土) 20:00:26.55 >>308
全然違うよ、馬鹿すぎる
全然違うよ、馬鹿すぎる
312デフォルトの名無しさん
2013/11/30(土) 20:02:13.99 ぜんぜん違うよ!
(じゃあ何が違うのだろう・・・)
ぜ、ぜんぜん違うんだよ!
(あぁ、答えられないのね)
(じゃあ何が違うのだろう・・・)
ぜ、ぜんぜん違うんだよ!
(あぁ、答えられないのね)
313デフォルトの名無しさん
2013/11/30(土) 20:14:59.40 型が推論できるかとコードの近さとは関係ないよ
静的型付関数型言語で、遠い場所のコードは推論できないとか聞いた事ある?
静的型付関数型言語で、遠い場所のコードは推論できないとか聞いた事ある?
314デフォルトの名無しさん
2013/11/30(土) 20:20:38.49 遠い場所のコードの型が推論できないのは
動的型付け言語の話でしょ。
静的なら当然遠くの場所でも型わかるさ。
動的型付け言語の話でしょ。
静的なら当然遠くの場所でも型わかるさ。
315デフォルトの名無しさん
2013/11/30(土) 20:22:52.62 動的な機能を使えば遠くても推論できない
使わなければ遠くても推論できる
結論:近さは関係ない
使わなければ遠くても推論できる
結論:近さは関係ない
316デフォルトの名無しさん
2013/11/30(土) 20:23:56.27 > 動的な機能を使えば遠くても推論できない
動的な機能を使えば近くても推論できない、の間違い
動的な機能を使えば近くても推論できない、の間違い
317デフォルトの名無しさん
2013/11/30(土) 20:24:13.56 > 静的型付関数型言語で、遠い場所のコードは推論できないとか聞いた事ある?
遠い場所が発生しないように、クラスのパブリックメソッドには
きちんと型を書かないといけないって話なら聞いたことあるな。
推論できるのは近くの場所だけだからね。
遠い場所が発生しないように、クラスのパブリックメソッドには
きちんと型を書かないといけないって話なら聞いたことあるな。
推論できるのは近くの場所だけだからね。
318デフォルトの名無しさん
2013/11/30(土) 20:24:45.89 A<B> x = y.foo(z.bar());
型情報で候補を絞り込むのは foo と bar だけ
A と B と y と z は型情報を使わずに補完
x は補完できない
型情報で候補を絞り込むのは foo と bar だけ
A と B と y と z は型情報を使わずに補完
x は補完できない
319デフォルトの名無しさん
2013/11/30(土) 20:26:08.49 >>317
それってSMLとかOCamlとかHaskellにも当てはまるの?
それってSMLとかOCamlとかHaskellにも当てはまるの?
320デフォルトの名無しさん
2013/11/30(土) 20:26:18.94 型推論って、静的型付け言語ならでわの
機能だって知ってるかな?
型がない言語では、推論したくても推論できない。
推論できるのは、そもそも型が存在するから。
機能だって知ってるかな?
型がない言語では、推論したくても推論できない。
推論できるのは、そもそも型が存在するから。
321デフォルトの名無しさん
2013/11/30(土) 20:28:39.63 >>319
> それってSMLとかOCamlとかHaskellにも当てはまるの?
当てはまるんじゃね?
その言語の汎用ライブラリでも調べればわかるでしょ?
使い方を限定することが出来ないライブラリだと
そのシグネチャに型を書いていないと当然推論さえも出来ない。
> それってSMLとかOCamlとかHaskellにも当てはまるの?
当てはまるんじゃね?
その言語の汎用ライブラリでも調べればわかるでしょ?
使い方を限定することが出来ないライブラリだと
そのシグネチャに型を書いていないと当然推論さえも出来ない。
322デフォルトの名無しさん
2013/11/30(土) 20:29:21.51 今書いた関数をその場で自分で呼び出すなら型は無くても良いよ。
ワンライナーとか掻き捨ての小さなスクリプトとかは断然動的型の方が書きやすい。
ただ他の人も使うものとか、あと今日はともかく明日の自分は他人と思っておいた
方が無難だから、今後再利用する可能性のあるものに関してははドキュメントを
書くし、それには引数の期待する型の情報も含まれるよね。となると、
/**
* @param str {String} an input
* @returns {Number} a nice output
**/
function func(str){ ... }
と
/**
* @param str an input
* @returns a nice output
**/
int func(String str){ ... }
にどれほどの違いがあるのかと。
逆にどうしても型情報を「つけたくない」(つけるのが面倒、では無く)場面というのは
案外限られるし、そういう場面では静的型でもJavaのObject渡しでリフレクションとか
Cで生ポインタ渡しでキャストとかそれなりに回避策もある。
だから結論としては静的には動的にも書けるGroovyは節操なくて便利だと。
ワンライナーとか掻き捨ての小さなスクリプトとかは断然動的型の方が書きやすい。
ただ他の人も使うものとか、あと今日はともかく明日の自分は他人と思っておいた
方が無難だから、今後再利用する可能性のあるものに関してははドキュメントを
書くし、それには引数の期待する型の情報も含まれるよね。となると、
/**
* @param str {String} an input
* @returns {Number} a nice output
**/
function func(str){ ... }
と
/**
* @param str an input
* @returns a nice output
**/
int func(String str){ ... }
にどれほどの違いがあるのかと。
逆にどうしても型情報を「つけたくない」(つけるのが面倒、では無く)場面というのは
案外限られるし、そういう場面では静的型でもJavaのObject渡しでリフレクションとか
Cで生ポインタ渡しでキャストとかそれなりに回避策もある。
だから結論としては静的には動的にも書けるGroovyは節操なくて便利だと。
323デフォルトの名無しさん
2013/11/30(土) 20:30:22.11 >>321
残念、当てはまりません
残念、当てはまりません
324デフォルトの名無しさん
2013/11/30(土) 20:31:16.84 >>322
いや、動的型付けは小さいものじゃないと
使いものにならないという言い方をしてくれよ。
小さいもので作りやすいとか言われても興味ないんだよね。
小さいものなら適当でも全体見渡せるからいいよ。
でも大きい物はどうなのさ?
こっちのほうが何倍も大変だ。
いや、動的型付けは小さいものじゃないと
使いものにならないという言い方をしてくれよ。
小さいもので作りやすいとか言われても興味ないんだよね。
小さいものなら適当でも全体見渡せるからいいよ。
でも大きい物はどうなのさ?
こっちのほうが何倍も大変だ。
325デフォルトの名無しさん
2013/11/30(土) 20:31:48.99326デフォルトの名無しさん
2013/11/30(土) 20:32:36.69 動的型で、コードの場所が遠いという理由で推論できない例をあげてみてよ
327デフォルトの名無しさん
2013/11/30(土) 20:33:32.31 >>326
JavaScriptでいえば、
function foo(a) {
aが持ってるメソッドは? 型推論できない。
}
JavaScriptでいえば、
function foo(a) {
aが持ってるメソッドは? 型推論できない。
}
328デフォルトの名無しさん
2013/11/30(土) 20:34:55.44329デフォルトの名無しさん
2013/11/30(土) 20:35:58.32330デフォルトの名無しさん
2013/11/30(土) 20:36:20.71331デフォルトの名無しさん
2013/11/30(土) 20:36:51.82332デフォルトの名無しさん
2013/11/30(土) 20:39:39.32333デフォルトの名無しさん
2013/11/30(土) 20:40:02.31 >>324
いや、だからちゃんと結論を読んでくださいって。
結局静的動的関係なく単にGroovy節操なくて良いよと言いたいだけなんでw
という冗談はともかく、結局動的でもメンテナンス可能な大きなものを書くには
型とか含めてゴリゴリドキュメントを書くし、トータルな手間としては結局静的
言語と大差なくなってくる。小さなもの相手には出来た手抜きは通用しない。
ただ動的言語でもきっちり手間をかけて書かれた大きなプロダクトはいくらでも
あると思う。
いや、だからちゃんと結論を読んでくださいって。
結局静的動的関係なく単にGroovy節操なくて良いよと言いたいだけなんでw
という冗談はともかく、結局動的でもメンテナンス可能な大きなものを書くには
型とか含めてゴリゴリドキュメントを書くし、トータルな手間としては結局静的
言語と大差なくなってくる。小さなもの相手には出来た手抜きは通用しない。
ただ動的言語でもきっちり手間をかけて書かれた大きなプロダクトはいくらでも
あると思う。
334デフォルトの名無しさん
2013/11/30(土) 20:40:41.97 >>330
> そのfooを呼び出してる側のコードも読み込んで
> 解析するのが普通なので、fooを使ってる側のコードも必要
fooを使っているかどうかは、
静的型付け言語ならコンピュータが判断してくれるよ?
動的型付けではできないよね。
> そのfooを呼び出してる側のコードも読み込んで
> 解析するのが普通なので、fooを使ってる側のコードも必要
fooを使っているかどうかは、
静的型付け言語ならコンピュータが判断してくれるよ?
動的型付けではできないよね。
335デフォルトの名無しさん
2013/11/30(土) 20:42:23.74336デフォルトの名無しさん
2013/11/30(土) 20:43:49.21 >>334
動的型だと、出来る場合と出来ない場合がある
動的型だと、出来る場合と出来ない場合がある
337デフォルトの名無しさん
2013/11/30(土) 20:48:30.69338デフォルトの名無しさん
2013/11/30(土) 20:54:53.89 >>337
それに加えてfoo("hoge")みたいな呼び出しもあったらどう補完されるの?
それに加えてfoo("hoge")みたいな呼び出しもあったらどう補完されるの?
339デフォルトの名無しさん
2013/11/30(土) 20:56:40.84 遠くにあるコードを解析する言語は、全体が完成するまで解析できない
つまり、全体が完成する前に実行できる言語があれば
静的に解析するより早い時期にデバッグできるんだよ
つまり、全体が完成する前に実行できる言語があれば
静的に解析するより早い時期にデバッグできるんだよ
340デフォルトの名無しさん
2013/11/30(土) 21:02:09.63 静的な型付けの言語は別に型の推測に遠くのコードを解析する必要なんて無いけど。
そのコードを書いた時点で型が確定しているのだから当然。
そのコードを書いた時点で型が確定しているのだから当然。
341デフォルトの名無しさん
2013/11/30(土) 21:02:55.68342デフォルトの名無しさん
2013/11/30(土) 21:08:55.09 >>341
JSでそういう上等な補完を行ってくれるIDEってあれば知りたい。
動的言語のIDEの補完は影響範囲がローカルでレキシカルに型を特定できたり
ドキュメントに型情報がある場合はその型を、そうでない場合は諦めモードで
基本クラスやDOMやjQuery等のメジャーなAPIをずらずら並べるのが多い気がする。
JSでそういう上等な補完を行ってくれるIDEってあれば知りたい。
動的言語のIDEの補完は影響範囲がローカルでレキシカルに型を特定できたり
ドキュメントに型情報がある場合はその型を、そうでない場合は諦めモードで
基本クラスやDOMやjQuery等のメジャーなAPIをずらずら並べるのが多い気がする。
343デフォルトの名無しさん
2013/11/30(土) 21:11:09.53344デフォルトの名無しさん
2013/11/30(土) 21:24:41.50 JSとLispの差にくらべてJavaとHaskellの差が大きすぎる
静的型付け言語は多様性が100倍
静的型付け言語は多様性が100倍
345デフォルトの名無しさん
2013/11/30(土) 21:30:53.47 JavaとHaskellの差は手続き型か純粋関数型かの違いだと思うけど。
動的静的、関係なくない?
動的静的、関係なくない?
346デフォルトの名無しさん
2013/11/30(土) 21:48:34.09 Javaはオブジェクト指向です
347デフォルトの名無しさん
2013/12/01(日) 00:13:53.45348デフォルトの名無しさん
2013/12/01(日) 01:11:10.71 >>322みたいにドキュメントを用意して引数の型を丁寧に書くなら型を動的にするメリットがない
じゃあドキュメントを用意しない場合はどうか。
function func(attr){ ... }
int func(File.Attributes attr){ ... }
こんな関数があったら前者は怖くて使えないよね。
何を渡していいのかわからない。何が渡されるのかわからない。
後者なら型情報が全てを物語ってる
じゃあドキュメントを用意しない場合はどうか。
function func(attr){ ... }
int func(File.Attributes attr){ ... }
こんな関数があったら前者は怖くて使えないよね。
何を渡していいのかわからない。何が渡されるのかわからない。
後者なら型情報が全てを物語ってる
349デフォルトの名無しさん
2013/12/01(日) 01:13:33.60 >>348
実装見たらええやん。3行程度だし。
実装見たらええやん。3行程度だし。
350デフォルトの名無しさん
2013/12/01(日) 01:19:41.54 >>349
補完そのものを全否定かい
補完そのものを全否定かい
351デフォルトの名無しさん
2013/12/01(日) 01:19:44.84352デフォルトの名無しさん
2013/12/01(日) 01:24:07.19 動的型付け言語を好む動的人間と静的型付け言語を好む静的人間とが居るかもしれない。
353デフォルトの名無しさん
2013/12/01(日) 01:25:22.24354デフォルトの名無しさん
2013/12/01(日) 01:31:46.41 >>352
まあでもどちらも比較的変種で普通種は動的言語も静的言語も両方使うと思う。
まあでもどちらも比較的変種で普通種は動的言語も静的言語も両方使うと思う。
355デフォルトの名無しさん
2013/12/01(日) 01:47:08.21 >>348
全くそのとおりだな。
型というのは、コンパイラと人間の両方が
理解して処理可能なコメントだと思えばいい。
短いコードならコメントなしでもいいが
規模が大きくなるにつれて、コメントがあるといいよ。
しかもそれが、早くて正確なコンパイラが理解可能なコメントなら
矛盾を指摘してくれたり、コメントをもとに適切な
アドバイスをしてくれるんだよ。
全くそのとおりだな。
型というのは、コンパイラと人間の両方が
理解して処理可能なコメントだと思えばいい。
短いコードならコメントなしでもいいが
規模が大きくなるにつれて、コメントがあるといいよ。
しかもそれが、早くて正確なコンパイラが理解可能なコメントなら
矛盾を指摘してくれたり、コメントをもとに適切な
アドバイスをしてくれるんだよ。
356デフォルトの名無しさん
2013/12/01(日) 02:05:12.90 型とコメントは別のものだと思うんですよね。
357デフォルトの名無しさん
2013/12/01(日) 02:12:47.43 型に関してもコメントを残すなら書く手間は動的も静的もそう変わらんということ。
358デフォルトの名無しさん
2013/12/01(日) 02:15:02.72 別のものだと思うんですよね。
359デフォルトの名無しさん
2013/12/01(日) 02:18:36.37 別なんじゃない。
静的型付け言語の型情報にはコメント的な御利益もあるというだけであって。
静的型付け言語の型情報にはコメント的な御利益もあるというだけであって。
360デフォルトの名無しさん
2013/12/01(日) 02:19:35.15 >>356
コメントがなくてもわかるような
コードを書けってきかない?
型を含めたコード全てが
コメントのように分かりやすくあるべきなんだよ。
コードに必要な情報を埋め込められる言語
ようするに型もその情報の一つなわけだけど、
そういう言語だとコードが分かりやすくなるんだよ。
(コンパイラが理解できない)コメントは
コードに情報を埋められない言語の逃げでしかない。
コメントがなくてもわかるような
コードを書けってきかない?
型を含めたコード全てが
コメントのように分かりやすくあるべきなんだよ。
コードに必要な情報を埋め込められる言語
ようするに型もその情報の一つなわけだけど、
そういう言語だとコードが分かりやすくなるんだよ。
(コンパイラが理解できない)コメントは
コードに情報を埋められない言語の逃げでしかない。
361デフォルトの名無しさん
2013/12/01(日) 02:22:12.37 コメントにはなぜそうしたのか?という理由を書く
コードにはそうなっているという事実を書く。
型は、そうした理由ではなく事実。
この変数・引数には○○型を採用しているという事実。
事実だからコードで書く。
○○型を採用した理由を書く必要があるならば
それをコメントに書く。
コードにはそうなっているという事実を書く。
型は、そうした理由ではなく事実。
この変数・引数には○○型を採用しているという事実。
事実だからコードで書く。
○○型を採用した理由を書く必要があるならば
それをコメントに書く。
362デフォルトの名無しさん
2013/12/01(日) 02:55:44.19 他の動的言語はともかくJSerはツンデレだからね。
変数スコープがウンコと言われてそんなことないもん! と強がる一方でletを導入したり
辞書型はオブジェクトリテラルで十分なんだからねっ! と言いながらMapを準備したり
functionぐらい面倒くさがらずに書きなさいよ! となじる一方で密かにアロー記号用意したり
型情報なんか必要だなんて思っていないんだからっ! と表向きは突き放しつつ陰ではいそいそ
JSDocに型情報を書いてみたりガードが使えるようになる未来を夢想してこっそりデれたり。
で、そのことを指摘しても「ガードは・・・そういうのとは違うのよっ」と否定してみたり。
変数スコープがウンコと言われてそんなことないもん! と強がる一方でletを導入したり
辞書型はオブジェクトリテラルで十分なんだからねっ! と言いながらMapを準備したり
functionぐらい面倒くさがらずに書きなさいよ! となじる一方で密かにアロー記号用意したり
型情報なんか必要だなんて思っていないんだからっ! と表向きは突き放しつつ陰ではいそいそ
JSDocに型情報を書いてみたりガードが使えるようになる未来を夢想してこっそりデれたり。
で、そのことを指摘しても「ガードは・・・そういうのとは違うのよっ」と否定してみたり。
363デフォルトの名無しさん
2013/12/01(日) 03:14:17.32 JS利用者が導入したわけじゃないしね。
必要ないのに勝手に誰かが導入しただけだしね。
必要ないのに勝手に誰かが導入しただけだしね。
364デフォルトの名無しさん
2013/12/01(日) 03:22:20.17 >>360
たいていのアルゴリズムはコメントどころか書籍程度の説明が必要。
書籍一冊で理解させるのが困難な場合も多く、直接的な指導が必要な場合も多い。
コメントを書かなくても理解させられるコードというのは、単に手続きを
羅列したものであり、そのような手続きの羅列を強要させられることこそが
糞言語のあかしなのである。
コメントを書く必要がないのではなく、コメントを書かなくていいような
手続きの羅列を書かされている。
こういった認識を持てないのは、糞言語に調教された証左である。
つまり、君は我々人類と対等に話せる場所に既に居ない。
機械に調教された悲しき奴隷、それが今の君の姿なのである。
たいていのアルゴリズムはコメントどころか書籍程度の説明が必要。
書籍一冊で理解させるのが困難な場合も多く、直接的な指導が必要な場合も多い。
コメントを書かなくても理解させられるコードというのは、単に手続きを
羅列したものであり、そのような手続きの羅列を強要させられることこそが
糞言語のあかしなのである。
コメントを書く必要がないのではなく、コメントを書かなくていいような
手続きの羅列を書かされている。
こういった認識を持てないのは、糞言語に調教された証左である。
つまり、君は我々人類と対等に話せる場所に既に居ない。
機械に調教された悲しき奴隷、それが今の君の姿なのである。
365デフォルトの名無しさん
2013/12/01(日) 03:25:46.68 コメントを書こう、メモを残そう、テストを完璧に行おう、デバッガを捨てよう。
366デフォルトの名無しさん
2013/12/01(日) 05:11:23.08368デフォルトの名無しさん
2013/12/01(日) 06:02:23.28 >>364
くだらね。極端な例はいらん。
くだらね。極端な例はいらん。
369デフォルトの名無しさん
2013/12/01(日) 06:03:00.15 > 'コメントを書かなくても理解させられるコードというのは、単に手続きを
> 羅列したものであり
間違い。
> 羅列したものであり
間違い。
370デフォルトの名無しさん
2013/12/01(日) 06:52:56.51 間違いもそうだが、そもそもレスが論理的におかしい
自分で「コメントを書かずとも理解させるコード」と、
コメントが理解の助けになる前提で語ってる時点で
最良はコメントのように書いてあるコードしかないだろうに
自分で「コメントを書かずとも理解させるコード」と、
コメントが理解の助けになる前提で語ってる時点で
最良はコメントのように書いてあるコードしかないだろうに
371デフォルトの名無しさん
2013/12/01(日) 06:54:50.42 そもそも、型情報は
コメントとして書くものではなく
コードで書くものだという話。
コメントとして書くものではなく
コードで書くものだという話。
372デフォルトの名無しさん
2013/12/01(日) 06:55:33.92373デフォルトの名無しさん
2013/12/01(日) 07:03:35.70374デフォルトの名無しさん
2013/12/01(日) 07:19:25.63 >>373
自動車運転する人の話を聞いているんだけど。
GoogleやFBが提供するAPIを使って何かを作る人はそのバックエンド処理の仕組みを知る
必要があるの?
gzipを使う人はgzipのコードを読んでからで無いとダメ?
HTMLにマイクロフォーマットを埋め込む人はRDF Semanticsの仕様を読んで理解してから?
String.indexOfを使う人はそれがどのアルゴリズムで書かれているか知ってからでないと
使っちゃダメかな?
理解「した方がよい」のと使うのにまずコード読んで中身の理解を求めるのは全く別。
自動車運転する人の話を聞いているんだけど。
GoogleやFBが提供するAPIを使って何かを作る人はそのバックエンド処理の仕組みを知る
必要があるの?
gzipを使う人はgzipのコードを読んでからで無いとダメ?
HTMLにマイクロフォーマットを埋め込む人はRDF Semanticsの仕様を読んで理解してから?
String.indexOfを使う人はそれがどのアルゴリズムで書かれているか知ってからでないと
使っちゃダメかな?
理解「した方がよい」のと使うのにまずコード読んで中身の理解を求めるのは全く別。
375デフォルトの名無しさん
2013/12/01(日) 07:19:29.74376デフォルトの名無しさん
2013/12/01(日) 07:30:28.94 >>375
コードは書くし他の人が読んで理解しやすいように書くけどコードを提供する側としては
自分が書いたコードを使うならまず読んで理解しろとは全く考えないね。
自分で書いたコードをいろいろな人に使ってもらった経験って、ある?
コードは書くし他の人が読んで理解しやすいように書くけどコードを提供する側としては
自分が書いたコードを使うならまず読んで理解しろとは全く考えないね。
自分で書いたコードをいろいろな人に使ってもらった経験って、ある?
377デフォルトの名無しさん
2013/12/01(日) 08:13:20.34378デフォルトの名無しさん
2013/12/01(日) 11:42:22.02 型を宣言してもコメントはなくならないし、テストもなくならない
グローバルスタンダードになるつもりは最初からない
ガラパゴスの多様性を擁護する側の勢力がどんな戦い方をするのかという実験なんだよ
グローバルスタンダードになるつもりは最初からない
ガラパゴスの多様性を擁護する側の勢力がどんな戦い方をするのかという実験なんだよ
379デフォルトの名無しさん
2013/12/01(日) 12:32:35.07 >>374
駄目と入ってないが、どれも知っていたほうが理解が早い
特にWen関連APIなんてそのベンダーの仕様知ってると相当に早い
それにマイクロコードなんてSEO考えてるならまず仕様から入るし
gzやindexOfの実装にしたって
パラメタ指定が速度に関わる系なら知ってて損はない
概要すらいらないなんて考えはさすがに同意しかねるよ
駄目と入ってないが、どれも知っていたほうが理解が早い
特にWen関連APIなんてそのベンダーの仕様知ってると相当に早い
それにマイクロコードなんてSEO考えてるならまず仕様から入るし
gzやindexOfの実装にしたって
パラメタ指定が速度に関わる系なら知ってて損はない
概要すらいらないなんて考えはさすがに同意しかねるよ
380デフォルトの名無しさん
2013/12/01(日) 13:06:30.06381デフォルトの名無しさん
2013/12/01(日) 13:09:32.04382デフォルトの名無しさん
2013/12/01(日) 13:20:35.67 あれでしょ?なんだかんだ言って
関数を自分で作ったことがない人なんでしょ。
使うだけの人。
プログラマなら普通、自分が書いているコードの
中身の話をするもんだけどねぇ
関数を自分で作ったことがない人なんでしょ。
使うだけの人。
プログラマなら普通、自分が書いているコードの
中身の話をするもんだけどねぇ
383デフォルトの名無しさん
2013/12/01(日) 15:44:13.87 コメントやドキュメントに書いてある事だけ知っていれば良かったらどんなに楽だろうか
384デフォルトの名無しさん
2013/12/01(日) 15:45:54.12 >>383
コメントやドキュメントが整備されていれば実装まで調べる必要ないけど
コメントやドキュメントが整備されていれば実装まで調べる必要ないけど
385デフォルトの名無しさん
2013/12/01(日) 15:50:08.51386デフォルトの名無しさん
2013/12/01(日) 16:08:55.34 ドキュメントに具体例がないと苦労する
具体例とは、仕様書でもソースコードでもない
具体例とは、仕様書でもソースコードでもない
387デフォルトの名無しさん
2013/12/01(日) 16:18:54.90 >>386
たしかに例が載ってると助かるよね
たしかに例が載ってると助かるよね
388デフォルトの名無しさん
2013/12/01(日) 17:19:30.39 ここでD使いが参上
「Dならunittestのコードを直に埋め込めるし
ドキュメントに使用例として吐出されるよ」
シュタッミ
「Dならunittestのコードを直に埋め込めるし
ドキュメントに使用例として吐出されるよ」
シュタッミ
389デフォルトの名無しさん
2013/12/01(日) 17:56:08.53390デフォルトの名無しさん
2013/12/01(日) 18:02:55.11 >>382
誰かと一緒に作業したり他の人にコードを提供するプログラマなら中身同様にドキュメント
等を含めたコードの外面をとことん気にすると思うけれども、違うの?
ドキュメンテーションをちゃんと行うなら静的も動的も記述量はたいしたことが無いんじゃ
ないのという例を挙げたのは自分だけど、そこからドキュメントを用意しない場合という話
が出てきて実装読めば良いとかコメント無くてもわかるコードという話になったので「謎」
と言ったわけ。
いやそこ頑張るとこじゃ無いというか、頑張っても良いけどまずメソッドのシグネチャや
付随するコメントが十分に説明的になってからでないと単に効率悪いだけだから。
function func(attr)もint func(File.Attributes attr)も中身の書き方云々する前にまず
コメントから書こうよw メソッド名も書き直す。
誰かと一緒に作業したり他の人にコードを提供するプログラマなら中身同様にドキュメント
等を含めたコードの外面をとことん気にすると思うけれども、違うの?
ドキュメンテーションをちゃんと行うなら静的も動的も記述量はたいしたことが無いんじゃ
ないのという例を挙げたのは自分だけど、そこからドキュメントを用意しない場合という話
が出てきて実装読めば良いとかコメント無くてもわかるコードという話になったので「謎」
と言ったわけ。
いやそこ頑張るとこじゃ無いというか、頑張っても良いけどまずメソッドのシグネチャや
付随するコメントが十分に説明的になってからでないと単に効率悪いだけだから。
function func(attr)もint func(File.Attributes attr)も中身の書き方云々する前にまず
コメントから書こうよw メソッド名も書き直す。
391デフォルトの名無しさん
2013/12/01(日) 18:13:51.40392デフォルトの名無しさん
2013/12/01(日) 18:23:17.12 >>391
勝手に話をすり替えないように。
勝手に話をすり替えないように。
393デフォルトの名無しさん
2013/12/01(日) 18:23:48.97 話を戻そうね
360 名前:デフォルトの名無しさん[sage] 投稿日:2013/12/01(日) 02:19:35.15
>>356
コメントがなくてもわかるような
コードを書けってきかない?
型を含めたコード全てが
コメントのように分かりやすくあるべきなんだよ。
コードに必要な情報を埋め込められる言語
ようするに型もその情報の一つなわけだけど、
そういう言語だとコードが分かりやすくなるんだよ。
(コンパイラが理解できない)コメントは
コードに情報を埋められない言語の逃げでしかない。
360 名前:デフォルトの名無しさん[sage] 投稿日:2013/12/01(日) 02:19:35.15
>>356
コメントがなくてもわかるような
コードを書けってきかない?
型を含めたコード全てが
コメントのように分かりやすくあるべきなんだよ。
コードに必要な情報を埋め込められる言語
ようするに型もその情報の一つなわけだけど、
そういう言語だとコードが分かりやすくなるんだよ。
(コンパイラが理解できない)コメントは
コードに情報を埋められない言語の逃げでしかない。
394デフォルトの名無しさん
2013/12/01(日) 18:28:50.95 使うだけにしても実装を追うにしてもコメントのあるなしで大分違うからまずコメント書けってのには同意だけど
コメントが書いてあれば実装を追わなくても理解できる、とか言われると「はぁ?」って感じ
コメントが書いてあれば実装を追わなくても理解できる、とか言われると「はぁ?」って感じ
395デフォルトの名無しさん
2013/12/01(日) 18:32:04.04 経験上、コメントがないとわかりづらい部分とコメントを書きづらい部分というのがかぶっているわけで
396デフォルトの名無しさん
2013/12/01(日) 18:45:11.41 同じ手間でコードでかけることならば、コードで書いていれば良い。
引数の型とかそういうのはコードで書くべき情報。
引数の型とかそういうのはコードで書くべき情報。
397デフォルトの名無しさん
2013/12/01(日) 18:49:35.92 服着てる現代人と裸の原始人とどっちが優秀かって問題だと思う。
原始人は体が鍛えられてて個体としては優秀だが、狩猟ができず食える草が生えてない東京で絶望することだろう。
原始人は体が鍛えられてて個体としては優秀だが、狩猟ができず食える草が生えてない東京で絶望することだろう。
398デフォルトの名無しさん
2013/12/01(日) 18:50:28.76 >>393
自分が好都合なリビジョンに話をロールバックするなw
エラー発生時点まできっちり巻き戻そう。
>>348
>function func(attr){ ... }
>int func(File.Attributes attr){ ... }
>こんな関数があったら前者は怖くて使えないよね。
後者だって怖くて使えね〜w
要するに、そういうことだよ。型が合った方が良いという例としてはイマイチ無茶。
仮に実装の中身にしても同様。
int i = 0;
var index = 0 // 0..(users.length -1)
どっちが説明的?
int index = 0; // 0..(users.length -1)
と大差ある?
「コメント無くてもわかるようなコード」というのは型情報だけでは無くメソッド
名や変数名にも配慮して初めて書けるもの。型情報なんてその中の一つに過ぎない。
で、その程度は少しのコメントで補えるもの。この点で動的型が不利とは思わない。
さらに言えば「コメント無くてもわかるようなコード」の書きやすさではJava等
よりもPythonなどを押すかな。これは静的型動的型の違いと言うよりもコード中の
ノイズの多さの違い。
自分が好都合なリビジョンに話をロールバックするなw
エラー発生時点まできっちり巻き戻そう。
>>348
>function func(attr){ ... }
>int func(File.Attributes attr){ ... }
>こんな関数があったら前者は怖くて使えないよね。
後者だって怖くて使えね〜w
要するに、そういうことだよ。型が合った方が良いという例としてはイマイチ無茶。
仮に実装の中身にしても同様。
int i = 0;
var index = 0 // 0..(users.length -1)
どっちが説明的?
int index = 0; // 0..(users.length -1)
と大差ある?
「コメント無くてもわかるようなコード」というのは型情報だけでは無くメソッド
名や変数名にも配慮して初めて書けるもの。型情報なんてその中の一つに過ぎない。
で、その程度は少しのコメントで補えるもの。この点で動的型が不利とは思わない。
さらに言えば「コメント無くてもわかるようなコード」の書きやすさではJava等
よりもPythonなどを押すかな。これは静的型動的型の違いと言うよりもコード中の
ノイズの多さの違い。
399デフォルトの名無しさん
2013/12/01(日) 18:56:38.16 >>394
コメントが書いてあれば実装を追わなくても理解できる、とまではさすがに求めない。
まずは実装を追わなくても使えるべきで、そのためにコメントやドキュメントは必要と
言っているだけ。
ドキュメントを書いたのにドキュメントだけでは使い方がわからなかったとか言われた
場合はそれなりに悔しいw
コメントが書いてあれば実装を追わなくても理解できる、とまではさすがに求めない。
まずは実装を追わなくても使えるべきで、そのためにコメントやドキュメントは必要と
言っているだけ。
ドキュメントを書いたのにドキュメントだけでは使い方がわからなかったとか言われた
場合はそれなりに悔しいw
400デフォルトの名無しさん
2013/12/01(日) 18:56:46.51 > 後者だって怖くて使えね〜w
> 要するに、そういうことだよ。
どういうこと?(笑)
ほらね、理由を全く言ってない。
これなんだよ。卑怯な人はね。
> var index = 0 // 0..(users.length -1)
>
> どっちが説明的?
>
> int index = 0; // 0..(users.length -1)
下じゃねーの?
上に書いてあるint i = 0; がなんのことだかわからんけど、
誤記入だろう? 型がない言語でにはint iなんて物は存在しないからね。
> 要するに、そういうことだよ。
どういうこと?(笑)
ほらね、理由を全く言ってない。
これなんだよ。卑怯な人はね。
> var index = 0 // 0..(users.length -1)
>
> どっちが説明的?
>
> int index = 0; // 0..(users.length -1)
下じゃねーの?
上に書いてあるint i = 0; がなんのことだかわからんけど、
誤記入だろう? 型がない言語でにはint iなんて物は存在しないからね。
401デフォルトの名無しさん
2013/12/01(日) 18:57:58.20402デフォルトの名無しさん
2013/12/01(日) 18:58:58.72403デフォルトの名無しさん
2013/12/01(日) 19:01:00.31 >>401
この二つは明らかに下のほうがわかりやすいね。
上はindexって書いているけど、これが何型かわからない。
もしかしたら本の索引って意味かもしれんし。
その場合は、1.1 (一章一節)なんて数値が入るかもしれない。
後者だと整数であることが明確である。
この二つは明らかに下のほうがわかりやすいね。
上はindexって書いているけど、これが何型かわからない。
もしかしたら本の索引って意味かもしれんし。
その場合は、1.1 (一章一節)なんて数値が入るかもしれない。
後者だと整数であることが明確である。
404デフォルトの名無しさん
2013/12/01(日) 19:02:51.27 もっと具体的な型だったら
さらに意味がわかりやすいよね。
BookIndex index = 0;
さらに意味がわかりやすいよね。
BookIndex index = 0;
405デフォルトの名無しさん
2013/12/01(日) 19:03:29.40 >>401
でもHaskellのコードとか、
関数がポイントフリーになっていて引数名すら存在しない、
その関数の引数の型ぐらいしかヒントがない、
なんてことがあるし。
傾向として
静的型プログラマは型に頼って変数名はテキトー、
動的型プログラマは変数名に拘るのが多いんじゃね?
でもHaskellのコードとか、
関数がポイントフリーになっていて引数名すら存在しない、
その関数の引数の型ぐらいしかヒントがない、
なんてことがあるし。
傾向として
静的型プログラマは型に頼って変数名はテキトー、
動的型プログラマは変数名に拘るのが多いんじゃね?
406デフォルトの名無しさん
2013/12/01(日) 19:04:19.46407デフォルトの名無しさん
2013/12/01(日) 19:04:48.65 > 静的型プログラマは型に頼って変数名はテキトー、
> 動的型プログラマは変数名に拘るのが多いんじゃね?
全然違うし。変数名が適当であるという根拠は何一つ出てない。
静的型プログラマは型も変数名にもこだわってる。
動的型プログラマは変数名に拘るが型は適当。
これが事実だろ。
> 動的型プログラマは変数名に拘るのが多いんじゃね?
全然違うし。変数名が適当であるという根拠は何一つ出てない。
静的型プログラマは型も変数名にもこだわってる。
動的型プログラマは変数名に拘るが型は適当。
これが事実だろ。
408デフォルトの名無しさん
2013/12/01(日) 19:05:57.33 コメントは基本ドキュメンテーションコメントだけでいいんだよ
409デフォルトの名無しさん
2013/12/01(日) 19:07:28.59410デフォルトの名無しさん
2013/12/01(日) 19:07:47.65411デフォルトの名無しさん
2013/12/01(日) 19:08:15.68 >>404
BookIndex型に整数代入したらエラーになるんじゃないの?
BookIndex型に整数代入したらエラーになるんじゃないの?
412デフォルトの名無しさん
2013/12/01(日) 19:08:33.10 というわけで>>407はウソツキであることが確定w
413デフォルトの名無しさん
2013/12/01(日) 19:09:36.58414デフォルトの名無しさん
2013/12/01(日) 19:10:15.71415デフォルトの名無しさん
2013/12/01(日) 19:10:24.20 型があるとこういう、明らかにエラーになるべき所を
しっかり教えてくれるんだよね。
しっかり教えてくれるんだよね。
416デフォルトの名無しさん
2013/12/01(日) 19:11:25.19 >>400
下の二つのどちらが説明的なのかと
(前者は静的型で変数名に無頓着な例。
後者は動的型で説明的な変数名にコメントを付記した例)
int i = 0;
var index = 0 // 0..(users.length -1)
下の二つでは大差があるのかと説いたわけで。
var index = 0 // 0..(users.length -1)
int index = 0; // 0..(users.length -1)
要するに動的型でも適切にコメントを付記すれば十分に説明的になる以上、コメント
禁止なんて非現実的な縛りでも無い限り動的型は理解しやすいコードの書きやすさの
点で不利にはならないということ。
コメントが無いコードを書きたいの? それとも理解しやすいコードを書きたいの?
下の二つのどちらが説明的なのかと
(前者は静的型で変数名に無頓着な例。
後者は動的型で説明的な変数名にコメントを付記した例)
int i = 0;
var index = 0 // 0..(users.length -1)
下の二つでは大差があるのかと説いたわけで。
var index = 0 // 0..(users.length -1)
int index = 0; // 0..(users.length -1)
要するに動的型でも適切にコメントを付記すれば十分に説明的になる以上、コメント
禁止なんて非現実的な縛りでも無い限り動的型は理解しやすいコードの書きやすさの
点で不利にはならないということ。
コメントが無いコードを書きたいの? それとも理解しやすいコードを書きたいの?
417デフォルトの名無しさん
2013/12/01(日) 19:11:44.25418デフォルトの名無しさん
2013/12/01(日) 19:13:16.65419デフォルトの名無しさん
2013/12/01(日) 19:13:55.84 >>417
例外は発生させる分コストがかかるじゃん
例外は発生させる分コストがかかるじゃん
420デフォルトの名無しさん
2013/12/01(日) 19:13:57.19 >>416
お前さ、比較実験の原則しらねーの?
今比べるべきところは型だろ。
ならば型以外の条件は同じにするのが
原則だ。
int i = 0 // 0..(users.length -1)
var index = 0 // 0..(users.length -1)
どっちが説明的かって?
上に決まってるじゃねーか。
お前さ、比較実験の原則しらねーの?
今比べるべきところは型だろ。
ならば型以外の条件は同じにするのが
原則だ。
int i = 0 // 0..(users.length -1)
var index = 0 // 0..(users.length -1)
どっちが説明的かって?
上に決まってるじゃねーか。
421デフォルトの名無しさん
2013/12/01(日) 19:14:51.71422デフォルトの名無しさん
2013/12/01(日) 19:15:11.92 そもそも無駄にコメント書くやつがアホ
関数の説明ぐらいでいいんだよ
関数の説明ぐらいでいいんだよ
423デフォルトの名無しさん
2013/12/01(日) 19:18:00.23424デフォルトの名無しさん
2013/12/01(日) 19:18:00.87 >>403
「0」って整数リテラルがかいてあるのに
> もしかしたら本の索引って意味かもしれんし。
> その場合は、1.1 (一章一節)なんて数値が入るかもしれない。
なんてキチガイじみたこと言うなんて、
やっぱり静的型プログラマはバカなんだね。
「0」って整数リテラルがかいてあるのに
> もしかしたら本の索引って意味かもしれんし。
> その場合は、1.1 (一章一節)なんて数値が入るかもしれない。
なんてキチガイじみたこと言うなんて、
やっぱり静的型プログラマはバカなんだね。
425デフォルトの名無しさん
2013/12/01(日) 19:19:10.19 >>424
発想力のないやつだね。
0が書いてあればということは、
じゃあ0が書いていなければどうなるのさ?
もしこの値が1だったらどうなる?
0ならわかると言っているならば、
0以外ならわからないとお前は認めてるのも同然なんだよ。
発想力のないやつだね。
0が書いてあればということは、
じゃあ0が書いていなければどうなるのさ?
もしこの値が1だったらどうなる?
0ならわかると言っているならば、
0以外ならわからないとお前は認めてるのも同然なんだよ。
426デフォルトの名無しさん
2013/12/01(日) 19:20:38.91 >>423
「型がない」なんて言ってる時点で、型に関する知識が初心者レベルなのが丸わかりw
静的型言語を使っているからバカになったのか、
それともバカだから静的型言語を使っているのか。
どっちにせよ、静的厨はバカw
「型がない」なんて言ってる時点で、型に関する知識が初心者レベルなのが丸わかりw
静的型言語を使っているからバカになったのか、
それともバカだから静的型言語を使っているのか。
どっちにせよ、静的厨はバカw
427デフォルトの名無しさん
2013/12/01(日) 19:21:20.90428デフォルトの名無しさん
2013/12/01(日) 19:26:27.05 >>420
ちゃんと読む。下の二つでは大差があるのかと説いたわけで。
> var index = 0 // 0..(users.length -1)
> int index = 0; // 0..(users.length -1)
大差あるの?
ちゃんと読む。下の二つでは大差があるのかと説いたわけで。
> var index = 0 // 0..(users.length -1)
> int index = 0; // 0..(users.length -1)
大差あるの?
429デフォルトの名無しさん
2013/12/01(日) 19:28:39.41 >>426
変数に型がないのは間違ってないだろ?
変数に型がないのは間違ってないだろ?
430デフォルトの名無しさん
2013/12/01(日) 19:29:10.53431デフォルトの名無しさん
2013/12/01(日) 19:30:26.99 >>416
ローカル変数までコメント付けるなんて条件のほうが非現実的
がんばって全部文章でこと細かな説明つければそりゃどんな言語だって分かりやすくなるわw
普通はそんな手間かかることしないよね
ごく一般的なプログラムのコメント濃度だと静的型のほうが説明的になるのは間違いない
ローカル変数までコメント付けるなんて条件のほうが非現実的
がんばって全部文章でこと細かな説明つければそりゃどんな言語だって分かりやすくなるわw
普通はそんな手間かかることしないよね
ごく一般的なプログラムのコメント濃度だと静的型のほうが説明的になるのは間違いない
432デフォルトの名無しさん
2013/12/01(日) 19:33:02.41 つまり、コメントを書かないですむということは、その程度の手続きの羅列
ってことなのですよ。
ほとんどのアルゴリズムは本一冊で足りないくらいの説明が必要ですからね。
つまり、馬鹿が講釈たれてる図式なんですよ。
手続きの羅列で満足なら自分の中で満足するべきで、「手続きの羅列以外
認めてはならない」みたいな変な啓蒙しちゃいけないんですよ。
ってことなのですよ。
ほとんどのアルゴリズムは本一冊で足りないくらいの説明が必要ですからね。
つまり、馬鹿が講釈たれてる図式なんですよ。
手続きの羅列で満足なら自分の中で満足するべきで、「手続きの羅列以外
認めてはならない」みたいな変な啓蒙しちゃいけないんですよ。
433デフォルトの名無しさん
2013/12/01(日) 19:35:08.96 静的型だって型が文脈的に自明なところは型推論で型宣言をすっ飛ばす流れだから似たようなもの。
動的型だってまずは文脈的にわかりにくかったり特に大事な部分からコメントをつける。
動的型だってまずは文脈的にわかりにくかったり特に大事な部分からコメントをつける。
434デフォルトの名無しさん
2013/12/01(日) 19:38:32.31 つまりですね、JS以外はみんな糞言語ってことです。
動的とか静的なんて関係ないんです。
動的とか静的なんて関係ないんです。
435デフォルトの名無しさん
2013/12/01(日) 19:49:24.64 JSはともかく動的静的関係ないのはそうかな。
どちらでも配慮すれば理解しやすいコードは書けるし手間も大差ない。
手間に差があるとしても型付け以外の要素が大きい気がする。
どちらでも配慮すれば理解しやすいコードは書けるし手間も大差ない。
手間に差があるとしても型付け以外の要素が大きい気がする。
436デフォルトの名無しさん
2013/12/01(日) 19:51:51.32 コメントを書くなと言ってた馬鹿は静的がその点で優れていると
述べてましたよね?
述べてましたよね?
437デフォルトの名無しさん
2013/12/01(日) 20:11:30.16438デフォルトの名無しさん
2013/12/01(日) 20:16:12.93 >>432はバカでわからず屋だから本一冊の説明が必要なのかもしれんね。
439デフォルトの名無しさん
2013/12/01(日) 20:41:00.79440デフォルトの名無しさん
2013/12/01(日) 20:52:20.05 >>436
> コメントを書くなと言ってた
誰の話?
お前、脳内で仮想敵作りすぎだ。
ああいったに違いない。
こういったに違いない。
ああいった。
こういった。
ムキーッって
自分でかってに苛ついてるだろ。
馬鹿じゃん?
> コメントを書くなと言ってた
誰の話?
お前、脳内で仮想敵作りすぎだ。
ああいったに違いない。
こういったに違いない。
ああいった。
こういった。
ムキーッって
自分でかってに苛ついてるだろ。
馬鹿じゃん?
441デフォルトの名無しさん
2013/12/01(日) 20:54:09.77 コメントがなくても読みやすいコードを書け
↓こういう話を
それはコメント書くなって意味だろ!
↑こういう風に解釈するバカが居るんですよね。
↓こういう話を
それはコメント書くなって意味だろ!
↑こういう風に解釈するバカが居るんですよね。
442デフォルトの名無しさん
2013/12/01(日) 21:07:53.21 どうせ初心者にありがちな
一行ごとにコメント書くようなやつなんだろ。
変数の定義のたびに、何とかを入れた変数とか
書いてるんだぜ。
一行ごとにコメント書くようなやつなんだろ。
変数の定義のたびに、何とかを入れた変数とか
書いてるんだぜ。
443デフォルトの名無しさん
2013/12/01(日) 21:18:38.26 自然言語でまともに会話できない醜態をさらしつつ
コメントについて議論のような何かをするスレ
コメントについて議論のような何かをするスレ
444デフォルトの名無しさん
2013/12/01(日) 21:19:25.55 誰もコメントを否定してないのに
なんか勘違いして一人で熱くなってるんだろw
なんか勘違いして一人で熱くなってるんだろw
445デフォルトの名無しさん
2013/12/01(日) 22:11:37.78 >>433
静的ならIDEが型を解決できるから補完したりマウスのせて型見たりできるし
静的ならIDEが型を解決できるから補完したりマウスのせて型見たりできるし
446デフォルトの名無しさん
2013/12/01(日) 22:34:03.86 >>437
手続きの羅列をアルゴリズムと呼ぶのは、小学生までです。
手続きの羅列をアルゴリズムと呼ぶのは、小学生までです。
447デフォルトの名無しさん
2013/12/01(日) 22:38:14.16 普通のソフトウェア開発の場合、
アルゴリズムが全体の8割以上を占める。
○か×か
アルゴリズムが全体の8割以上を占める。
○か×か
448デフォルトの名無しさん
2013/12/01(日) 22:38:56.16 アルゴリズムってのは普通ライブラリ化するだろ?
449デフォルトの名無しさん
2013/12/01(日) 22:40:07.48 手続きの羅列程度のものに
コメントが必要な時点で
おかしいんだよな。
コメントが必要な時点で
おかしいんだよな。
450デフォルトの名無しさん
2013/12/01(日) 22:47:40.04 人間は計算が苦手だったから徹底的に最適化しないと計算できなかったが
コンピュータは小学生並みの最適化でも計算できてしまうことが多い
コンピュータは小学生並みの最適化でも計算できてしまうことが多い
451デフォルトの名無しさん
2013/12/01(日) 22:55:05.79 型推論っていうのは、
動的型付けの型なし変数と違う。
一見同じように見えるが、型推論のほうが
高度な機能を有している。
型推論というのは、静的に型を推論するから
その型に矛盾が生じた時に実行を待たなくとも検出できるし
コード補完も正確に行える。
これは動的型付けに比べて明らかなメリット。
動的型付けの型なし変数と違う。
一見同じように見えるが、型推論のほうが
高度な機能を有している。
型推論というのは、静的に型を推論するから
その型に矛盾が生じた時に実行を待たなくとも検出できるし
コード補完も正確に行える。
これは動的型付けに比べて明らかなメリット。
452デフォルトの名無しさん
2013/12/01(日) 23:00:01.30 Haskellが <T> を書かなくていいのは書かなくても補完できるからなんだよな
逆に <T> を書かされる言語は、補完できてないから書かされている
逆に <T> を書かされる言語は、補完できてないから書かされている
453デフォルトの名無しさん
2013/12/01(日) 23:01:05.70 そんな当たり前のことを今さら説明して何がしたいん?
454デフォルトの名無しさん
2013/12/01(日) 23:09:14.99455デフォルトの名無しさん
2013/12/01(日) 23:10:09.36 Haskellが優れているのは分かるんだけど、
仕事で実際に使うというのは現実的には難しい
一方、選びやすいJavaやC#は冗長すぎてゴミなので
RubyやPythonの方がマシってことになる
難しいもんだね
仕事で実際に使うというのは現実的には難しい
一方、選びやすいJavaやC#は冗長すぎてゴミなので
RubyやPythonの方がマシってことになる
難しいもんだね
456デフォルトの名無しさん
2013/12/01(日) 23:10:40.93 別に冗長過ぎないと思うが?
457デフォルトの名無しさん
2013/12/01(日) 23:11:49.65 コメントを書かずに済むのは手続きの羅列だから。
458デフォルトの名無しさん
2013/12/01(日) 23:13:17.58 型推論とテンプレート(ジェネリック)は別なんじゃ…
459デフォルトの名無しさん
2013/12/01(日) 23:13:37.81 JavaやC#が冗長といっても
開発時間に影響するほどのもんでもないしな。
100行未満の小さいプログラムでなら
簡単に作れるかもしれないけど、
大規模アプリになると、そんな些細な冗長性は
その他の本質なコードによって相対的に見えなくなる。
開発時間に影響するほどのもんでもないしな。
100行未満の小さいプログラムでなら
簡単に作れるかもしれないけど、
大規模アプリになると、そんな些細な冗長性は
その他の本質なコードによって相対的に見えなくなる。
460デフォルトの名無しさん
2013/12/01(日) 23:15:24.24 「コメントを書かなくていいようなコードを書きなさい」
↑
手続きの羅列に限定しなさいって意味。
まじマシンの下僕。
スカイネットに寝返った人類の敵。
しかもなんか偉そうに述べてくるのがまじわからん。
↑
手続きの羅列に限定しなさいって意味。
まじマシンの下僕。
スカイネットに寝返った人類の敵。
しかもなんか偉そうに述べてくるのがまじわからん。
461デフォルトの名無しさん
2013/12/01(日) 23:15:32.38462デフォルトの名無しさん
2013/12/01(日) 23:17:00.28 聞いた話だが、
コボラーとか同じマッチング処理(アルゴリズム)を
何回も再発明しているらしい。
普通に考えれば、リスト1とリスト2を
与えれば、結果を出す関数を作ればいいだけなのにね。
コボラーとか同じマッチング処理(アルゴリズム)を
何回も再発明しているらしい。
普通に考えれば、リスト1とリスト2を
与えれば、結果を出す関数を作ればいいだけなのにね。
463デフォルトの名無しさん
2013/12/01(日) 23:21:13.26 型があればコメントを書かなくていいとか言ってなかったっけ?
464デフォルトの名無しさん
2013/12/01(日) 23:21:51.46 複雑なものを書くのが俺の仕事だみたいな感じなんだろうね。
それを効率化して簡単に読みやすくかけるようにしたら、
それの仕事を取るなって怒るのだろう。
まあ老害ってやつだね。
それを効率化して簡単に読みやすくかけるようにしたら、
それの仕事を取るなって怒るのだろう。
まあ老害ってやつだね。
465デフォルトの名無しさん
2013/12/01(日) 23:24:13.66 >>463
スレに記録残ってるんだから、
そのリンクを示せばいいだけだろ。
見つかんないから、そうやってとぼけてるんだってわかるけどねw
ちなみに、お前の質問の答はNOだ。
誰もコメント書かなくていいなんて言っていない。
型情報はコードで書けばいいのだから
コメントに型情報を書く必要がないと言ってるだけ。
まさか、これを見て、コメント書かなくていいなんて
思わないよね?
スレに記録残ってるんだから、
そのリンクを示せばいいだけだろ。
見つかんないから、そうやってとぼけてるんだってわかるけどねw
ちなみに、お前の質問の答はNOだ。
誰もコメント書かなくていいなんて言っていない。
型情報はコードで書けばいいのだから
コメントに型情報を書く必要がないと言ってるだけ。
まさか、これを見て、コメント書かなくていいなんて
思わないよね?
466デフォルトの名無しさん
2013/12/01(日) 23:26:03.52 きっと、コメントに型情報だけを書いていた人なのだろう。
だから型情報をコメントに書かなくていいと言ったら
コメントに書く情報がなくなるじゃないかって思う。
だから型情報をコメントに書かなくていいと言ったら
コメントに書く情報がなくなるじゃないかって思う。
467デフォルトの名無しさん
2013/12/01(日) 23:29:38.68 文字列しか型のないtcl最強だな
468デフォルトの名無しさん
2013/12/01(日) 23:32:02.97 動的型付けのメリットってなんかあるの?
469デフォルトの名無しさん
2013/12/01(日) 23:32:59.02 短いプログラムに限って
470デフォルトの名無しさん
2013/12/01(日) 23:35:10.62471デフォルトの名無しさん
2013/12/01(日) 23:36:09.04 変数宣言が楽
型推論使えば意味ないか
最近は動的でもIDEで予測変換出てきて便利です
静的の方が進化してる感じはあるけど
型推論使えば意味ないか
最近は動的でもIDEで予測変換出てきて便利です
静的の方が進化してる感じはあるけど
472デフォルトの名無しさん
2013/12/02(月) 00:10:15.31 コメントがなくてもわかるような
コードを書けってきかない?
コードを書けってきかない?
473デフォルトの名無しさん
2013/12/02(月) 00:15:37.24 コードで説明できないからコメントで説明するんだろうね
プログラマとはプロのグラマーだよね?
プロと名乗る以上はコードできちんと説明できないといけないね
コメントを書いていいのはアマチュアまで
プログラマとはプロのグラマーだよね?
プロと名乗る以上はコードできちんと説明できないといけないね
コメントを書いていいのはアマチュアまで
474デフォルトの名無しさん
2013/12/02(月) 00:21:24.45 「コメント」の指す意味が交錯してる
ドキュメントの関数定義に付与されるドキュメンテーションコメントと、
コード中に必要に応じて書かれるコメント
前者を省くのはプロでも不可能
ドキュメントの関数定義に付与されるドキュメンテーションコメントと、
コード中に必要に応じて書かれるコメント
前者を省くのはプロでも不可能
475デフォルトの名無しさん
2013/12/02(月) 00:26:00.91 コメントは核と同程度の危険性を持つ
出来るだけ書かないほうがいい
出来るだけ書かないほうがいい
476デフォルトの名無しさん
2013/12/02(月) 00:55:46.15 Skydrive
477デフォルトの名無しさん
2013/12/02(月) 01:32:34.11 1年後に自分のコードを見たときわけわからんということが無い程度にはコメント書いとけ。
478デフォルトの名無しさん
2013/12/02(月) 02:02:36.99 コメントがなくてもわかるような
コードを書けってきかない?
コードを書けってきかない?
479デフォルトの名無しさん
2013/12/02(月) 02:04:01.23 つまり、手続きの羅列以外書かないことが重要なのです。
480デフォルトの名無しさん
2013/12/02(月) 03:15:34.36 >>460
何をやっているのか関数名として書くだけ。
何をやっているのか関数名として書くだけ。
481デフォルトの名無しさん
2013/12/02(月) 06:57:20.60 コメントに似てる方が負けというルールなら
宣言を書くよりテストを書く方が勝つんだろうな
宣言を書くよりテストを書く方が勝つんだろうな
482デフォルトの名無しさん
2013/12/02(月) 06:59:56.61 コメント無くてもわかるようなコードにコメント付記するのが最強。
483デフォルトの名無しさん
2013/12/02(月) 07:18:17.44 冗長でも元気イッパイなのはよいことだ。
484デフォルトの名無しさん
2013/12/02(月) 09:56:46.84 失業しますた
485デフォルトの名無しさん
2013/12/02(月) 13:40:47.97 JSerなら引く手数多だから大丈夫でしょう
486デフォルトの名無しさん
2013/12/02(月) 18:06:44.57 コメントがなくてもわかるような
コードを書けってきかない?
コメント書くのは素人
コードを書けってきかない?
コメント書くのは素人
487デフォルトの名無しさん
2013/12/02(月) 18:08:29.61 ドキュメンテーションコメントは書きますし
普通のコメントはたまにしか書かないけど
普通のコメントはたまにしか書かないけど
488デフォルトの名無しさん
2013/12/02(月) 18:12:13.92 初心者はコメント書いても仕方ないんじゃないかな?
489デフォルトの名無しさん
2013/12/02(月) 18:14:09.37 そうか、静的型付言語なんか使っていると
動的型付言語には型がないなんて
バカ丸出しのキチガイ発言をしてしまうほど
頭が悪くなってしまうんだな…かわいそうに…
動的型付言語には型がないなんて
バカ丸出しのキチガイ発言をしてしまうほど
頭が悪くなってしまうんだな…かわいそうに…
490デフォルトの名無しさん
2013/12/02(月) 18:19:55.08 補助輪説何度見ても吹くわ〜
491デフォルトの名無しさん
2013/12/02(月) 18:26:03.51 コメントを有料化すればコード品質が上がるかもしれんね
コメントを書いたら一行当たり1万円の罰金とかね
コメントを書いたら一行当たり1万円の罰金とかね
492デフォルトの名無しさん
2013/12/02(月) 18:27:26.91 コメントのない保守不能なプログラムができるだけだと思う
493デフォルトの名無しさん
2013/12/02(月) 19:05:57.10 ネーミングマジックで何とかならないの?
保守不能というとイメージ悪いから、コードダンジョン〜魔界の迷宮III〜
とか名づければかっこよく見えるでしょ。
保守不能というとイメージ悪いから、コードダンジョン〜魔界の迷宮III〜
とか名づければかっこよく見えるでしょ。
494デフォルトの名無しさん
2013/12/02(月) 19:16:36.18 スパゲティパーソン〜人と家族の物語〜
495デフォルトの名無しさん
2013/12/02(月) 19:29:48.61 ネーミングマジックの効果って結構あると思うんだよ。
例えば帰宅して「今日はコードダンジョンやっつけてきたよ」っていうでしょ。
すると「お疲れ様、楽しかった?」ってなるでしょ。
意図せず余裕のある大人を演出できてるコレ。
これが「保守不能と格闘してきた↓」だと、奥さんもかわいそうだよね。
例えば帰宅して「今日はコードダンジョンやっつけてきたよ」っていうでしょ。
すると「お疲れ様、楽しかった?」ってなるでしょ。
意図せず余裕のある大人を演出できてるコレ。
これが「保守不能と格闘してきた↓」だと、奥さんもかわいそうだよね。
496デフォルトの名無しさん
2013/12/02(月) 20:25:57.33 地下牢をかっこいいと思うのは中二マジックでしょ
ネガティブな名前がかっこいい
ネガティブな名前がかっこいい
497デフォルトの名無しさん
2013/12/02(月) 20:59:08.77 どうでも良い。
498デフォルトの名無しさん
2013/12/02(月) 22:02:06.71 怠惰は美徳だとかいうアイデアは
100倍じゃなくて-1倍にする習慣がないと思いつかない
100倍じゃなくて-1倍にする習慣がないと思いつかない
499デフォルトの名無しさん
2013/12/03(火) 09:27:16.52 JavaとかC#で馬鹿みたいに長い関数名付けてる事があるけど、
あれなら関数名を短くしてコメント書いた方がマシでしょ
あれなら関数名を短くしてコメント書いた方がマシでしょ
500デフォルトの名無しさん
2013/12/03(火) 09:51:15.71 関数名が長かろうが短かろうが公開メンバのコメントはつける
501デフォルトの名無しさん
2013/12/03(火) 12:08:55.73502デフォルトの名無しさん
2013/12/03(火) 12:12:26.48 俺は俺のためにコメントつけてるぞ。
幾ら短い綺麗なコード書いたって何処かしらでどうしてこういうコードにしたかっていうのを書いときたいのがある。
コメントじゃなくて別ドキュメントでも構わんけど。
幾ら短い綺麗なコード書いたって何処かしらでどうしてこういうコードにしたかっていうのを書いときたいのがある。
コメントじゃなくて別ドキュメントでも構わんけど。
503デフォルトの名無しさん
2013/12/03(火) 12:27:08.83 グローバル関数名が長いのはどの言語でも同じ
問題はローカル関数が良いと思う人と思わない人が混在すること
問題はローカル関数が良いと思う人と思わない人が混在すること
504デフォルトの名無しさん
2013/12/03(火) 19:15:55.38 動的言語で50文字超える関数名とか見たことないけどな
505デフォルトの名無しさん
2013/12/03(火) 19:21:05.37 静的でも50文字越えなんて見たことない
506デフォルトの名無しさん
2013/12/03(火) 19:26:56.24507デフォルトの名無しさん
2013/12/03(火) 19:29:30.15 20文字でも長すぎる
508デフォルトの名無しさん
2013/12/03(火) 19:39:15.72 >>506
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
これもう静的言語だから長くなるとかそういう問題じゃないだろ
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
これもう静的言語だから長くなるとかそういう問題じゃないだろ
509デフォルトの名無しさん
2013/12/03(火) 19:51:56.88 InternalFrameが何回あるんだ?
510デフォルトの名無しさん
2013/12/03(火) 20:11:50.28 これに匹敵する長さの関数名を
標準ライブラリに含む
動的言語ってあるの?
標準ライブラリに含む
動的言語ってあるの?
511デフォルトの名無しさん
2013/12/03(火) 20:23:37.17 コメントがなくてもわかるような
コードを書けってきかない?
コメント書くのは雑魚
コードを書けってきかない?
コメント書くのは雑魚
512デフォルトの名無しさん
2013/12/03(火) 20:23:46.89 静的型言語はバカ救済言語だから
そういうバカな名前をつけるバカが一定数混ざってくる
そういうバカな名前をつけるバカが一定数混ざってくる
513デフォルトの名無しさん
2013/12/03(火) 20:32:47.76 一定数というわりに
例外でしかないようだけど?
例外でしかないようだけど?
514デフォルトの名無しさん
2013/12/03(火) 21:03:52.92 コメントがなくてもわかるようなコードを書けってきかない?
コメントはコードに情報を埋められない言語の逃げでしかない。
コメントはコードに情報を埋められない言語の逃げでしかない。
515デフォルトの名無しさん
2013/12/03(火) 21:09:38.60 標準ライブラリではないが・・・
http://nojiriko.asia/prolog/p_odai_173.html
http://nojiriko.asia/prolog/p_odai_173.html
516デフォルトの名無しさん
2013/12/03(火) 21:23:58.92 XMLコメント書くなって言われたら困る
517デフォルトの名無しさん
2013/12/03(火) 21:37:15.41518デフォルトの名無しさん
2013/12/03(火) 21:50:34.11 WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10プロパティ
そういや.NETって動的も使えたよね
そういや.NETって動的も使えたよね
519デフォルトの名無しさん
2013/12/03(火) 21:51:08.40 型チェックが甘くならないように細かく分類すると
型名が長くなる
静的型のために継承したクラスとオブジェクト指向のために継承したクラスが混在する
型名が長くなる
静的型のために継承したクラスとオブジェクト指向のために継承したクラスが混在する
520デフォルトの名無しさん
2013/12/03(火) 22:19:55.14 ドカタは長い名前を好むよね
521デフォルトの名無しさん
2013/12/03(火) 22:20:47.64 JSで無名関数が良いのです。
522デフォルトの名無しさん
2013/12/03(火) 22:41:26.76 >>520
山田グレネード・エクストラ・マリリンヌ花子三世とかね。
山田グレネード・エクストラ・マリリンヌ花子三世とかね。
523デフォルトの名無しさん
2013/12/03(火) 23:11:29.22524デフォルトの名無しさん
2013/12/03(火) 23:29:35.07 でも$つけるのめんどくさい
その点Pythonは優れてる
Perlも結構いいと思うけどね
その点Pythonは優れてる
Perlも結構いいと思うけどね
525デフォルトの名無しさん
2013/12/03(火) 23:47:56.07 Perlに至っては$_が省略されることすらあるしな
もはや変数を書かないという
もはや変数を書かないという
526デフォルトの名無しさん
2013/12/04(水) 09:42:35.75 >>512
俺は事故起こさねーよって言って飲酒運転する馬鹿みたいだな
俺は事故起こさねーよって言って飲酒運転する馬鹿みたいだな
527デフォルトの名無しさん
2013/12/04(水) 10:54:11.03 安全厨は酒が危険だと言わず自動車が危険だと言う
それは自動車の方がシステマティックだからだ
そもそも実用品ではない酒はシステマティックに説明できない
説明できない存在を認めると、人間の才能がシステムを上回る可能性も否定できなくなる
それは自動車の方がシステマティックだからだ
そもそも実用品ではない酒はシステマティックに説明できない
説明できない存在を認めると、人間の才能がシステムを上回る可能性も否定できなくなる
528デフォルトの名無しさん
2013/12/04(水) 11:44:15.82 >>513
静的言語しか書けないバカは例外なくバカだけど?
静的言語しか書けないバカは例外なくバカだけど?
529デフォルトの名無しさん
2013/12/04(水) 11:46:32.61 などと1bit脳をさらけ出す発言を繰り返しており
530デフォルトの名無しさん
2013/12/04(水) 11:48:18.11 >>528
そんな奴見たことない
そんな奴見たことない
531デフォルトの名無しさん
2013/12/04(水) 12:28:05.26 俺は事故起こさねーよって言って追突されてあぼんする馬鹿みたいだな
532デフォルトの名無しさん
2013/12/04(水) 12:46:48.85533デフォルトの名無しさん
2013/12/04(水) 13:21:24.10 そんなあなたの不安を解消する三井ダイレクト
534デフォルトの名無しさん
2013/12/04(水) 13:46:58.34 C#でプログラミングしていて凄い発見をした。すべてstaticメソッドにするとアホみたいに捗る。
http://engawa.2ch.net/test/read.cgi/poverty/1386083303/
http://engawa.2ch.net/test/read.cgi/poverty/1386083303/
535デフォルトの名無しさん
2013/12/04(水) 13:49:15.46 >>534
今起きたのか?
今起きたのか?
536デフォルトの名無しさん
2013/12/04(水) 13:53:53.35 いや、ギャラの契約更改に少し時間を取られた
537デフォルトの名無しさん
2013/12/04(水) 13:54:56.91 そうだな。よく見たら1時までしかレスしてないから今起きたってことはないか。
538デフォルトの名無しさん
2013/12/04(水) 14:04:02.95 話は戻るけど
悪名高きコメントの更新漏れは
コード(英語)とコメント(日本語)のコンテキスト切替の
負担が大きすぎるせいで見落としが生じるのではないか
コメントを英語でかこう
悪名高きコメントの更新漏れは
コード(英語)とコメント(日本語)のコンテキスト切替の
負担が大きすぎるせいで見落としが生じるのではないか
コメントを英語でかこう
539デフォルトの名無しさん
2013/12/04(水) 14:05:21.18 日本人相手だと細かいニュアンスが伝わりにくくなるだけだしコメントの用を成さなくなるだけ
540デフォルトの名無しさん
2013/12/04(水) 15:07:23.66 Well, we should use Himawari and write both codes and comments in Japanese.
541デフォルトの名無しさん
2013/12/04(水) 15:33:14.81 o・ko・to・wa・ri
542デフォルトの名無しさん
2013/12/04(水) 18:49:23.16 コメントは英語で書くべき。
543デフォルトの名無しさん
2013/12/04(水) 18:53:26.46 Konkansuuhakasanwookonaimasu.
544デフォルトの名無しさん
2013/12/04(水) 19:34:26.71 >>542
ロックの歌詞は英語であるべきかという論争を思い出す。
ロックの歌詞は英語であるべきかという論争を思い出す。
545デフォルトの名無しさん
2013/12/04(水) 22:32:39.95 残念ながら英語は書けない。
書けるのは英語もどきだけだ。
さて、間違いだらけの英語と
日本語。どっちで書いた方がいい?
書けるのは英語もどきだけだ。
さて、間違いだらけの英語と
日本語。どっちで書いた方がいい?
546デフォルトの名無しさん
2013/12/04(水) 22:51:05.24 >>545
英語もどきでいい、コードが補完してくれる、ハングルで書かれた日には途方にくれる
英語もどきでいい、コードが補完してくれる、ハングルで書かれた日には途方にくれる
547デフォルトの名無しさん
2013/12/04(水) 23:25:38.85 >>546
その理屈で言うと、間違ってる日本語でもいいってことになるよ
その理屈で言うと、間違ってる日本語でもいいってことになるよ
548デフォルトの名無しさん
2013/12/04(水) 23:29:05.02 すべて絵にしてリンクを書いておけ
549デフォルトの名無しさん
2013/12/04(水) 23:50:11.15 英語もどきを翻訳して正しく訳せることはない。
一体誰が読めるコメントなのだろうか。
一体誰が読めるコメントなのだろうか。
550デフォルトの名無しさん
2013/12/05(木) 00:08:21.99 自分も同じ間違いをしたことがあれば読める
間違ったことがない奴は何も読めない
間違ったことがない奴は何も読めない
551デフォルトの名無しさん
2013/12/05(木) 06:44:30.35 英語でコミュニケーションできない奴にプログラマの資格なし。
552デフォルトの名無しさん
2013/12/05(木) 13:43:22.23 No, you aren't.
553デフォルトの名無しさん
2013/12/05(木) 21:41:04.23 音楽でも資格のない者が演奏することは禁止されてるっぽいからね
そういう風潮なんだな
そういう風潮なんだな
554デフォルトの名無しさん
2013/12/06(金) 09:39:40.23 動的型言語でプログラムを書く資格のないものが
仕方なく静的型言語を使う
仕方なく静的型言語を使う
555デフォルトの名無しさん
2013/12/06(金) 09:46:06.78 最近はマスを描くにも資格がいるそうだ。
556デフォルトの名無しさん
2013/12/06(金) 10:40:38.25 マスかき1級
557デフォルトの名無しさん
2013/12/06(金) 13:43:13.42 ね、猫く....
か、描く....
か、描く....
558デフォルトの名無しさん
2013/12/06(金) 14:06:47.25 >>554
ピスト野郎と同じこと言ってんな
ピスト野郎と同じこと言ってんな
559デフォルトの名無しさん
2013/12/06(金) 18:14:08.57 Javaのような静的言語に比べてJSやPHPのような動的言語は習得コストが高い。
しかし、習得後の生産性は動的言語のほうがはるかに高い。
また製品の速度や品質も非常に高い。
つまり、一般的に動的言語を使うべき。
しかし頭が悪い人は習得が難しいので静的言語で我慢するしかない。
しかし、習得後の生産性は動的言語のほうがはるかに高い。
また製品の速度や品質も非常に高い。
つまり、一般的に動的言語を使うべき。
しかし頭が悪い人は習得が難しいので静的言語で我慢するしかない。
560デフォルトの名無しさん
2013/12/06(金) 18:21:38.46 だから技術的には合法だって
コンパイラのお墨付きをもらうのは簡単
難しいのは、コンパイラと無関係なやつらが口を出してくること
コンパイラのお墨付きをもらうのは簡単
難しいのは、コンパイラと無関係なやつらが口を出してくること
561デフォルトの名無しさん
2013/12/06(金) 18:29:04.60 >>559
などとチグハグで噛み合わない内容を並べて平気なプログラマもどきに愛される動的言語をどうぞよろしくお願いします
などとチグハグで噛み合わない内容を並べて平気なプログラマもどきに愛される動的言語をどうぞよろしくお願いします
562デフォルトの名無しさん
2013/12/06(金) 18:45:22.68 静的言語は初心者用。
563デフォルトの名無しさん
2013/12/06(金) 18:46:15.87 静的言語は悪くないよ
機械に仕事を任せたものの不安になって結局人間がああだこうだ言ってる状況が悪い
機械に仕事を任せたものの不安になって結局人間がああだこうだ言ってる状況が悪い
564デフォルトの名無しさん
2013/12/06(金) 18:54:40.37 何言ってんだかわかんないんだけど?
静的言語が社会悪だってことは学問的に証明されてるでそ。
静的言語が社会悪だってことは学問的に証明されてるでそ。
565デフォルトの名無しさん
2013/12/06(金) 18:55:49.02 学問的www
「学術的」だろ高卒クンw
「学術的」だろ高卒クンw
566デフォルトの名無しさん
2013/12/06(金) 18:56:57.36 中卒に高卒というのはちょっと‥
567デフォルトの名無しさん
2013/12/06(金) 18:57:35.84 まあ一般論としては動的はよりライトな応用分野の方が多いような。
大規模処理やミッションクリティカルな分野にはなかなか食い込めていないのも事実。
大規模処理やミッションクリティカルな分野にはなかなか食い込めていないのも事実。
568デフォルトの名無しさん
2013/12/06(金) 18:58:37.03 rev.2.
何言ってんだかわかんないんだけど?
静的言語が社会悪だってことは学術的に証明されてるでそ。
何言ってんだかわかんないんだけど?
静的言語が社会悪だってことは学術的に証明されてるでそ。
569デフォルトの名無しさん
2013/12/06(金) 18:59:39.77 スパコンに投入するジョブはJSが増えてるけどね。
570デフォルトの名無しさん
2013/12/06(金) 19:34:32.59 rev.3.
I don't see what you argue.
It's been scholarly manifested that static-typed languages are social evils,
hasn't it?
I don't see what you argue.
It's been scholarly manifested that static-typed languages are social evils,
hasn't it?
571デフォルトの名無しさん
2013/12/06(金) 19:37:15.81 オープンソースじゃないのでやめてください!
著作隣接権を主張します!
著作隣接権を主張します!
572デフォルトの名無しさん
2013/12/06(金) 19:39:12.69 まあTIOBEをみれば歴然だがな
573デフォルトの名無しさん
2013/12/06(金) 19:52:58.02 JSの圧勝だった。
574デフォルトの名無しさん
2013/12/06(金) 19:55:42.88 hoge たたきの次は JS ステマか
575デフォルトの名無しさん
2013/12/06(金) 20:11:37.37 ステマというよりはヨタだけどw
576デフォルトの名無しさん
2013/12/06(金) 20:13:44.40 JSは実行時に最適化するので速いのです。
Cの約二倍速い。
Cの約二倍速い。
577デフォルトの名無しさん
2013/12/06(金) 22:47:21.50 実行前に最適化したほうが速いよ。
実行時の最適化は毎回やるしね。
実行時の最適化は毎回やるしね。
578デフォルトの名無しさん
2013/12/06(金) 23:14:03.00 >>577
ネタだろwマジメに答えんなってw
さて、動的押してるフリしてる釣り師諸君に問題です!
V8, Rhino, SpiderMonkyはどの言語で実装されているでしょう?!
perl, rubyはどの言語で実装されているでしょう?
どんな答えがかえってくるかオラわくわくしてきたぞ!
ネタだろwマジメに答えんなってw
さて、動的押してるフリしてる釣り師諸君に問題です!
V8, Rhino, SpiderMonkyはどの言語で実装されているでしょう?!
perl, rubyはどの言語で実装されているでしょう?
どんな答えがかえってくるかオラわくわくしてきたぞ!
579デフォルトの名無しさん
2013/12/06(金) 23:15:49.37 >>578
Perl 6はHaskellで実装されたね
Perl 6はHaskellで実装されたね
580デフォルトの名無しさん
2013/12/06(金) 23:22:41.88 >>578
Smalltalk は Smalltalk で実装されてたね
Smalltalk は Smalltalk で実装されてたね
581デフォルトの名無しさん
2013/12/06(金) 23:45:41.21 まあ、javascriptは後方互換性を捨てた方がいいよね
582デフォルトの名無しさん
2013/12/07(土) 01:58:09.04 後方互換性を捨てることで
得られるものを具体的に述べよ。
それをお前は欲しいと思っているはずなんだよね?
得られるものを具体的に述べよ。
それをお前は欲しいと思っているはずなんだよね?
583デフォルトの名無しさん
2013/12/07(土) 01:58:50.21 > 後方互換性を捨てることで
> 得られるものを具体的に述べよ。
訂正
後方互換性を捨てないと
得られないものを具体的に述べよ。
> 得られるものを具体的に述べよ。
訂正
後方互換性を捨てないと
得られないものを具体的に述べよ。
584デフォルトの名無しさん
2013/12/07(土) 10:01:09.81 世間の混乱
585デフォルトの名無しさん
2013/12/07(土) 11:52:20.82 無駄なコストを捨てようとしたら
コストとは何かが客観的にわからないということがわかった
コストとは何かが客観的にわからないということがわかった
586デフォルトの名無しさん
2013/12/07(土) 16:46:56.72 静的型=コスト
ここ大事ですよ。テストに出ます。
ここ大事ですよ。テストに出ます。
587デフォルトの名無しさん
2013/12/07(土) 19:55:54.02 どうせES6以降のコードはES5の実行環境では動かないのだから、use "ES6"とか
オプションつけたら変数スコープも常識的なブロックスコープになる機能が欲しい。
let導入で二種類の変数スコープが併存とか無意味すぎ。
もう今のvar相当はobsoluteで使ったらログに警告吐くぐらいの勢いで良い。
オプションつけたら変数スコープも常識的なブロックスコープになる機能が欲しい。
let導入で二種類の変数スコープが併存とか無意味すぎ。
もう今のvar相当はobsoluteで使ったらログに警告吐くぐらいの勢いで良い。
588デフォルトの名無しさん
2013/12/07(土) 20:16:20.87 JSは互換性にも配慮されているので問題ありません。
589デフォルトの名無しさん
2013/12/08(日) 15:40:27.33 低級言語の仕様を変えさせないという目的もある
高級言語を気が済むまで改変させることで低級言語が守られている
高級言語を気が済むまで改変させることで低級言語が守られている
590デフォルトの名無しさん
2013/12/08(日) 16:01:49.94 ?
591デフォルトの名無しさん
2013/12/08(日) 16:07:17.43 >>587
移行というのは前のをバッサリ切り捨てるやり方じゃダメなんだよ。
いきなり全てを変えるなんて出来やしない
両方共存出来る状態を作って少しずつ変化させていく。
こうやらないとだめ。
> どうせES6以降のコードはES5の実行環境では動かないのだから、
動く。Polyfill系なんかがそう。
動かないのはletなどを使ったES6専用のコードだけ(コンパイルエラーになる)
こうやって、部分的にES6対応コードに置き換えていく。
varに関してもletに単純に置き換えれるように
コードを整理することは可能。これでES6でもES5でも動くコードになる。
これはES6に早い段階から対応していくという方針のやり方。
逆に将来ES6が十分に普及してしまった後にレガシーなES5を移行する。というような場合でも
varとletの両方が使えるならば、徐々にES6コードに置き換えるていくことが可能になる。
移行というのは前のをバッサリ切り捨てるやり方じゃダメなんだよ。
いきなり全てを変えるなんて出来やしない
両方共存出来る状態を作って少しずつ変化させていく。
こうやらないとだめ。
> どうせES6以降のコードはES5の実行環境では動かないのだから、
動く。Polyfill系なんかがそう。
動かないのはletなどを使ったES6専用のコードだけ(コンパイルエラーになる)
こうやって、部分的にES6対応コードに置き換えていく。
varに関してもletに単純に置き換えれるように
コードを整理することは可能。これでES6でもES5でも動くコードになる。
これはES6に早い段階から対応していくという方針のやり方。
逆に将来ES6が十分に普及してしまった後にレガシーなES5を移行する。というような場合でも
varとletの両方が使えるならば、徐々にES6コードに置き換えるていくことが可能になる。
592デフォルトの名無しさん
2013/12/08(日) 16:16:41.68 まるでpythonみたい
593デフォルトの名無しさん
2013/12/08(日) 17:28:22.91 昔のことを覚えていなければ、いま新しいことをしているのかどうか分からない
594デフォルトの名無しさん
2013/12/08(日) 17:32:10.28 letは別に新しくともなんともなく単に普通なのであって、varも古い云々以前に単に変なだけ。
特に覚えておく必要も無い。
なのでuse strictの強化版のようなばっさり切り捨てる機能があって良い。
特に覚えておく必要も無い。
なのでuse strictの強化版のようなばっさり切り捨てる機能があって良い。
595デフォルトの名無しさん
2013/12/08(日) 19:25:18.31 オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://engawa.2ch.net/test/read.cgi/poverty/1386476617/
http://engawa.2ch.net/test/read.cgi/poverty/1386476617/
596デフォルトの名無しさん
2013/12/12(木) 22:08:17.68 最強のPythonが動的型言語なので
動的型言語の方が生産性が高い
動的型言語の方が生産性が高い
597デフォルトの名無しさん
2013/12/14(土) 00:49:28.23 普通は文字列は一次元で絵は二次元だけど
「実行しないとわからない」なら時間軸を追加して次元がひとつ増える
三次元は正確に認識できないことがあるので生産性が低い
それは時間軸が原因だともいえるし、絵が原因だともいえる
「実行しないとわからない」なら時間軸を追加して次元がひとつ増える
三次元は正確に認識できないことがあるので生産性が低い
それは時間軸が原因だともいえるし、絵が原因だともいえる
598デフォルトの名無しさん
2013/12/17(火) 20:07:17.91 オメーらあんまりgdgd言ってっと型に嵌めちまうぞッ
599デフォルトの名無しさん
2013/12/18(水) 02:34:16.63 Pythonも微妙になってきたな。
CG方面でなぜかデファクトだから仕方なく使う感じだ。
CG方面でなぜかデファクトだから仕方なく使う感じだ。
600デフォルトの名無しさん
2013/12/18(水) 02:38:51.00 >>591
> 移行というのは前のをバッサリ切り捨てるやり方じゃダメなんだよ。
> いきなり全てを変えるなんて出来やしない
そうとは限らん。そういう場合もあるというだけだ。
破壊的変更と非破壊変更は相互補完の関係にあって、どっちを偏重してもいかんのだよ。
現にMozillaも新言語Rustを作ってるしな。
つかどう見てもES4のときに一度ばっさり互換を切るべきだった。
あれがWeb Platform最大の失敗だったことは、無数のaltJS乱立によって証明済み。
> 移行というのは前のをバッサリ切り捨てるやり方じゃダメなんだよ。
> いきなり全てを変えるなんて出来やしない
そうとは限らん。そういう場合もあるというだけだ。
破壊的変更と非破壊変更は相互補完の関係にあって、どっちを偏重してもいかんのだよ。
現にMozillaも新言語Rustを作ってるしな。
つかどう見てもES4のときに一度ばっさり互換を切るべきだった。
あれがWeb Platform最大の失敗だったことは、無数のaltJS乱立によって証明済み。
601デフォルトの名無しさん
2013/12/18(水) 03:31:57.85 altJSって、2007年頃のLLブームに乗っかり、
いんぽqのに騙されたバカな魔法少女たちぐらいしか使わないんじゃねーの?
いんぽqのに騙されたバカな魔法少女たちぐらいしか使わないんじゃねーの?
602デフォルトの名無しさん
2013/12/18(水) 07:27:49.18 低能にはJSのウンコさが理解できない
603デフォルトの名無しさん
2013/12/18(水) 17:45:29.98 >>600
> 現にMozillaも新言語Rustを作ってるしな。
Rustへの移行が成功してから言えよw
現時点では前(JavaScript?)のをバッサリ切り捨てて
Rustを作ったが、ほれみろやっぱり移行していないではないか。
という実例になってるぞw
> 現にMozillaも新言語Rustを作ってるしな。
Rustへの移行が成功してから言えよw
現時点では前(JavaScript?)のをバッサリ切り捨てて
Rustを作ったが、ほれみろやっぱり移行していないではないか。
という実例になってるぞw
604デフォルトの名無しさん
2013/12/18(水) 17:47:42.68 > つかどう見てもES4のときに一度ばっさり互換を切るべきだった。
ECMAScript 4は互換を切ったよ。
だから仕様もまとまらなかったんだが。
それもまた、互換性をバッサリ切り捨てるやり方は
失敗するという、お前がいいたいのと正反対の実例だな。
ECMAScript 4は互換を切ったよ。
だから仕様もまとまらなかったんだが。
それもまた、互換性をバッサリ切り捨てるやり方は
失敗するという、お前がいいたいのと正反対の実例だな。
605デフォルトの名無しさん
2013/12/18(水) 20:09:07.21 JSは土管なんだから
後方互換性は何よりも大事だよ
後方互換性は何よりも大事だよ
606デフォルトの名無しさん
2013/12/18(水) 20:28:41.19 処理系間の互換性が崩壊してる言語で後方互換性がどんな意味を持つんだろうか
607デフォルトの名無しさん
2013/12/18(水) 21:11:41.22 ESがバッサリ互換切り捨てたらバージョン間互換すら出来なくなるよね
608デフォルトの名無しさん
2013/12/18(水) 22:07:24.13 コメントがなくてもわかるような
コードを書けってきかない?
コメント書くのは素人
コードを書けってきかない?
コメント書くのは素人
609デフォルトの名無しさん
2013/12/18(水) 22:13:07.62 >>608
よっぽどのその言葉気に入ったみたいだなw
よっぽどのその言葉気に入ったみたいだなw
610デフォルトの名無しさん
2013/12/18(水) 22:20:56.13 コメントの9割は無駄!〜アンチプラクティスから学ぶ洗練されたコメントの書き方〜 #code #コード
https://codeiq.jp/magazine/2013/12/3700/
番外編 プログラムのコメントは少なければ少ないほど良い?
http://www.appresso.com/now/column/2010/09/0009-1.html
先日、日経ソフトウェアで「プログラムのソースコードは20%を切ることが望ましい」
という記事を書きました。また、8月のMIJSでのディスカッションでも議論の中で
同じように「詳細設計書やプログラムのコメントは多い方が良いか、少ない方が良いか」という議論がありました。
この話は、私が大学時代に教官から「以前は、コメント率(ソースコード中のコメントの割合)は
50%を超えていないと品質が低いとされた」という話を聞いて衝撃を受けたことが発端となっています。
私自身は、詳細設計書やコメントは少なければ少ないほど良いと思っていたのに、
「コメント率は50%を超えなければいけない」と言われ、驚いたわけです。その頃は、
自分はプログラムは小学生の頃から趣味で色々と書いていたとはいえ、まだプロとしての
経験がないので理解できていないだけかとも思ったものですが、大学を卒業してプロとしての
プログラマーの経験を10年強積んだ今、以前にも増して「ソースコードのコメント率は
低ければ低いほど良い」という考えが強まっています。
ソースコード中のコメントは多いほうがよいのか、少ないほうがよいのか?
http://d.hatena.ne.jp/eel3/20130815/1376529541
https://codeiq.jp/magazine/2013/12/3700/
番外編 プログラムのコメントは少なければ少ないほど良い?
http://www.appresso.com/now/column/2010/09/0009-1.html
先日、日経ソフトウェアで「プログラムのソースコードは20%を切ることが望ましい」
という記事を書きました。また、8月のMIJSでのディスカッションでも議論の中で
同じように「詳細設計書やプログラムのコメントは多い方が良いか、少ない方が良いか」という議論がありました。
この話は、私が大学時代に教官から「以前は、コメント率(ソースコード中のコメントの割合)は
50%を超えていないと品質が低いとされた」という話を聞いて衝撃を受けたことが発端となっています。
私自身は、詳細設計書やコメントは少なければ少ないほど良いと思っていたのに、
「コメント率は50%を超えなければいけない」と言われ、驚いたわけです。その頃は、
自分はプログラムは小学生の頃から趣味で色々と書いていたとはいえ、まだプロとしての
経験がないので理解できていないだけかとも思ったものですが、大学を卒業してプロとしての
プログラマーの経験を10年強積んだ今、以前にも増して「ソースコードのコメント率は
低ければ低いほど良い」という考えが強まっています。
ソースコード中のコメントは多いほうがよいのか、少ないほうがよいのか?
http://d.hatena.ne.jp/eel3/20130815/1376529541
611デフォルトの名無しさん
2013/12/19(木) 00:03:28.61 コメント率50%とか正気の沙汰ではないな
ソースコードに詳細設計書をそのまま書いてるようなもんじゃん
ソースコードに詳細設計書をそのまま書いてるようなもんじゃん
612デフォルトの名無しさん
2013/12/19(木) 00:11:34.43 コメントを読む必要があるのはソースを読めないから。
つまり初心者。
つまり初心者。
613デフォルトの名無しさん
2013/12/19(木) 00:16:27.16 テストを徹底すればコメントは必要ない
614デフォルトの名無しさん
2013/12/19(木) 00:17:19.70 テストを徹底するのは不可能
まずこういう前提がある。
まずこういう前提がある。
615デフォルトの名無しさん
2013/12/19(木) 00:22:10.53 コメントを書く暇があったらコードを書こう
616デフォルトの名無しさん
2013/12/19(木) 00:23:23.85 なぜテストを徹底するのが不可能かというと
その数が極めて膨大になるから。
例えば条件分岐が16個あるとする。
その組み合わせは2の16乗で65536になる。
条件分岐が32個であれば4294967296
1つ1ミリ秒で実行できたとしても50日かかる計算になる。
この全ての組み合わせをテストするのは不可能。
一つのアプリで条件分岐はいくつあるだろうか?
普通は32個よりはるかに大きな数であろう。
だからテストを徹底するのは不可能という結論になる。
テストはその一部しか出来ないのは当然の話。
だからその一部で十分とみなせるようにしないといけない。
そのためにはアプリの作り方と静的なチェックが重要になる。
その数が極めて膨大になるから。
例えば条件分岐が16個あるとする。
その組み合わせは2の16乗で65536になる。
条件分岐が32個であれば4294967296
1つ1ミリ秒で実行できたとしても50日かかる計算になる。
この全ての組み合わせをテストするのは不可能。
一つのアプリで条件分岐はいくつあるだろうか?
普通は32個よりはるかに大きな数であろう。
だからテストを徹底するのは不可能という結論になる。
テストはその一部しか出来ないのは当然の話。
だからその一部で十分とみなせるようにしないといけない。
そのためにはアプリの作り方と静的なチェックが重要になる。
617デフォルトの名無しさん
2013/12/19(木) 00:26:43.45 Linuxならすべての組み合わせをチェックできる
618デフォルトの名無しさん
2013/12/19(木) 00:53:24.75619デフォルトの名無しさん
2013/12/19(木) 00:58:38.89 >>618
ホワイトボックスとブラックボックスの違いを知らないと
思った理由は?
なんでさ、知らないと断定するの?
それに、ホワイトボックス(またはブラックボックス)
だったらなんなのさ?
知らないだろうといっただけで、
お前は意見を何も述べてなよ。
ホワイトボックスとブラックボックスの違いを知らないと
思った理由は?
なんでさ、知らないと断定するの?
それに、ホワイトボックス(またはブラックボックス)
だったらなんなのさ?
知らないだろうといっただけで、
お前は意見を何も述べてなよ。
620デフォルトの名無しさん
2013/12/19(木) 01:02:43.76 >>619
雑魚は素直にハイと言っておけば良い
雑魚は素直にハイと言っておけば良い
621デフォルトの名無しさん
2013/12/19(木) 01:03:35.09622デフォルトの名無しさん
2013/12/19(木) 01:10:49.95 >>621
ブラックボックステストにも当てはまるぞ。
条件分岐を、チェックボックスと置き換えればいい。
32個のチェックボックスが存在する検索フォーム
例えばこんなのな
http://www.chintai.net/tokyo/search/en_101001/
テストを徹底するというならば全ての組み合わせを実行しないといけない。
特定の組み合わせでのみエラーが起きるというのは普通に存在する。
ブラックボックステストにも当てはまるぞ。
条件分岐を、チェックボックスと置き換えればいい。
32個のチェックボックスが存在する検索フォーム
例えばこんなのな
http://www.chintai.net/tokyo/search/en_101001/
テストを徹底するというならば全ての組み合わせを実行しないといけない。
特定の組み合わせでのみエラーが起きるというのは普通に存在する。
623デフォルトの名無しさん
2013/12/19(木) 01:11:50.88 Linuxならすべての組み合わせをテストできます
624デフォルトの名無しさん
2013/12/19(木) 01:26:57.51625デフォルトの名無しさん
2013/12/19(木) 02:17:02.59 コメントがなくてもわかるような
コードを書けってきかない?
コメントは
コードに情報を埋められない言語の逃げでしかない。
コードを書けってきかない?
コメントは
コードに情報を埋められない言語の逃げでしかない。
626デフォルトの名無しさん
2013/12/19(木) 07:49:00.61 名前を変に省略形にしたり、変数がアルファベット1文字だったり、tmpだったり、
さらにそれを同じメソッド内で別用途に使いまわしたり、
1つのメソッドor関数で多くの機能を入れ込んで、さらに上流と下流のコードが混在していて、
どのブロックが上流の下流のどの工程なのか熟読しないと分からないとか、
まあ、「リーダブルコード」を読め、ってことだ。
さらにそれを同じメソッド内で別用途に使いまわしたり、
1つのメソッドor関数で多くの機能を入れ込んで、さらに上流と下流のコードが混在していて、
どのブロックが上流の下流のどの工程なのか熟読しないと分からないとか、
まあ、「リーダブルコード」を読め、ってことだ。
627デフォルトの名無しさん
2013/12/19(木) 08:00:32.37 まあ業務系は客観的に見て暇な仕事だからコメントをウダウダ書いて暇つぶしする余裕があるww
余裕がないとか言っている奴は隣人や就職希望の奴の仕事を奪って忙しがってる小山の大将(バカ)
余裕がないとか言っている奴は隣人や就職希望の奴の仕事を奪って忙しがってる小山の大将(バカ)
628デフォルトの名無しさん
2013/12/19(木) 10:44:02.91 >>616
テスト専門企業のHP見れば判るけど、今はテストケースをどうやって減らすかがノウハウだよ。
テスト専門企業のHP見れば判るけど、今はテストケースをどうやって減らすかがノウハウだよ。
629デフォルトの名無しさん
2013/12/19(木) 11:55:30.20 統合環境にはチェックボックスが32個ぐらいあるんだな
シェルだったらコマンドが32個あっても組み合わせた場合の責任はユーザーに転嫁される
シェルだったらコマンドが32個あっても組み合わせた場合の責任はユーザーに転嫁される
630デフォルトの名無しさん
2013/12/19(木) 12:29:13.88 そもそもCPUもディスクもメモリもOSもデバイスドライバもランタイムライブラリもそこまでの品質に達していないからPCごと窓から投げ捨てろ
631デフォルトの名無しさん
2013/12/19(木) 22:37:22.96 LinuxのようなOSSは品質が高い
632デフォルトの名無しさん
2013/12/28(土) 01:17:06.39 Linuxの品質は高いが、OSSは総じて品質が低い
なぜだ?
なぜだ?
633デフォルトの名無しさん
2013/12/28(土) 13:55:07.64 ソースを公開する動機は品質向上というより、古いソフトの寿命を延ばすことだから
634デフォルトの名無しさん
2013/12/28(土) 14:02:15.19 数の問題
635デフォルトの名無しさん
2013/12/28(土) 16:50:28.30 おびただしいゴミの山から一握りの大成功だけをもってOSSと呼んでいる
流行に乗って何度もクソを取り上げてもてはやした過去は都合よく忘れている
流行に乗って何度もクソを取り上げてもてはやした過去は都合よく忘れている
636デフォルトの名無しさん
2013/12/28(土) 16:55:58.94 業務アプリとかの方がクソっぷりは上だけどねー
いやホントに
いやホントに
637デフォルトの名無しさん
2013/12/29(日) 00:06:12.98 いやいや捨てられて都合よく記憶からも消去されてしまうクソにはおよびませぬ
638デフォルトの名無しさん
2014/01/01(水) 10:16:24.21 今年はC++の1.5倍速いJSが馬のように勝つでしょう(^.^v)
639デフォルトの名無しさん
2014/01/01(水) 10:18:04.91 1.5倍遅いの間違いです
640デフォルトの名無しさん
2014/01/01(水) 10:23:30.46 Smalltalkも遅いしな。
動的言語が速い云々は特定ユースケースに絞った口先ばかりの話ばかりだ。
動的言語が速い云々は特定ユースケースに絞った口先ばかりの話ばかりだ。
641デフォルトの名無しさん
2014/01/01(水) 10:39:54.92 まあC#よりは速いんだからJSの速度は認めるしかないわな。
642デフォルトの名無しさん
2014/01/01(水) 11:35:39.56 実際C#と同等に動いてくれるならわざわざネイティブで作らんでもいいんだけどねぇ(´・ω・`)
643デフォルトの名無しさん
2014/01/01(水) 11:40:42.35 ちょっと話変わるけどC#とJSって近いよな
例えばUnityのJSはC#バインディングだし
同じ臭いがする
例えばUnityのJSはC#バインディングだし
同じ臭いがする
644デフォルトの名無しさん
2014/01/01(水) 11:49:45.70645デフォルトの名無しさん
2014/01/01(水) 13:47:35.88 Googleは情報を集めることを公言してるし、
何と言っても検索で情報を提供してる
またWidevineみたいな情報を閉ざす方にも力を入れてる
Googleは情報の管理人として最も相応しい存在として世界中で認められているので
Baiduの件に比べて問題が少ない
何と言っても検索で情報を提供してる
またWidevineみたいな情報を閉ざす方にも力を入れてる
Googleは情報の管理人として最も相応しい存在として世界中で認められているので
Baiduの件に比べて問題が少ない
646デフォルトの名無しさん
2014/01/01(水) 14:05:46.10 ×問題が少ない
○問題が大きすぎて思考停止している
○問題が大きすぎて思考停止している
647デフォルトの名無しさん
2014/01/01(水) 14:19:42.56 自動車の事故と同じ
多大なメリットを提供してくれるGoogle様にはさからえない
多大なメリットを提供してくれるGoogle様にはさからえない
648デフォルトの名無しさん
2014/01/01(水) 15:36:11.87649デフォルトの名無しさん
2014/01/01(水) 16:19:33.35 C#もJSも最終的に機械語になって実行されるんだから何も変わらん
650デフォルトの名無しさん
2014/01/02(木) 01:23:22.20 >>648
あるっちゃいっちゃあるけどな
あるっちゃいっちゃあるけどな
651デフォルトの名無しさん
2014/01/06(月) 07:35:27.64 静的言語はキャストがめんどうなんだよな。
あんなもの苦痛でしかない。
あんなもの苦痛でしかない。
652デフォルトの名無しさん
2014/01/06(月) 07:58:24.06 >>650
MS社内にあるだけで門外不出なんだろ?
MS社内にあるだけで門外不出なんだろ?
653デフォルトの名無しさん
2014/01/06(月) 08:47:28.73654デフォルトの名無しさん
2014/01/06(月) 11:02:24.41 この世はC#を無条件でWindows+.NET+Formsへと脳内変換する視野狭窄なドカタで満ち満ちている
ネイティブなどとほざいても絵空事にしかならない
ネイティブなどとほざいても絵空事にしかならない
655デフォルトの名無しさん
2014/01/06(月) 11:12:59.89 >>651
関数型がデフォルトイミュータブルなのと一緒でそれを不自由と見るか保証と見るかはあなた次第。
関数型がデフォルトイミュータブルなのと一緒でそれを不自由と見るか保証と見るかはあなた次第。
656デフォルトの名無しさん
2014/01/06(月) 11:52:50.24 わけわからん暗黙変換の方がウザイ
657デフォルトの名無しさん
2014/01/19(日) 01:28:02.63 >>1のコードだと、指摘したい内容に対して微妙に噛み合ってないような
実行前に(変数の)型が決まっているかどうかと
変数に型を持たせられるかどうかは、厳密には別の話だよね
大抵の動的言語は変数に型がないから、端的に示すには十分なんだろうけど
実行前に(変数の)型が決まっているかどうかと
変数に型を持たせられるかどうかは、厳密には別の話だよね
大抵の動的言語は変数に型がないから、端的に示すには十分なんだろうけど
658デフォルトの名無しさん
2014/01/19(日) 15:30:04.45 >>657
「型体系(type system)」と「型付け(typing)」の違いだね
これらはの概念は組合せ(直積)で考える必要がある
型体系(type system):
・単一型(型無し、とも言う)
・ただ一つの型しか存在しない、言い換えると型を区別しない
例:Tcl や Shell --> 文字列型のみで、1 と "1" はどちらも文字列
・素朴な型体系
・複数の原始型と僅かな複合型
例:Lisp、Prolog、JavaScript --> 数値や記号といった原始型(=アトム)と
リスト(Lispの場合)または項(Prologの場合)から構成される
・複雑な型体系
・複数の原始型と複合型
例:Pascal や C といった多くの手続き型言語、および
ML族のような初期の静的型付け関数型言語 -->
以下の3種類の基本構造から構成される
・直積:タプル、レコード(=構造体)
・直和:列挙型、合併型(=共用体)、代数型
・列:配列、リスト
・複雑で階層的な型体系
例:C++/Java/Smalltalk/Ruby といったクラスベースのオブジェクト指向言語、
および Haskell や Scala のようなアドホック型多相を基礎とする関数型言語など
型付け(typing):
・静的型付け:Pascal/C/C++/Java/C#/OCaml/SML/Haskell/Scala
・動的型付け:Lisp/Prolog/JavaScript/Smalltalk/Ruby/Python
・ハイブリッド:Objective-C
「型体系(type system)」と「型付け(typing)」の違いだね
これらはの概念は組合せ(直積)で考える必要がある
型体系(type system):
・単一型(型無し、とも言う)
・ただ一つの型しか存在しない、言い換えると型を区別しない
例:Tcl や Shell --> 文字列型のみで、1 と "1" はどちらも文字列
・素朴な型体系
・複数の原始型と僅かな複合型
例:Lisp、Prolog、JavaScript --> 数値や記号といった原始型(=アトム)と
リスト(Lispの場合)または項(Prologの場合)から構成される
・複雑な型体系
・複数の原始型と複合型
例:Pascal や C といった多くの手続き型言語、および
ML族のような初期の静的型付け関数型言語 -->
以下の3種類の基本構造から構成される
・直積:タプル、レコード(=構造体)
・直和:列挙型、合併型(=共用体)、代数型
・列:配列、リスト
・複雑で階層的な型体系
例:C++/Java/Smalltalk/Ruby といったクラスベースのオブジェクト指向言語、
および Haskell や Scala のようなアドホック型多相を基礎とする関数型言語など
型付け(typing):
・静的型付け:Pascal/C/C++/Java/C#/OCaml/SML/Haskell/Scala
・動的型付け:Lisp/Prolog/JavaScript/Smalltalk/Ruby/Python
・ハイブリッド:Objective-C
659デフォルトの名無しさん
2014/03/09(日) 14:07:19.05 現在プログラム板のID制導入の投票を実施中です
よろしくお願いします
プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
よろしくお願いします
プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
660デフォルトの名無しさん
2014/03/28(金) 02:09:27.84ID:NM8p3urQ メインで使う言語が Ruby から入って今は専ら Java だけど、
Rubyに戻りたくないな
やっぱ静的型付けは曖昧さがないから安心感が高くていいよ
オーバーロードも出来るし
開発環境もいろいろサポートしてくれるし
まぁでも Ruby はそれなりに良い言語ではるけどね
クロージャが書きやすいし(Javaでも書けるけど)
ミックスインも強力だし……そういえば Java8 でインターフェースのデフォルト実装来るのだろうか?
クラスがオブジェクトとして扱えて、クラスメソッドでポリモーフィズムが使えたり
うーん、懐かしいわ
Rubyに戻りたくないな
やっぱ静的型付けは曖昧さがないから安心感が高くていいよ
オーバーロードも出来るし
開発環境もいろいろサポートしてくれるし
まぁでも Ruby はそれなりに良い言語ではるけどね
クロージャが書きやすいし(Javaでも書けるけど)
ミックスインも強力だし……そういえば Java8 でインターフェースのデフォルト実装来るのだろうか?
クラスがオブジェクトとして扱えて、クラスメソッドでポリモーフィズムが使えたり
うーん、懐かしいわ
661デフォルトの名無しさん
2014/09/02(火) 15:20:17.74ID:gs4puFO8 NumOrString で何がやりたいの? Genericで型を作る事(IntやDouble とStringだけに制限かけるとか)でもできるし 何もしないでAnyでも良いだろ
Swift で Int を取りだす例
func getInt(v: Any)->Int{
if v is String {
return (v as String).toInt() ?? 0
} else if v is Int {
return v as Int
}
return 0
}
var numOrStr: Any = "100" // 文字列代入
println( getInt( numOrStr )+2 ) //102
numOrStr = 200 // 整数代入
println( getInt( numOrStr )+2 ) //202
Swift で Int を取りだす例
func getInt(v: Any)->Int{
if v is String {
return (v as String).toInt() ?? 0
} else if v is Int {
return v as Int
}
return 0
}
var numOrStr: Any = "100" // 文字列代入
println( getInt( numOrStr )+2 ) //102
numOrStr = 200 // 整数代入
println( getInt( numOrStr )+2 ) //202
662デフォルトの名無しさん
2014/09/02(火) 17:12:02.99ID:bBMTqV7b 動的型言語が急激にオワコン化しつつある
まだどっちにもメリット・デメリットがあるだの中立を気取る穏健派気取りも多いが
明らかにそんな段階超えてるっしょ。英語圏でもこんな記事が人気だ。
The abject failure of weak typing(弱い型の惨めな失敗)
http://techblog.realestate.com.au/the-abject-failure-of-weak-typing/
あと、静的型の連中はテスト書かんのか的勘違いしてる動的派たまにいるけどさー
型チェックして、静的解析して、その上でさらにCIもするに決まってるだろw
バグを減らすためのあらゆる手段を各段階に投入するんだよ。
それから、動的型の方が気楽に書けるだの速く書けるだのは妄言というほかない。
コードを実行するよりも前に、テストを走らせるよりも前に一定のバグチェックが働いたほうが
明らかにイテレーションが高速だろうが。常識で考えろ。
プロジェクトの規模が膨らむほど顕著になる。
つかせいぜい数千行で明らかに静的型の方が採算が良くなる。
リファクタリング一つ取ってもどうするつもりなのか。
静的型言語だとガチャガチャ数百行一気に組み換えて
コンパイルエラー何十個か潰して実行したら何の問題もなく動作するというようなことがままあるわけだが
RubyだのJavaScriptだのがメインの連中、そういう快感を知らないし想像もできないのだろう。
静的型で優れたIDEの恩恵をきちんと受ければどれほどの高速コーディングができるかも知るまい。
まして、プログラマは怠惰であるべきだから動的型マンセーwだの
Twitterでアホがツイートしてるのを見たときには
馬鹿じゃねえのかと思ったよ。本気で。
まだどっちにもメリット・デメリットがあるだの中立を気取る穏健派気取りも多いが
明らかにそんな段階超えてるっしょ。英語圏でもこんな記事が人気だ。
The abject failure of weak typing(弱い型の惨めな失敗)
http://techblog.realestate.com.au/the-abject-failure-of-weak-typing/
あと、静的型の連中はテスト書かんのか的勘違いしてる動的派たまにいるけどさー
型チェックして、静的解析して、その上でさらにCIもするに決まってるだろw
バグを減らすためのあらゆる手段を各段階に投入するんだよ。
それから、動的型の方が気楽に書けるだの速く書けるだのは妄言というほかない。
コードを実行するよりも前に、テストを走らせるよりも前に一定のバグチェックが働いたほうが
明らかにイテレーションが高速だろうが。常識で考えろ。
プロジェクトの規模が膨らむほど顕著になる。
つかせいぜい数千行で明らかに静的型の方が採算が良くなる。
リファクタリング一つ取ってもどうするつもりなのか。
静的型言語だとガチャガチャ数百行一気に組み換えて
コンパイルエラー何十個か潰して実行したら何の問題もなく動作するというようなことがままあるわけだが
RubyだのJavaScriptだのがメインの連中、そういう快感を知らないし想像もできないのだろう。
静的型で優れたIDEの恩恵をきちんと受ければどれほどの高速コーディングができるかも知るまい。
まして、プログラマは怠惰であるべきだから動的型マンセーwだの
Twitterでアホがツイートしてるのを見たときには
馬鹿じゃねえのかと思ったよ。本気で。
663デフォルトの名無しさん
2014/09/02(火) 18:57:07.42ID:O0bHgitW664デフォルトの名無しさん
2014/09/02(火) 22:03:49.35ID:f704CnQ2 「静的型言語」と言ってる時点ですでに穏健派の思う壺だよね
不特定多数の言語を指してるから
一つに絞り込む必要性が全く感じられない
複数選択可なら動的型言語も選んでみたくなる
不特定多数の言語を指してるから
一つに絞り込む必要性が全く感じられない
複数選択可なら動的型言語も選んでみたくなる
665デフォルトの名無しさん
2014/09/03(水) 17:26:16.99ID:Nxe4ujmI >>662
Javaって素晴らしいねw
Javaって素晴らしいねw
666デフォルトの名無しさん
2014/09/03(水) 18:06:54.24ID:SBztsgaC 動的言語が楽なのは環境作る手間だけであったな
667デフォルトの名無しさん
2014/09/03(水) 21:35:51.41ID:rgaFaXry TypeScriptみたいに、動的型言語なんだけど、
オプションで型を書いて静的型検査する言語は
どうなんだろう?
オプションで型を書いて静的型検査する言語は
どうなんだろう?
668デフォルトの名無しさん
2014/09/04(木) 12:45:33.60ID:Azi8pMDh 言語について静的と言っているのか、型付けについて静的と言っているのか、曖昧な表現を使うな。
「静的言語」か「静的型付き言語」の、どっちかにしろ。
「静的言語」か「静的型付き言語」の、どっちかにしろ。
669デフォルトの名無しさん
2014/09/04(木) 14:11:59.28ID:JrHf8QHD >>667 何を言ってるんだよ TypeScriptは単なるプリプロセッサ。
出てきたJavaScriptが動的言語と言うだけの事
そんな事を言ったら色んな言語がそうできる
C++他からJavaScriptとか(Emscripten)
或は各種動的プログラミング言語のコンパイル版 例えば Python のPypiとか
出てきたJavaScriptが動的言語と言うだけの事
そんな事を言ったら色んな言語がそうできる
C++他からJavaScriptとか(Emscripten)
或は各種動的プログラミング言語のコンパイル版 例えば Python のPypiとか
670デフォルトの名無しさん
2014/09/04(木) 19:50:15.73ID:pCjEdN1j 機械語レベルにまで変換したら、
すべての言語は型情報を持たない。
すべての言語は型情報を持たない。
671デフォルトの名無しさん
2014/09/04(木) 21:10:42.37ID:LeaFrZaO >>668
スレタイ読めよ
>>670
ハードで型チェックするマシンも(過去には)あったよ
http://ja.m.wikipedia.org/wiki/LISP%E3%83%9E%E3%82%B7%E3%83%B3
スレタイ読めよ
>>670
ハードで型チェックするマシンも(過去には)あったよ
http://ja.m.wikipedia.org/wiki/LISP%E3%83%9E%E3%82%B7%E3%83%B3
672デフォルトの名無しさん
2014/09/05(金) 07:01:12.38ID:vJ702ivD673デフォルトの名無しさん
2014/09/05(金) 07:18:25.88ID:BiMZcw/Q >>672
データの話だぞ
データの話だぞ
674デフォルトの名無しさん
2014/09/05(金) 09:11:47.35ID:kEmuiZox675デフォルトの名無しさん
2014/09/05(金) 20:07:48.66ID:vJ702ivD >>674
符号の有無もあるぞ。十分にデータ型の条件を満たしているが。
符号の有無もあるぞ。十分にデータ型の条件を満たしているが。
676デフォルトの名無しさん
2014/09/05(金) 21:35:01.68ID:kEmuiZox 符号がついててもビット情報にすぎない。
677デフォルトの名無しさん
2014/09/05(金) 22:22:52.52ID:vJ702ivD メモリ上のオブジェクトのビット幅と符号等のエンコーディングだけでは型じゃないというなら、
じゃあC言語の型は型じゃないのかよw
じゃあC言語の型は型じゃないのかよw
678デフォルトの名無しさん
2014/09/05(金) 22:40:11.75ID:F0C2JJRO BCD はとうの昔に忘れ去られたんだね‥あの系のフラグの上げ下げ、一生わからないだろーなー‥
679デフォルトの名無しさん
2014/09/05(金) 22:44:42.07ID:w1Ux2akp (どうしよう「ノイマン型コンピュータの最大の弱点はデータとオペランドが
同じメモリ空間に等しく並んでいることだ」なんて基礎中の基礎の議論を
一度も見たことがないような人間がビットはデータだ型だ言っててゲロ吐きそうw)
同じメモリ空間に等しく並んでいることだ」なんて基礎中の基礎の議論を
一度も見たことがないような人間がビットはデータだ型だ言っててゲロ吐きそうw)
680デフォルトの名無しさん
2014/09/05(金) 23:01:28.17ID:BiMZcw/Q >>675
メモリーのビット列見ただけで符号なのかわかるのか?
メモリーのビット列見ただけで符号なのかわかるのか?
681デフォルトの名無しさん
2014/09/06(土) 14:00:13.41ID:ASRhmvFn682デフォルトの名無しさん
2014/09/06(土) 19:12:57.93ID:2eQ4pr9G683デフォルトの名無しさん
2014/10/29(水) 15:25:06.29ID:jBixlkaY ダブルディスパッチなら型そのものに振る舞いを記述する必要はない
684デフォルトの名無しさん
2015/08/16(日) 17:31:30.16ID:i0k+NpdZ ここ最近の「型」って言葉、人によって指してるものが違うよね
言葉だけひとり歩きしてしまった感じ
このスレで言われているような「型」の認識だと、旧世代的な言語を想像してしまいがちだけど
Haskellの型クラスやScalaのトレイトみたいな、アドホック多相が表現可能な静的型付けのことでしょ
今いろんな人が注目してる「型」ってのはさ
言葉だけひとり歩きしてしまった感じ
このスレで言われているような「型」の認識だと、旧世代的な言語を想像してしまいがちだけど
Haskellの型クラスやScalaのトレイトみたいな、アドホック多相が表現可能な静的型付けのことでしょ
今いろんな人が注目してる「型」ってのはさ
685デフォルトの名無しさん
2015/08/30(日) 06:16:25.67ID:4622E1Z6 ユニバーサル多相からアドホック多相に退化して何がうれしいの?
686デフォルトの名無しさん
2015/12/19(土) 13:37:57.71ID:a/6r0NiU r、_Lヽ___
/ \
/ \
| __ l___ l
. | /^-⌒ヽ、r-、/-|
| ヽ |
/ ̄ヽ / ___ヽ r .|
ヽ -v | l  ̄|j
ヽ--、、ヽ / ̄ヽ_)
 ̄ー- __/.三l ミl
| ⊥イ _三l ミl
|_ ヘ/ lヽー ァ'
/ l  ̄
| /
ヽ 、
| |ヽ )
/_|/___(_
ゝ ヽ ___っ二l
'┴┴┴'
/ \
/ \
| __ l___ l
. | /^-⌒ヽ、r-、/-|
| ヽ |
/ ̄ヽ / ___ヽ r .|
ヽ -v | l  ̄|j
ヽ--、、ヽ / ̄ヽ_)
 ̄ー- __/.三l ミl
| ⊥イ _三l ミl
|_ ヘ/ lヽー ァ'
/ l  ̄
| /
ヽ 、
| |ヽ )
/_|/___(_
ゝ ヽ ___っ二l
'┴┴┴'
687デフォルトの名無しさん
2015/12/24(木) 11:22:02.41ID:oyBoIX3w JSがCより早いとか言ってる奴はキチガイ
インタプリタがネイティブコードに勝てると思ってるの?
インタプリタがネイティブコードに勝てると思ってるの?
689デフォルトの名無しさん
2016/02/26(金) 04:19:03.89ID:lISTNpjd このスレアホみたいに勢いあったのにあいつらどこ行ったの?
690デフォルトの名無しさん
2016/02/27(土) 03:21:21.06ID:cL+mZeVp おごれる者も久しからず
ですな
ですな
691デフォルトの名無しさん
2016/02/27(土) 07:26:13.09ID:zwwRZ2hM >681
機械語の命令は変わらないだろ?
量的な扱いが変わるだけで。
機械語の命令は変わらないだろ?
量的な扱いが変わるだけで。
692デフォルトの名無しさん
2016/05/01(日) 13:36:46.89ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
^
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
^
693デフォルトの名無しさん
2016/06/02(木) 22:20:49.43ID:4UxwCTlG 廃墟になっててワロタ
694デフォルトの名無しさん
2016/06/24(金) 10:36:21.01ID:QDx4C0nH まとをえる
695デフォルトの名無しさん
2016/06/27(月) 13:29:19.01ID:FW1ESxka 機械語にも型はあるに一票
特にC/C++のポインタ型なんかは、単なるビット列を、どう見なして
どう解釈するか、という側面がある
だから同じビット列であっても、キャストでどう見なすか、によって
違った演算が行われる
C/C++の型を型と認めるなら、機械語にも型はある
ただし、型の情報はオペコードに埋め込まれている
単なるビット列を何に見なして演算するかという型
特にC/C++のポインタ型なんかは、単なるビット列を、どう見なして
どう解釈するか、という側面がある
だから同じビット列であっても、キャストでどう見なすか、によって
違った演算が行われる
C/C++の型を型と認めるなら、機械語にも型はある
ただし、型の情報はオペコードに埋め込まれている
単なるビット列を何に見なして演算するかという型
696デフォルトの名無しさん
2016/06/27(月) 14:11:41.06ID:FW1ESxka で、なんでこんな変な流れになってるかちょっと考えたんだけど
型はデータが持っているものだと決めつけている人がいるんじゃないかと
動的型言語であればそうかもしれないが、静的型言語は必ずしもそうではない
かのC言語は、構造体であろうが何であろうが、実行時型情報など持ち合わせていない
C言語の型は、ビット列、メモリブロックをどう見なして解釈するかというだけであり
データ自体にそれが何であるか示す細工はない
このシンプルさが今でも使われている理由(メモリレイアウトがシンプル)
また、Javaであっても基本型のインスタンスは型情報を保持していない
ここが分かってないから、「ただのビット列だろ?型なんか無い」などと変なことを言うのではないかね
型はデータが持っているものだと決めつけている人がいるんじゃないかと
動的型言語であればそうかもしれないが、静的型言語は必ずしもそうではない
かのC言語は、構造体であろうが何であろうが、実行時型情報など持ち合わせていない
C言語の型は、ビット列、メモリブロックをどう見なして解釈するかというだけであり
データ自体にそれが何であるか示す細工はない
このシンプルさが今でも使われている理由(メモリレイアウトがシンプル)
また、Javaであっても基本型のインスタンスは型情報を保持していない
ここが分かってないから、「ただのビット列だろ?型なんか無い」などと変なことを言うのではないかね
697デフォルトの名無しさん
2016/09/02(金) 07:29:22.78ID:D4RF+Hn1 オブジェクトとオブジェクトを足すと何になるんだ?
698デフォルトの名無しさん
2016/09/10(土) 22:17:07.13ID:vL431mpn 何型がきても動くようにしておけばいいのか
699デフォルトの名無しさん
2016/11/12(土) 04:22:45.90ID:MkVBZpV9 急激に過疎ったスレとして資料価値がある
一番勢いあったのがIDなかった時代だというのが興味深い
一番勢いあったのがIDなかった時代だというのが興味深い
700デフォルトの名無しさん
2016/11/12(土) 12:30:37.24ID:v5MvkRT2 必死で会話続けようとしてるが誰もついてこないが滑稽
時代に取り残されたものとはこういう人のことを指すのだろう
時代に取り残されたものとはこういう人のことを指すのだろう
701デフォルトの名無しさん
2016/11/12(土) 21:53:02.89ID:6wPviZ3t えええ、そういう意味なの? webサーバー=httpサーバーってことなの
「WEBサーバー」って、いろんな機能が入ったサーバーの総称かと思っていた。
メールサーバーは「メールができるだけだろう」くらいにはわかっていたが、webサーバー
ってのはメールもhttpもsmtpもできるんだろうと思ってた。
「WEBサーバー」って、いろんな機能が入ったサーバーの総称かと思っていた。
メールサーバーは「メールができるだけだろう」くらいにはわかっていたが、webサーバー
ってのはメールもhttpもsmtpもできるんだろうと思ってた。
702デフォルトの名無しさん
2016/11/14(月) 13:27:58.23ID:TocDLuy0 Win32APIスレに>>699をコピペしてんじゃねえぞ
わかってんだよザコ
わかってんだよザコ
703デフォルトの名無しさん
2016/11/16(水) 12:53:15.06ID:Io8tNnmj >>697
コレクション
コレクション
704デフォルトの名無しさん
2016/12/16(金) 23:05:19.41ID:sTWK9lm6 不具合が1件でもでたら、終身刑がまっている状況に耐える
プログラムをするならば、動的とかありえんよ。
出したあと修正が不要状態を維持でない世代にはわからんだろうけど。
昔の組み込みなどは一度だしたものは、ROM修正などできない。
不具合がでたら倒産する企業だってあったわけだ
プログラムをするならば、動的とかありえんよ。
出したあと修正が不要状態を維持でない世代にはわからんだろうけど。
昔の組み込みなどは一度だしたものは、ROM修正などできない。
不具合がでたら倒産する企業だってあったわけだ
705デフォルトの名無しさん
2016/12/17(土) 04:46:44.16ID:+uiZTdOO 不具合を言語のせいにする会社は潰れるだろうねえ・・・
南無阿弥陀仏、南無阿弥陀仏
ちなみに昔の組み込みは静的型言語なんて使ってなかったぞ、素人さんw
南無阿弥陀仏、南無阿弥陀仏
ちなみに昔の組み込みは静的型言語なんて使ってなかったぞ、素人さんw
706デフォルトの名無しさん
2016/12/17(土) 12:32:04.41ID:s55gxQDX707デフォルトの名無しさん
2016/12/17(土) 17:00:27.24ID:a9hyyPvt Erlangは息長いな
708デフォルトの名無しさん
2016/12/18(日) 02:47:05.16ID:Z1pdDHrb ムカシハ静的デ〜もなんも実行プログラムの一部をRAMに置いて
そこをダイレクトに書き換えて、動作変えたりしてたっつーのに
なんだこのCから始めたようなにわかは。ダッセェ
そこをダイレクトに書き換えて、動作変えたりしてたっつーのに
なんだこのCから始めたようなにわかは。ダッセェ
709デフォルトの名無しさん
2016/12/18(日) 17:39:52.33ID:r2eD1RnL そうそう、LD命令のオペランドを変数領域に使ったりしてたな。
710デフォルトの名無しさん
2016/12/18(日) 21:44:26.37ID:CFuzcgv7 得意気に自己書き換えコードを語る前にスレタイ読めよ...
711デフォルトの名無しさん
2016/12/18(日) 23:39:13.31ID:Z1pdDHrb 静的言語を導入すると一個も"完成"しないからゼロは何倍してもゼロという話だろうか
712デフォルトの名無しさん
2016/12/19(月) 06:44:34.57ID:s4WNerU2 「静的型付け言語」を「静的言語」とか言う奴は漏れなく論点を理解できてないバカだと思う
713デフォルトの名無しさん
2016/12/19(月) 10:01:16.68ID:d4eWK33/ だが自分では何も貢献しない、それが静的厨
714デフォルトの名無しさん
2016/12/19(月) 12:19:31.44ID:z9XVuDpo コードセグメント書き換え禁止
715デフォルトの名無しさん
2016/12/19(月) 12:59:27.17ID:s4WNerU2 あたかも自分は貢献しまくり
と妄想してるだけの >>713 であった...
と妄想してるだけの >>713 であった...
716デフォルトの名無しさん
2016/12/22(木) 09:57:27.90ID:i/pZa1E8717デフォルトの名無しさん
2017/02/28(火) 18:59:47.70ID:dw6YdHUr ここで醜態晒してた奴らはいま次世代言語スレにいる
718デフォルトの名無しさん
2017/04/15(土) 23:37:25.97ID:Af1/s0zG http://gihyo.jp/news/report/01/rubykaigi2016/0001
本当に往生際が悪いというかなんというか、いったい何の意味があるのか
一方ロシアは鉛筆を使ったって感じ
「負けたんだよ」って誰か言ってあげて
本当に往生際が悪いというかなんというか、いったい何の意味があるのか
一方ロシアは鉛筆を使ったって感じ
「負けたんだよ」って誰か言ってあげて
719デフォルトの名無しさん
2017/04/18(火) 11:51:46.64ID:Uw8XacGP 自分が欲しいものを作っただけなのに
いつのまにか予算獲得が目的に変わってしまって・・・
いつのまにか予算獲得が目的に変わってしまって・・・
720デフォルトの名無しさん
2017/04/18(火) 12:45:44.41ID:iAEcPWue721デフォルトの名無しさん
2017/09/16(土) 18:00:37.78ID:3R6WSf4d option explecit な感じに仕上げてくれるんなら型があってもいいな
動的言語の綴りミスはちょっと排除できそうにないからな…
動的言語の綴りミスはちょっと排除できそうにないからな…
722デフォルトの名無しさん
2018/05/23(水) 21:44:07.35ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
ICI7B
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
ICI7B
723デフォルトの名無しさん
2018/07/05(木) 00:16:16.34ID:RfoszcD2 Y88
724デフォルトの名無しさん
2018/08/23(木) 12:23:44.06ID:NPcuqlt3 >>721
explicit
explicit
725デフォルトの名無しさん
2020/04/22(水) 21:20:34.35ID:TQVQtNCZ 型まみれでやろうぜ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- 青椒肉絲、牛肉ではなく豚肉を使うのが本物だった
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- んなっしょい🍬禁止🈲のお🏡
