静的型付け言語の潜在開発生産性は今の100倍 ×2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/06(日) 00:30:02.59これが生産性を上げる最大の方法。
コンピュータは間違わない、同じ事を何度も高速に行える。
その為に、コンピュータがコードの意味を正確に
認識できる方法が必要。実行しないとわからないことは
コンピュータは認識できない。
すなわち静的型付け言語であれば、実行しなくてもわかるので
コンピュータが理解できる。そうすれば様々な
コンピュータの高度な情報支援が得られる。
コンピュータのバックアップを受け、人間の生産性は
限りなく向上する。
静的型付け言語の潜在開発生産性は今の100倍
http://toro.2ch.net/test/read.cgi/tech/1362302249/
0002デフォルトの名無しさん
2013/10/06(日) 00:35:23.66ポジティブな話題話そうぜ
0003デフォルトの名無しさん
2013/10/06(日) 05:59:07.150004デフォルトの名無しさん
2013/10/06(日) 06:05:38.890005デフォルトの名無しさん
2013/10/06(日) 06:51:40.72JSerはJSが関数型を取り込んでるとか云うわりに、関数型について無知すぎる
0006デフォルトの名無しさん
2013/10/06(日) 12:12:29.38無知発見w
書き換えられないと駄目だし、その他の言語も全て書き換えられる。
0007デフォルトの名無しさん
2013/10/06(日) 12:17:59.68JS馬鹿の
外のスコープを参照可能であることとvarのセマンティクスが腐っている事を
混同したアホな議論にいつまで付き合ってやるんだ?
0008デフォルトの名無しさん
2013/10/06(日) 12:37:02.05具体的に
0009デフォルトの名無しさん
2013/10/06(日) 12:49:06.19>書き換えられないと駄目だし、その他の言語も全て書き換えられる。
Haskell
0010デフォルトの名無しさん
2013/10/06(日) 13:08:41.57Haskellは純粋関数型言語なので
変数の書き換えそのものがないだけ。
0011デフォルトの名無しさん
2013/10/06(日) 13:11:18.52言ったからダメなんだろ。
変数を書き換えられる言語であれば、
すべての言語がクロージャーから
クロージャー外の変数を書き換えれられる。
0012デフォルトの名無しさん
2013/10/06(日) 13:12:17.57> JSerはJSが関数型を取り込んでるとか云うわりに、関数型について無知すぎる
関数型を取り込む ≠ 関数型言語
ですよ?
いつ関数型言語になったといいました?
0013デフォルトの名無しさん
2013/10/06(日) 13:30:25.98無知すぎる
0014デフォルトの名無しさん
2013/10/06(日) 13:37:44.000015デフォルトの名無しさん
2013/10/06(日) 14:52:09.19JSの場合関数型「スタイル」っぽくも書けるってだけのこと
0016デフォルトの名無しさん
2013/10/06(日) 16:28:55.18まさかコールバック地獄を関数型スタイルだと思ってんの?
0017デフォルトの名無しさん
2013/10/06(日) 16:52:19.10凄い執念だぁ
0018デフォルトの名無しさん
2013/10/06(日) 17:12:15.39めっちゃ頻繁に上書きしたいわー
上書きにvarとか必要になったら面倒でプログラミングにならんわー
ってのがJSerの主張でしょ?
0019デフォルトの名無しさん
2013/10/06(日) 17:17:42.53架空のJSer叩きっすかw
0020デフォルトの名無しさん
2013/10/06(日) 17:22:56.54varを付けた場合と付けない場合の振舞いは
逆の方が良いね
0021デフォルトの名無しさん
2013/10/06(日) 17:40:17.18意味がわからん。
varって変数宣言だぞ?
varを付けた時と付けない時が反対って、
お前、 varを付けなかったら、
変数宣言してないのに
変数が勝手に宣言されるってことか?
変数名間違ってもエラーにならないってことなんだが。
0022デフォルトの名無しさん
2013/10/06(日) 17:42:40.03未使用変数をリアルタイムで色付けしてくれるタイプの
0023デフォルトの名無しさん
2013/10/06(日) 17:45:51.65名前間違ったら、未使用変数ではなくなってしまうよな。
0024デフォルトの名無しさん
2013/10/06(日) 17:46:39.23よく考えろよ
0025デフォルトの名無しさん
2013/10/06(日) 17:49:07.12他から一度も参照されてない変数に色付けする機能があるんだよ
varとか関係なく、便利
0026デフォルトの名無しさん
2013/10/06(日) 17:50:00.56var i, j;
k=123;
スペルミスでkという名前を使ってしまった場合、
varを付けたとき変数宣言されるならば、
宣言されてないkを使っている・・・スペルミスだろうと警告できる。
だけどvarを付けなくても変数宣言される場合は、
kを使ってるから、kは未使用ではない。
なんの問題もないと判断してしまう。
0027デフォルトの名無しさん
2013/10/06(日) 17:50:11.33よってvarとかそういうもので何か変わるもんでもない
0028デフォルトの名無しさん
2013/10/06(日) 17:50:47.84>>25を読んでね
0029デフォルトの名無しさん
2013/10/06(日) 17:54:21.820030デフォルトの名無しさん
2013/10/06(日) 17:55:03.85二回間違ったらアウトじゃん?
0031デフォルトの名無しさん
2013/10/06(日) 17:56:17.660032デフォルトの名無しさん
2013/10/06(日) 17:56:35.64グローバルに変数ができることなんて無いよ。
>>29
だよね。ソースコード上は変数が一回しか使われてないように見えても
使っていることだってあるし。
たぶん動的言語を知らないから
思いつかないんだろうな。
0033デフォルトの名無しさん
2013/10/06(日) 17:57:31.79最初の一回目でリアルタイムで色が付くのに、
それに気付かずに二回目も間違えるの?
0034デフォルトの名無しさん
2013/10/06(日) 17:57:43.66x = 1
ってやったらもろxはグローバル変数だろうが
0035デフォルトの名無しさん
2013/10/06(日) 17:58:44.93関数スコープの変数宣言の話じゃないの?
0036デフォルトの名無しさん
2013/10/06(日) 18:01:15.44ちゃんと読んでよね。
$ cat a.js
"use strict"
x = 1;
$ node a.js
x = 1;
^
ReferenceError: x is not defined
at Object.<anonymous> (/tmp/a.js:3:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
0037デフォルトの名無しさん
2013/10/06(日) 18:02:00.42型が動的でもスコープはレキシカルって言語も多いよ
あんまりダイナミックスコープを採用してるメジャー言語って無いんじゃない?
Perl(両方使える)とかEmacs Lispくらい?
0038デフォルトの名無しさん
2013/10/06(日) 18:02:30.53そんじょそこらのエディタのプラグインじゃないだろうし
これからもできないだろう
なんだかんだ言ってやっぱりJSはコンパイルが要らないことを活かして
トライアンドエラーで、ブラウザのコンソールを使ってデバッグしていくしかない
エディタの超高度な支援に期待するのは話がうますぎる
0039デフォルトの名無しさん
2013/10/06(日) 18:03:55.16ブラウザにはデバッガが内蔵されていることも知らんのか?
ブレークポイントもステップ実行もできるぞ。
0040デフォルトの名無しさん
2013/10/06(日) 18:04:11.07お前こそちゃんと読めよ
strict modeじゃない場合の挙動で
varの効果を逆にすればいいみたいなこと言う輩に言ったんだよ
0041デフォルトの名無しさん
2013/10/06(日) 18:05:17.38今はstrict modeがデフォです。
今ではとっくに解決してしまった、
昔の話をいつまでしてるんですか?
0042デフォルトの名無しさん
2013/10/06(日) 18:06:13.560043デフォルトの名無しさん
2013/10/06(日) 18:06:19.72バカはお前だ
当然それも含んでデベロッパーツールのことをIDEとかと対比して分かりやすくコンソールと読んでるいるに決まってるだろうが
言葉の揚げ足取りやめろよ
0044デフォルトの名無しさん
2013/10/06(日) 18:06:32.40天才「strict modeをONにすればいいじゃないですか( ゚∀゚)アハハハハ八八ノヽノヽノヽノ\/\ 」
0045デフォルトの名無しさん
2013/10/06(日) 18:07:10.95コンソールの意味もしらんの?
GUIのデバッガを
お前はコンソールって言うわけ?
0046デフォルトの名無しさん
2013/10/06(日) 18:07:31.60日本語分かんないのか?
話が噛み合ってないぞ
0047デフォルトの名無しさん
2013/10/06(日) 18:08:19.24全然別の問題が並行して議論されてるんですよ
0048デフォルトの名無しさん
2013/10/06(日) 18:08:39.55お前の場合、GDB(デバッガ)をIDEじゃないからという理由で
コンソールっていいそうだなw
0049デフォルトの名無しさん
2013/10/06(日) 18:09:27.39言葉尻を捉えるのはもういいから
勘違いしてた、ごめんねでいいだろ
0050デフォルトの名無しさん
2013/10/06(日) 18:10:13.76勘違いしてたごめんねって誤るのはまだ?
0051デフォルトの名無しさん
2013/10/06(日) 18:11:00.41ここ行け
http://toro.2ch.net/test/read.cgi/tech/1379350030
0052デフォルトの名無しさん
2013/10/06(日) 18:11:40.68誤りでした
勘違いしてたごめんね
0053デフォルトの名無しさん
2013/10/06(日) 18:12:51.92そっちはJS厨に乗っ取られた
0054デフォルトの名無しさん
2013/10/06(日) 18:15:02.48ここでもそうだけど
0055デフォルトの名無しさん
2013/10/06(日) 18:23:49.46evalとかバイトコード書き換えを使う場合を除けば
解析できると思うけどねぇ
eval使って解析できないのは自己責任と割り切る
0056デフォルトの名無しさん
2013/10/06(日) 18:28:02.40言語仕様検討外だからなあ
一応実行時のデバッグサポートについては沢山仕様で入ってるけど
そりゃあ不可能ではないが
JSLintやHintでさえ異常な認識したりするし、現状絵に描いた餅だなあ
0057デフォルトの名無しさん
2013/10/06(日) 18:33:30.28すげえプラス思考
0058デフォルトの名無しさん
2013/10/06(日) 18:38:44.38もしくはそうじゃなくても日常的にWebは皆触れてるし、
大企業が絡んでるのも合って公平に見てもJSが最も話題にしやすい言語かと
HTML5とES6の勧告が来年に控えてる今だからってのもあるけど
0059デフォルトの名無しさん
2013/10/06(日) 18:42:00.43クライアントでJavaScriptを使う、みたいな人が多いだろうから他の言語との比較で色々
話題や不平不満も出てくるんじゃ無いのかな。
言語Aでの作業から言語Bへの作業にスイッチした時に「言語Aではxx出来るのにむき〜」
と感じる場面が自分は時々あるけれども、JavaScriptも例外じゃない。
0060デフォルトの名無しさん
2013/10/06(日) 18:47:10.91WebAPIを含めれば毎日何らかの新しいことがあるだろう
個人的にはやっぱりES6で歴代のバージョンUPと比較できないほど
大きく変わるっていうのにワクワクしてる
0061デフォルトの名無しさん
2013/10/06(日) 18:51:15.380062デフォルトの名無しさん
2013/10/06(日) 18:56:44.770063デフォルトの名無しさん
2013/10/06(日) 19:04:14.60http://www.youtube.com/watch?v=z2qK2lhk9O0s
みんなで選ぶニコ生重大事件 2012
http://vote1.fc2.com/browse/16615334/2/
2012年 ニコ生MVP
http://blog.with2.net/vote/?m=va&id=103374&bm=
2012年ニコ生事件簿ベスト10
http://niconama.doorblog.jp/archives/21097592.html
生放送の配信者がFME切り忘れプライベートを晒す羽目に 放送後に取った行動とは?
http://getnews.jp/archives/227112
FME切り忘れた生主が放送終了後、驚愕の行動
http://niconama.doorblog.jp/archives/9369466.html
台湾誌
http://www.ettoday.net/news/20120625/64810.htm
0064デフォルトの名無しさん
2013/10/06(日) 19:56:54.770065デフォルトの名無しさん
2013/10/06(日) 21:36:18.25どうやったら解消できますか?
0066デフォルトの名無しさん
2013/10/06(日) 21:44:34.02というか言語の生産性にそこまでの差なんて無いと思うけど
それDOMがつまらないってだけじゃない?
もちろんスクリプト言語なんだから環境によってぜんぜん違う
UnityのJavaScriptなんてまるっきり別物だし
0067デフォルトの名無しさん
2013/10/06(日) 23:16:15.44>静的型付け言語の潜在開発生産性は今の100倍
なるほど、今の静的型付け言語は、動的言語の/100の能力って事だな。
スレタイは一見、静的言語を褒めてるように見せてるけど、実は動的言語(´∀`∩)↑age↑なんだよね。
当面は動的が有望と。
0068デフォルトの名無しさん
2013/10/06(日) 23:28:34.07コア数が増えサンプリング推論技術が高まるほどより動的な言語に有利
0069デフォルトの名無しさん
2013/10/06(日) 23:33:52.61> >静的型付け言語の潜在開発生産性は今の100倍
>
> なるほど、今の静的型付け言語は、動的言語の/100の能力って事だな。
なんでこんなに馬鹿なんだろう?
論理学の勉強したこと無いのかな。
馬鹿にも分かりやすくたとえてあげよう。
フリーザ「私の戦闘力は今の100倍だ」
ヤムチャ「ということは俺の1/100の戦闘力って事だな」
0070デフォルトの名無しさん
2013/10/06(日) 23:35:00.24とある辺りで例えてくれ
0071デフォルトの名無しさん
2013/10/06(日) 23:41:08.74でも俺の親でも知ってるし、
だとしたら、70代以上か?
0072デフォルトの名無しさん
2013/10/06(日) 23:43:17.610073デフォルトの名無しさん
2013/10/06(日) 23:44:59.16動的言語なんて他にもいろいろあるのに
0074デフォルトの名無しさん
2013/10/06(日) 23:47:39.680075デフォルトの名無しさん
2013/10/06(日) 23:54:31.22本当に一つしか知らないからこんなレスにも反応してしまうし、
そう思考停止してるから与えられた環境で満足してしまう
それがJS使いの平均だと思われるのが本当に残念だ
0076デフォルトの名無しさん
2013/10/06(日) 23:55:41.09お前誰にレスしてるんだ?
いきなり出てきてわけのわからんこと言うなよ。
お前の人間性が問われるところだぞ。
0077デフォルトの名無しさん
2013/10/07(月) 01:16:50.670078デフォルトの名無しさん
2013/10/07(月) 01:46:28.22100倍もあるなら何故すぐ発現させないんだ?ってところだろ。
いつまでたっても発現しない「潜在性」に縋るのは単なる厨か信者だしな。
0079デフォルトの名無しさん
2013/10/07(月) 01:50:00.70株価は3倍、国民所得は2倍に!
0080デフォルトの名無しさん
2013/10/07(月) 09:12:15.81> 100倍もあるなら何故すぐ発現させないんだ?ってところだろ。
ツールとか技術がまだ確立されてないから。
すぐに出来ると思うなよw
0081デフォルトの名無しさん
2013/10/07(月) 09:19:38.08と建設的な質問をしてみる
0082デフォルトの名無しさん
2013/10/07(月) 11:05:44.53DDLを定義変更したら自動でモデルクラスが再生成されるとか
もう既にあるんだろうけど
0083デフォルトの名無しさん
2013/10/07(月) 15:24:23.75そもそも言語にそんな差があるとは思えない
純粋関数型は特殊さがいろいろあるけど、静的か動的かくらいでねぇ
0084デフォルトの名無しさん
2013/10/07(月) 16:44:03.54じゃあ動的言語も、ツールとか技術が確立されたら、静的言語を軽く超えるな。
0085デフォルトの名無しさん
2013/10/07(月) 18:39:43.99ポリフィルに凄い大活躍すること間違いなし
0086デフォルトの名無しさん
2013/10/07(月) 20:06:59.73これで静的も動的も仲良くなれる
0087デフォルトの名無しさん
2013/10/07(月) 20:39:00.130088デフォルトの名無しさん
2013/10/07(月) 20:54:13.50JavaScriptの型推論には期待出来ない
0089デフォルトの名無しさん
2013/10/07(月) 21:14:41.66実行時には何の効果も及ぼさないよ
JSのエンジンの型推論は普通に協力
だからこそあの速度を維持できるんだからね
0090デフォルトの名無しさん
2013/10/07(月) 21:37:40.210091デフォルトの名無しさん
2013/10/07(月) 21:42:52.87簡単に数値化と文字列を間違えるようなウンコな型推論じゃ
全く効率的では無いだろうね > TypeScript
0092デフォルトの名無しさん
2013/10/07(月) 21:57:02.850093デフォルトの名無しさん
2013/10/07(月) 22:00:54.71>>6で知ったかして恥かいたばかりだろJSerは
0094デフォルトの名無しさん
2013/10/07(月) 22:02:46.11オーバーフローが気になる固い数値型は要らなくて
JSとかDartとかみたいに自動スケーリングのほうがいいと思う
0095デフォルトの名無しさん
2013/10/07(月) 22:04:43.82エディタの表記が間違うのはエディタのせいであって言語の間違いではない
全てはTSの仕様通りですがなにか?
0096デフォルトの名無しさん
2013/10/07(月) 22:08:49.19> function g() : number { return ((x,y) => x + y)(1, "Hello World"); }
> の戻り値は "1Hello World"
0097デフォルトの名無しさん
2013/10/07(月) 22:19:23.80TypeScriptの型指定は実行時は関係ない
IDEのサポートのためのものでしかない
0098デフォルトの名無しさん
2013/10/08(火) 00:24:47.80> じゃあ動的言語も、ツールとか技術が確立されたら、静的言語を軽く超えるな。
それはないよ。
動的言語の定義により、
「実行するまで状態が確定しない」
故に実行前に知ることが出来ない情報が多い。
0099デフォルトの名無しさん
2013/10/08(火) 01:24:19.23実行時も開発環境に気楽に入れれるから
状況が違う
0100デフォルトの名無しさん
2013/10/08(火) 01:38:39.24おいおい、実行って一度実行すれば
いいってもんじゃないぞ。
実行しないと状態が確定しないというのは、
一度実行しても違う実行パターンがあるならば
状態が確定しないということだ。
すべての実行パターンなんて、想定不可能なわけで
事実上いくら時間があっても、状態は確定しないってことだぞ。
0101デフォルトの名無しさん
2013/10/08(火) 01:42:04.10微々たるもんよ。
■ このスレッドは過去ログ倉庫に格納されています