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
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 「コメントを書かなくていいようなコードを書きなさい」
↑
手続きの羅列に限定しなさいって意味。
まじマシンの下僕。
スカイネットに寝返った人類の敵。
しかもなんか偉そうに述べてくるのがまじわからん。
↑
手続きの羅列に限定しなさいって意味。
まじマシンの下僕。
スカイネットに寝返った人類の敵。
しかもなんか偉そうに述べてくるのがまじわからん。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 言うほどミッキー逆さにするとちんこに見えるか?
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- まみちゃん
- ちっしゃーねーな。俺が習近平のアナルに武力侵攻してきてやるよ
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
