静的型付け言語の潜在開発生産性は今の100倍 ×3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/25(金) 08:10:09.84これが生産性を上げる最大の方法。
コンピュータは間違わない、同じ事を何度も高速に行える。
その為に、コンピュータがコードの意味を正確に
認識できる方法が必要。実行しないとわからないことは
コンピュータは認識できない。
すなわち静的型付け言語であれば、実行しなくてもわかるので
コンピュータが理解できる。そうすれば様々な
コンピュータの高度な情報支援が得られる。
コンピュータのバックアップを受け、人間の生産性は
限りなく向上する。
前スレ
静的型付け言語の潜在開発生産性は今の100倍 ×2
http://toro.2ch.net/test/read.cgi/tech/1380987002/
0153デフォルトの名無しさん
2013/10/26(土) 14:59:46.97静的型は想定していない型は受け付けないから、動作見るだけでいいけど、
動的型は想定していないオブジェクトを受け入れるかどうかの境界のテストも必要になる。
0154デフォルトの名無しさん
2013/10/26(土) 15:22:00.43動的型は型のチェックをちまちま書いてテストして型の問題が
見つからないことが確認できるだけ。業務では使えないよ。
0155デフォルトの名無しさん
2013/10/26(土) 15:43:39.13つまり、実行時に NullPointerException が発生しうる
JavaやC#は業務では使えない、ということだよね!
すごく説得力があるな
0156デフォルトの名無しさん
2013/10/26(土) 15:48:45.10そういう曲解して楽しいもんなのかね。理解できんわー。
0157デフォルトの名無しさん
2013/10/26(土) 17:02:28.31Maybeモナドも知らんのか。
皮肉のつもりが無知を晒してるだけだな。
0158デフォルトの名無しさん
2013/10/26(土) 17:08:50.10>>154
>静的型はコンパイルさえできれば型の問題はないことが保証される。
これは正しい
ただし、JavaやC#では、実行時にNullPointerExceptionが発生しうるから、
コンパイルを通過しても型に問題がないことを保証できない
>動的型は型のチェックをちまちま書いてテストして型の問題が
>見つからないことが確認できるだけ。
同様に、JavaやC#でも、テストによってNullPointerExceptionが
起きないことを確認できるだけ
>業務では使えないよ。
動的型と同様に、静的型として欠陥品のC#やJavaも、業務では使えない
0159デフォルトの名無しさん
2013/10/26(土) 17:13:46.68>ただし、JavaやC#では、実行時にNullPointerExceptionが発生しうるから、
>コンパイルを通過しても型に問題がないことを保証できない
なんでそうなるんだよ。
型に問題ないのが保証できなきゃコンパイル通らないよ。
お前が言ってる事は静的型・動的型なんて関係なく、
Null値を許容している限り、実行時エラーは起こりうるという事だろ?
それでもまだ突っ込みどころがあるわけだが。
0160デフォルトの名無しさん
2013/10/26(土) 17:24:03.35Null値のデータ型は?www
0161デフォルトの名無しさん
2013/10/26(土) 17:24:19.54テストの記述量が極端に違うとも実感としてはあまり思えない。
テストの両云々は両者の差を語る視点としてはやや弱い気がする。
それでも自分は型をつけて記述するけどね。そっちの方が楽だから。
0162デフォルトの名無しさん
2013/10/26(土) 17:24:42.32おまえがバカだということはよくわかった
0163デフォルトの名無しさん
2013/10/26(土) 17:33:50.89nullpointerexceptionが型が原因の例外だと思ってるのか?
値の例外だが。
0164デフォルトの名無しさん
2013/10/26(土) 17:35:37.84nullの型を言ってみろw
0165デフォルトの名無しさん
2013/10/26(土) 17:36:20.040166デフォルトの名無しさん
2013/10/26(土) 17:39:16.81だからこそMaybeやoptionとかでより厳しい型を組み込もうとしてるんだが。
nullプギャーwとか言ってるのは自由な値を許容してる動的型に対して天つばしてるのと同じだぞ(´・ω・`)
0167デフォルトの名無しさん
2013/10/26(土) 17:47:18.930168デフォルトの名無しさん
2013/10/26(土) 17:58:38.87nullを受け入れておいて動的型プギャーwとか言ってる馬鹿に言ってやれw
0169デフォルトの名無しさん
2013/10/26(土) 18:02:24.490170デフォルトの名無しさん
2013/10/26(土) 18:14:52.220171デフォルトの名無しさん
2013/10/26(土) 18:23:58.250172デフォルトの名無しさん
2013/10/26(土) 18:24:31.87言語間の優越を問うよりも必要に応じて言語を使い分け。
後は言語間で如何にスムーズに連携できるかが大切。
0173デフォルトの名無しさん
2013/10/26(土) 18:28:18.770174デフォルトの名無しさん
2013/10/26(土) 18:45:36.50そのための実行基盤としてはJVMと.Netが一番実績がある。
最近はクライアントサイドを中心にJavaScriptエンジンもそんな立ち位置になりつつある。
Smalltalk?
0175デフォルトの名無しさん
2013/10/26(土) 18:51:58.98JavaScript使うよりSchemeのほうがマシだ
0176デフォルトの名無しさん
2013/10/26(土) 19:12:27.640177デフォルトの名無しさん
2013/10/26(土) 19:14:44.48型理論を根拠に反論おねがいします
0178デフォルトの名無しさん
2013/10/26(土) 19:18:17.580179デフォルトの名無しさん
2013/10/26(土) 19:21:11.35↑かっこよくなった。
0180デフォルトの名無しさん
2013/10/26(土) 19:23:29.92つまり、大事なものなんだよね。
0181デフォルトの名無しさん
2013/10/26(土) 19:33:22.93だから静的関数型には関係ないじゃん(´・ω・`)
静的は型を絞ったけど値の抜けまではチェック出来てなかった。静的関数型は値のチェックまでいれた完成体。何もできない動的は不完全にもほどがある。
別に静的関数型であることは必須事項ではないけれど。
0182デフォルトの名無しさん
2013/10/26(土) 19:35:11.270183デフォルトの名無しさん
2013/10/26(土) 19:51:44.05道中のバグはしょうがないものとして対応出来る範囲に収まってればそれで良い
0184デフォルトの名無しさん
2013/10/26(土) 19:58:34.98なんか用あった?
0185デフォルトの名無しさん
2013/10/26(土) 20:07:59.110186デフォルトの名無しさん
2013/10/26(土) 20:09:28.73>静的関数型は値のチェックまでいれた完成体。
完成体になった結果、やっと動的型を取り入れたんだねw (>>115)
0187デフォルトの名無しさん
2013/10/26(土) 20:10:37.71完全体だろう?
静的が出来ないのはゴミだが。
0188デフォルトの名無しさん
2013/10/26(土) 20:16:49.48大抵の言語にはリテラルがあって、リテラルの型はコンパイル時に検査されるよなー
0189デフォルトの名無しさん
2013/10/26(土) 20:17:56.55Schemeは型推論できたりするしなあ。
0190デフォルトの名無しさん
2013/10/26(土) 20:20:45.27まったくだ。
> 大抵の言語にはリテラルがあって、リテラルの型はコンパイル時に検査されるよなー
動的至上主義なら、それをやめろといいたいのか?
馬鹿だ。静的に、つまりコンパイル時に検査できる項目は
多ければ多いほどいいに決まっているだろう。
0191デフォルトの名無しさん
2013/10/26(土) 20:23:24.62検査もミニマリストでいい
最低限の検査をやったら、あとは邪魔すんな
0192デフォルトの名無しさん
2013/10/26(土) 20:25:40.27誰のために?っていうのが抜けてるぞ。
0193デフォルトの名無しさん
2013/10/26(土) 20:25:52.98ことだよね。
0194デフォルトの名無しさん
2013/10/26(土) 20:32:25.67お前みたいな意見もなくただ批判するだけの奴は楽でいいな
議論には邪魔なだけの存在だけど
0195デフォルトの名無しさん
2013/10/26(土) 20:47:02.38議論だったんだ。
へ〜。
驚き!
0196デフォルトの名無しさん
2013/10/26(土) 21:14:22.020197デフォルトの名無しさん
2013/10/26(土) 21:16:01.35つまらん奴だ
0198デフォルトの名無しさん
2013/10/26(土) 21:19:40.480199デフォルトの名無しさん
2013/10/26(土) 21:48:03.700200デフォルトの名無しさん
2013/10/26(土) 21:50:46.91どこがいいんだろう?
prototype.jsが流行った時も苦肉の策にしか見えなかったんだけど。
なんかJSはすごいってみんな言ってたよね。
0201デフォルトの名無しさん
2013/10/26(土) 22:00:17.60おまえらベーマガ世代だろ
0202デフォルトの名無しさん
2013/10/26(土) 22:03:54.25あんなの使うならlispやschemeのがいいし
0203デフォルトの名無しさん
2013/10/26(土) 22:59:05.81珍しいものを使うほうが楽しいよ。
0204デフォルトの名無しさん
2013/10/26(土) 23:29:13.38まさにWebの様にフリー
優れたハッカーは静的型に無駄と理不尽さを感じる
0205デフォルトの名無しさん
2013/10/26(土) 23:31:05.650206デフォルトの名無しさん
2013/10/26(土) 23:33:40.18優れたハッカーがそう言ってるんです。
0207デフォルトの名無しさん
2013/10/26(土) 23:35:52.260208デフォルトの名無しさん
2013/10/26(土) 23:37:35.72言いたいことがあるならちゃんと自分の言葉で真正面から言えばいいのに
0209デフォルトの名無しさん
2013/10/26(土) 23:38:10.540210デフォルトの名無しさん
2013/10/26(土) 23:39:34.20俺は理不尽さを感じるって言えばいいじゃねーか。
どうせお前の主観なんだし。
0211デフォルトの名無しさん
2013/10/26(土) 23:41:39.090212デフォルトの名無しさん
2013/10/26(土) 23:41:55.06異様で怖いわぁ……
0213デフォルトの名無しさん
2013/10/26(土) 23:43:13.78俺もシャレだと思った。
0214デフォルトの名無しさん
2013/10/26(土) 23:45:09.06JSではクラスを作ろうとする時点で考え方が間違ってるんじゃないかとおもった方がいい
自作クラスとnewは極めて少なくなるはず、というか無くても十分設計できるのがJS
0215デフォルトの名無しさん
2013/10/26(土) 23:46:44.55みたいな話になるから理不尽な世界だなってことだな。
0216デフォルトの名無しさん
2013/10/26(土) 23:48:21.76よりによってundefinedwwなJSを根拠に?
0217デフォルトの名無しさん
2013/10/26(土) 23:48:47.94どれのことだ?
0218デフォルトの名無しさん
2013/10/26(土) 23:50:21.25こんな手抜きな検索は普通適切じゃないでしょ。
それでも検索できちゃうから相当流行ってるんだよ、クラスもどき。
0219デフォルトの名無しさん
2013/10/26(土) 23:54:19.41ないわ
使い捨てしか作ったことないんだな
0220デフォルトの名無しさん
2013/10/26(土) 23:56:35.670221デフォルトの名無しさん
2013/10/26(土) 23:57:00.14そういうのを用意してくれるライブラリのことを言ってるんじゃないか?
だからこそ「もどき」のクラスを多用せずプロトタイプベースで書こうと言ってるわけなんだが
JSer以外にはわからないんだろうね
>>219
JSではnew無しでも十分オブジェクト指向ができる
0222デフォルトの名無しさん
2013/10/26(土) 23:58:21.52そもそもJavaScriptにはクラスはないから
0223デフォルトの名無しさん
2013/10/26(土) 23:58:40.88そのために特化してる。
だからプラットフォームで儲ける側はJS押せばいい。
そこに縛り付けることができるんだから。
それ以上のことをされたら自分のライバルにすらなれるんだから。
プラットフォーム上で「JS便利だね便利だね」と踊らされてる子ザルは
頭悪すぎでしょ。
プラットフォームを作る側にならなきゃ。
0224デフォルトの名無しさん
2013/10/27(日) 00:00:53.890225デフォルトの名無しさん
2013/10/27(日) 00:03:08.51それを言うならむしろ「JSは特化してなくて柔軟」だと思うんだけどな
0226デフォルトの名無しさん
2013/10/27(日) 00:04:53.91{}.callでnewと同等の処理が代替できるからとか言っちゃうのかな
欺瞞が大好きJSer
0227デフォルトの名無しさん
2013/10/27(日) 00:06:50.68new 〜〜()が見栄え的にもいいと思うけど
その他は
create〜〜()
にして
function create〜〜() {
var obj = Object.create(proto)
〜〜〜
return obj
}
ってやるのがプロトタイプベースっぽいな
0228デフォルトの名無しさん
2013/10/27(日) 00:07:40.95でも大失敗だったよね。
開発元でさえちょっと大きなものを作ろうとするとうまくいかなかったわけ。
これ言語としての限界だよね。
限界低すぎるわ〜。
0229デフォルトの名無しさん
2013/10/27(日) 00:09:51.430230デフォルトの名無しさん
2013/10/27(日) 00:10:38.46プリミティブは別だと言ったよ。
それについてはこっちの非だから謝るけどさ、
わざわざ蒸し返してまでレスすんなよ。
0231デフォルトの名無しさん
2013/10/27(日) 00:11:21.08まあ土俵って板のことでもあるんだけどね。
JSはHTML板?まあそういうとこ行けばいいんじゃないの?
JSはどっか行けって板ルールにも書いてあるし。
0232デフォルトの名無しさん
2013/10/27(日) 00:11:29.950233デフォルトの名無しさん
2013/10/27(日) 00:12:37.34運営サイドから次のような見解が出ています。
|459 飛べない削除屋 ★ sage :04/05/30 15:38 ID:???
|>>458
|ローカルルールにはひどく単純化されて書かれていますが、
|Javascript という言語そのものが板違いなのではありません。
|用途によって板違いかどうかを判断してください。
0234デフォルトの名無しさん
2013/10/27(日) 00:12:47.81ここは大人の板だから。
大きくなったらおいで。
0235230
2013/10/27(日) 00:12:52.810236デフォルトの名無しさん
2013/10/27(日) 00:13:51.040237デフォルトの名無しさん
2013/10/27(日) 00:14:17.460238デフォルトの名無しさん
2013/10/27(日) 00:15:28.92JavaScriptという単語に過剰反応する人が話をこじらせてるだけだよね
0239デフォルトの名無しさん
2013/10/27(日) 00:16:13.00新言語を使ういかしたプラットフォームが必要なんじゃないの?
ブラウザに変わる何かとか。
ネットスケープも変なもん残したもんだよなあ。
0240デフォルトの名無しさん
2013/10/27(日) 00:17:15.12もう歩みを止めるのは無理
0241デフォルトの名無しさん
2013/10/27(日) 00:18:48.53限界が低いから。
ブラウザから大きく踏み出すのは無理だと思う。
0242デフォルトの名無しさん
2013/10/27(日) 00:18:52.05新しい言語を普及させるより早いでしょ
0243デフォルトの名無しさん
2013/10/27(日) 00:20:34.77JSなくなんねーかなってみんな思ってるから。
ウンコを食えるようにとか、余程のウンコ好きじゃないと考えないでしょ。
普通ウンコ好きってないから。
0244デフォルトの名無しさん
2013/10/27(日) 00:20:40.620245デフォルトの名無しさん
2013/10/27(日) 00:20:47.50違う
ブラウザ自体、Web自体が色んな所に進出してきてる
この度OSにも進出してAPI的には出来ないことがないほど揃ってきてる
0246デフォルトの名無しさん
2013/10/27(日) 00:21:25.43だった
0247デフォルトの名無しさん
2013/10/27(日) 00:21:40.32何が嫌いかではなく、何が好きかで自分を語れよw
0248デフォルトの名無しさん
2013/10/27(日) 00:21:57.72俺もそんな感じだわ。
まあでも、JSも糞だな〜って思うわ〜。
0249デフォルトの名無しさん
2013/10/27(日) 00:22:47.35Haskellはいいね。
0250デフォルトの名無しさん
2013/10/27(日) 00:22:54.09参考までにどういう所が何で気に食わない?
0251デフォルトの名無しさん
2013/10/27(日) 00:23:50.63互換性の名のもとに、変な仕様を残している所。
0252デフォルトの名無しさん
2013/10/27(日) 00:24:11.08人間の性質としては分かるけど
プログラマとしては失格だな
■ このスレッドは過去ログ倉庫に格納されています