13/12/01 19:20:38.91 .net
>>423
「型がない」なんて言ってる時点で、型に関する知識が初心者レベルなのが丸わかりw
静的型言語を使っているからバカになったのか、
それともバカだから静的型言語を使っているのか。
どっちにせよ、静的厨はバカw
427:デフォルトの名無しさん
13/12/01 19:21:20.90 .net
>>425
しかし、具体的に出された例には「0」と書いてあって、
それを章番号かもしれないなんてキチガイ丸出しのバカがおまえ。
428:デフォルトの名無しさん
13/12/01 19:26:27.05 .net
>>420
ちゃんと読む。下の二つでは大差があるのかと説いたわけで。
> var index = 0 // 0..(users.length -1)
> int index = 0; // 0..(users.length -1)
大差あるの?
429:デフォルトの名無しさん
13/12/01 19:28:39.41 .net
>>426
変数に型がないのは間違ってないだろ?
430:デフォルトの名無しさん
13/12/01 19:29:10.53 .net
>>427
へぇ、じゃあ、1って書いてあったら
どうすんの?
431:デフォルトの名無しさん
13/12/01 19:30:26.99 .net
>>416
ローカル変数までコメント付けるなんて条件のほうが非現実的
がんばって全部文章でこと細かな説明つければそりゃどんな言語だって分かりやすくなるわw
普通はそんな手間かかることしないよね
ごく一般的なプログラムのコメント濃度だと静的型のほうが説明的になるのは間違いない
432:デフォルトの名無しさん
13/12/01 19:33:02.41 .net
つまり、コメントを書かないですむということは、その程度の手続きの羅列
ってことなのですよ。
ほとんどのアルゴリズムは本一冊で足りないくらいの説明が必要ですからね。
つまり、馬鹿が講釈たれてる図式なんですよ。
手続きの羅列で満足なら自分の中で満足するべきで、「手続きの羅列以外
認めてはならない」みたいな変な啓蒙しちゃいけないんですよ。
433:デフォルトの名無しさん
13/12/01 19:35:08.96 .net
静的型だって型が文脈的に自明なところは型推論で型宣言をすっ飛ばす流れだから似たようなもの。
動的型だってまずは文脈的にわかりにくかったり特に大事な部分からコメントをつける。
434:デフォルトの名無しさん
13/12/01 19:38:32.31 .net
つまりですね、JS以外はみんな糞言語ってことです。
動的とか静的なんて関係ないんです。
435:デフォルトの名無しさん
13/12/01 19:49:24.64 .net
JSはともかく動的静的関係ないのはそうかな。
どちらでも配慮すれば理解しやすいコードは書けるし手間も大差ない。
手間に差があるとしても型付け以外の要素が大きい気がする。
436:デフォルトの名無しさん
13/12/01 19:51:51.32 .net
コメントを書くなと言ってた馬鹿は静的がその点で優れていると
述べてましたよね?
437:デフォルトの名無しさん
13/12/01 20:11:30.16 .net
>>432
>ほとんどのアルゴリズムは本一冊で足りないくらいの説明が必要ですからね。
完全にアホバカだな。
ほとんどのアルゴリズムは1~2ページだろ。
438:デフォルトの名無しさん
13/12/01 20:16:12.93 .net
>>432はバカでわからず屋だから本一冊の説明が必要なのかもしれんね。
439:デフォルトの名無しさん
13/12/01 20:41:00.79 .net
>>417
例外発生させてそのあとどうするの?
バグってるので、アップデートしてね ってか? (w
440:デフォルトの名無しさん
13/12/01 20:52:20.05 .net
>>436
> コメントを書くなと言ってた
誰の話?
お前、脳内で仮想敵作りすぎだ。
ああいったに違いない。
こういったに違いない。
ああいった。
こういった。
ムキーッって
自分でかってに苛ついてるだろ。
馬鹿じゃん?
441:デフォルトの名無しさん
13/12/01 20:54:09.77 .net
コメントがなくても読みやすいコードを書け
↓こういう話を
それはコメント書くなって意味だろ!
↑こういう風に解釈するバカが居るんですよね。
442:デフォルトの名無しさん
13/12/01 21:07:53.21 .net
どうせ初心者にありがちな
一行ごとにコメント書くようなやつなんだろ。
変数の定義のたびに、何とかを入れた変数とか
書いてるんだぜ。
443:デフォルトの名無しさん
13/12/01 21:18:38.26 .net
自然言語でまともに会話できない醜態をさらしつつ
コメントについて議論のような何かをするスレ
444:デフォルトの名無しさん
13/12/01 21:19:25.55 .net
誰もコメントを否定してないのに
なんか勘違いして一人で熱くなってるんだろw
445:デフォルトの名無しさん
13/12/01 22:11:37.78 .net
>>433
静的ならIDEが型を解決できるから補完したりマウスのせて型見たりできるし
446:デフォルトの名無しさん
13/12/01 22:34:03.86 .net
>>437
手続きの羅列をアルゴリズムと呼ぶのは、小学生までです。
447:デフォルトの名無しさん
13/12/01 22:38:14.16 .net
普通のソフトウェア開発の場合、
アルゴリズムが全体の8割以上を占める。
○か×か
448:デフォルトの名無しさん
13/12/01 22:38:56.16 .net
アルゴリズムってのは普通ライブラリ化するだろ?
449:デフォルトの名無しさん
13/12/01 22:40:07.48 .net
手続きの羅列程度のものに
コメントが必要な時点で
おかしいんだよな。
450:デフォルトの名無しさん
13/12/01 22:47:40.04 .net
人間は計算が苦手だったから徹底的に最適化しないと計算できなかったが
コンピュータは小学生並みの最適化でも計算できてしまうことが多い
451:デフォルトの名無しさん
13/12/01 22:55:05.79 .net
型推論っていうのは、
動的型付けの型なし変数と違う。
一見同じように見えるが、型推論のほうが
高度な機能を有している。
型推論というのは、静的に型を推論するから
その型に矛盾が生じた時に実行を待たなくとも検出できるし
コード補完も正確に行える。
これは動的型付けに比べて明らかなメリット。
452:デフォルトの名無しさん
13/12/01 23:00:01.30 .net
Haskellが <T> を書かなくていいのは書かなくても補完できるからなんだよな
逆に <T> を書かされる言語は、補完できてないから書かされている
453:デフォルトの名無しさん
13/12/01 23:01:05.70 .net
そんな当たり前のことを今さら説明して何がしたいん?
454:デフォルトの名無しさん
13/12/01 23:09:14.99 .net
>>452の間違い訂正
Haskellが <T> を書かなくていいのは書かなくても推論できるからなんだよな
逆に <T> を書かされる言語は、推論できてないから書かされている
455:デフォルトの名無しさん
13/12/01 23:10:09.36 .net
Haskellが優れているのは分かるんだけど、
仕事で実際に使うというのは現実的には難しい
一方、選びやすいJavaやC#は冗長すぎてゴミなので
RubyやPythonの方がマシってことになる
難しいもんだね
456:デフォルトの名無しさん
13/12/01 23:10:40.93 .net
別に冗長過ぎないと思うが?
457:デフォルトの名無しさん
13/12/01 23:11:49.65 .net
コメントを書かずに済むのは手続きの羅列だから。
458:デフォルトの名無しさん
13/12/01 23:13:17.58 .net
型推論とテンプレート(ジェネリック)は別なんじゃ…
459:デフォルトの名無しさん
13/12/01 23:13:37.81 .net
JavaやC#が冗長といっても
開発時間に影響するほどのもんでもないしな。
100行未満の小さいプログラムでなら
簡単に作れるかもしれないけど、
大規模アプリになると、そんな些細な冗長性は
その他の本質なコードによって相対的に見えなくなる。
460:デフォルトの名無しさん
13/12/01 23:15:24.24 .net
「コメントを書かなくていいようなコードを書きなさい」
↑
手続きの羅列に限定しなさいって意味。
まじマシンの下僕。
スカイネットに寝返った人類の敵。
しかもなんか偉そうに述べてくるのがまじわからん。
461:デフォルトの名無しさん
13/12/01 23:15:32.38 .net
>>457
お前、何回同じアルゴリズムを
再発明してるんだ?w
一度書いたアルゴリズムは、もう二度と書かなくていいように
ライブラリにしないとダメだよ。
462:デフォルトの名無しさん
13/12/01 23:17:00.28 .net
聞いた話だが、
コボラーとか同じマッチング処理(アルゴリズム)を
何回も再発明しているらしい。
普通に考えれば、リスト1とリスト2を
与えれば、結果を出す関数を作ればいいだけなのにね。
463:デフォルトの名無しさん
13/12/01 23:21:13.26 .net
型があればコメントを書かなくていいとか言ってなかったっけ?
464:デフォルトの名無しさん
13/12/01 23:21:51.46 .net
複雑なものを書くのが俺の仕事だみたいな感じなんだろうね。
それを効率化して簡単に読みやすくかけるようにしたら、
それの仕事を取るなって怒るのだろう。
まあ老害ってやつだね。
465:デフォルトの名無しさん
13/12/01 23:24:13.66 .net
>>463
スレに記録残ってるんだから、
そのリンクを示せばいいだけだろ。
見つかんないから、そうやってとぼけてるんだってわかるけどねw
ちなみに、お前の質問の答はNOだ。
誰もコメント書かなくていいなんて言っていない。
型情報はコードで書けばいいのだから
コメントに型情報を書く必要がないと言ってるだけ。
まさか、これを見て、コメント書かなくていいなんて
思わないよね?
466:デフォルトの名無しさん
13/12/01 23:26:03.52 .net
きっと、コメントに型情報だけを書いていた人なのだろう。
だから型情報をコメントに書かなくていいと言ったら
コメントに書く情報がなくなるじゃないかって思う。
467:デフォルトの名無しさん
13/12/01 23:29:38.68 .net
文字列しか型のないtcl最強だな
468:デフォルトの名無しさん
13/12/01 23:32:02.97 .net
動的型付けのメリットってなんかあるの?
469:デフォルトの名無しさん
13/12/01 23:32:59.02 .net
短いプログラムに限って
470:デフォルトの名無しさん
13/12/01 23:35:10.62 .net
>>458
むしろ型推論はジェネリックの方がデフォルト
型を特定できた場合以外はすべてジェネリック型になる
471:デフォルトの名無しさん
13/12/01 23:36:09.04 .net
変数宣言が楽
型推論使えば意味ないか
最近は動的でもIDEで予測変換出てきて便利です
静的の方が進化してる感じはあるけど
472:デフォルトの名無しさん
13/12/02 00:10:15.31 .net
コメントがなくてもわかるような
コードを書けってきかない?
473:デフォルトの名無しさん
13/12/02 00:15:37.24 .net
コードで説明できないからコメントで説明するんだろうね
プログラマとはプロのグラマーだよね?
プロと名乗る以上はコードできちんと説明できないといけないね
コメントを書いていいのはアマチュアまで
474:デフォルトの名無しさん
13/12/02 00:21:24.45 .net
「コメント」の指す意味が交錯してる
ドキュメントの関数定義に付与されるドキュメンテーションコメントと、
コード中に必要に応じて書かれるコメント
前者を省くのはプロでも不可能
475:デフォルトの名無しさん
13/12/02 00:26:00.91 .net
コメントは核と同程度の危険性を持つ
出来るだけ書かないほうがいい
476:デフォルトの名無しさん
13/12/02 00:55:46.15 .net
Skydrive
477:デフォルトの名無しさん
13/12/02 01:32:34.11 .net
1年後に自分のコードを見たときわけわからんということが無い程度にはコメント書いとけ。
478:デフォルトの名無しさん
13/12/02 02:02:36.99 .net
コメントがなくてもわかるような
コードを書けってきかない?
479:デフォルトの名無しさん
13/12/02 02:04:01.23 .net
つまり、手続きの羅列以外書かないことが重要なのです。
480:デフォルトの名無しさん
13/12/02 03:15:34.36 .net
>>460
何をやっているのか関数名として書くだけ。
481:デフォルトの名無しさん
13/12/02 06:57:20.60 .net
コメントに似てる方が負けというルールなら
宣言を書くよりテストを書く方が勝つんだろうな
482:デフォルトの名無しさん
13/12/02 06:59:56.61 .net
コメント無くてもわかるようなコードにコメント付記するのが最強。
483:デフォルトの名無しさん
13/12/02 07:18:17.44 .net
冗長でも元気イッパイなのはよいことだ。
484:デフォルトの名無しさん
13/12/02 09:56:46.84 .net
失業しますた
485:デフォルトの名無しさん
13/12/02 13:40:47.97 .net
JSerなら引く手数多だから大丈夫でしょう
486:デフォルトの名無しさん
13/12/02 18:06:44.57 .net
コメントがなくてもわかるような
コードを書けってきかない?
コメント書くのは素人
487:デフォルトの名無しさん
13/12/02 18:08:29.61 .net
ドキュメンテーションコメントは書きますし
普通のコメントはたまにしか書かないけど
488:デフォルトの名無しさん
13/12/02 18:12:13.92 .net
初心者はコメント書いても仕方ないんじゃないかな?
489:デフォルトの名無しさん
13/12/02 18:14:09.37 .net
そうか、静的型付言語なんか使っていると
動的型付言語には型がないなんて
バカ丸出しのキチガイ発言をしてしまうほど
頭が悪くなってしまうんだな…かわいそうに…
490:デフォルトの名無しさん
13/12/02 18:19:55.08 .net
補助輪説何度見ても吹くわ~
491:デフォルトの名無しさん
13/12/02 18:26:03.51 .net
コメントを有料化すればコード品質が上がるかもしれんね
コメントを書いたら一行当たり1万円の罰金とかね
492:デフォルトの名無しさん
13/12/02 18:27:26.91 .net
コメントのない保守不能なプログラムができるだけだと思う
493:デフォルトの名無しさん
13/12/02 19:05:57.10 .net
ネーミングマジックで何とかならないの?
保守不能というとイメージ悪いから、コードダンジョン~魔界の迷宮III~
とか名づければかっこよく見えるでしょ。
494:デフォルトの名無しさん
13/12/02 19:16:36.18 .net
スパゲティパーソン~人と家族の物語~
495:デフォルトの名無しさん
13/12/02 19:29:48.61 .net
ネーミングマジックの効果って結構あると思うんだよ。
例えば帰宅して「今日はコードダンジョンやっつけてきたよ」っていうでしょ。
すると「お疲れ様、楽しかった?」ってなるでしょ。
意図せず余裕のある大人を演出できてるコレ。
これが「保守不能と格闘してきた↓」だと、奥さんもかわいそうだよね。
496:デフォルトの名無しさん
13/12/02 20:25:57.33 .net
地下牢をかっこいいと思うのは中二マジックでしょ
ネガティブな名前がかっこいい
497:デフォルトの名無しさん
13/12/02 20:59:08.77 .net
どうでも良い。
498:デフォルトの名無しさん
13/12/02 22:02:06.71 .net
怠惰は美徳だとかいうアイデアは
100倍じゃなくて-1倍にする習慣がないと思いつかない
499:デフォルトの名無しさん
13/12/03 09:27:16.52 .net
JavaとかC#で馬鹿みたいに長い関数名付けてる事があるけど、
あれなら関数名を短くしてコメント書いた方がマシでしょ
500:デフォルトの名無しさん
13/12/03 09:51:15.71 .net
関数名が長かろうが短かろうが公開メンバのコメントはつける
501:デフォルトの名無しさん
13/12/03 12:08:55.73 .net
>>499
問題はそういうことじゃない
そう思う人と思わない人が混在してごちゃごちゃになること
動的言語ではそういう事態が起きやすい
502:デフォルトの名無しさん
13/12/03 12:12:26.48 .net
俺は俺のためにコメントつけてるぞ。
幾ら短い綺麗なコード書いたって何処かしらでどうしてこういうコードにしたかっていうのを書いときたいのがある。
コメントじゃなくて別ドキュメントでも構わんけど。
503:デフォルトの名無しさん
13/12/03 12:27:08.83 .net
グローバル関数名が長いのはどの言語でも同じ
問題はローカル関数が良いと思う人と思わない人が混在すること
504:デフォルトの名無しさん
13/12/03 19:15:55.38 .net
動的言語で50文字超える関数名とか見たことないけどな
505:デフォルトの名無しさん
13/12/03 19:21:05.37 .net
静的でも50文字越えなんて見たことない
506:デフォルトの名無しさん
13/12/03 19:26:56.24 .net
URLリンク(www.pushing-pixels.org)
507:デフォルトの名無しさん
13/12/03 19:29:30.15 .net
20文字でも長すぎる
508:デフォルトの名無しさん
13/12/03 19:39:15.72 .net
>>506
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
これもう静的言語だから長くなるとかそういう問題じゃないだろ
509:デフォルトの名無しさん
13/12/03 19:51:56.88 .net
InternalFrameが何回あるんだ?
510:デフォルトの名無しさん
13/12/03 20:11:50.28 .net
これに匹敵する長さの関数名を
標準ライブラリに含む
動的言語ってあるの?
511:デフォルトの名無しさん
13/12/03 20:23:37.17 .net
コメントがなくてもわかるような
コードを書けってきかない?
コメント書くのは雑魚
512:デフォルトの名無しさん
13/12/03 20:23:46.89 .net
静的型言語はバカ救済言語だから
そういうバカな名前をつけるバカが一定数混ざってくる
513:デフォルトの名無しさん
13/12/03 20:32:47.76 .net
一定数というわりに
例外でしかないようだけど?
514:デフォルトの名無しさん
13/12/03 21:03:52.92 .net
コメントがなくてもわかるようなコードを書けってきかない?
コメントはコードに情報を埋められない言語の逃げでしかない。
515:デフォルトの名無しさん
13/12/03 21:09:38.60 .net
標準ライブラリではないが・・・
URLリンク(nojiriko.asia)
516:デフォルトの名無しさん
13/12/03 21:23:58.92 .net
XMLコメント書くなって言われたら困る
517:デフォルトの名無しさん
13/12/03 21:37:15.41 .net
API名最長選手権
URLリンク(qiita.com)
518:デフォルトの名無しさん
13/12/03 21:50:34.11 .net
WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10プロパティ
そういや.NETって動的も使えたよね
519:デフォルトの名無しさん
13/12/03 21:51:08.40 .net
型チェックが甘くならないように細かく分類すると
型名が長くなる
静的型のために継承したクラスとオブジェクト指向のために継承したクラスが混在する
520:デフォルトの名無しさん
13/12/03 22:19:55.14 .net
ドカタは長い名前を好むよね
521:デフォルトの名無しさん
13/12/03 22:20:47.64 .net
JSで無名関数が良いのです。
522:デフォルトの名無しさん
13/12/03 22:41:26.76 .net
>>520
山田グレネード・エクストラ・マリリンヌ花子三世とかね。
523:デフォルトの名無しさん
13/12/03 23:11:29.22 .net
>>520
ドカタの逆は短い名前を好むよね。
Perlなんか、$aとか$bが特殊な用途に使われてるし。
他にも$_とか@_とか。名前なんて適当でいいんだよ。
524:デフォルトの名無しさん
13/12/03 23:29:35.07 .net
でも$つけるのめんどくさい
その点Pythonは優れてる
Perlも結構いいと思うけどね
525:デフォルトの名無しさん
13/12/03 23:47:56.07 .net
Perlに至っては$_が省略されることすらあるしな
もはや変数を書かないという
526:デフォルトの名無しさん
13/12/04 09:42:35.75 .net
>>512
俺は事故起こさねーよって言って飲酒運転する馬鹿みたいだな
527:デフォルトの名無しさん
13/12/04 10:54:11.03 .net
安全厨は酒が危険だと言わず自動車が危険だと言う
それは自動車の方がシステマティックだからだ
そもそも実用品ではない酒はシステマティックに説明できない
説明できない存在を認めると、人間の才能がシステムを上回る可能性も否定できなくなる
528:デフォルトの名無しさん
13/12/04 11:44:15.82 .net
>>513
静的言語しか書けないバカは例外なくバカだけど?
529:デフォルトの名無しさん
13/12/04 11:46:32.61 .net
などと1bit脳をさらけ出す発言を繰り返しており
530:デフォルトの名無しさん
13/12/04 11:48:18.11 .net
>>528
そんな奴見たことない
531:デフォルトの名無しさん
13/12/04 12:28:05.26 .net
俺は事故起こさねーよって言って追突されてあぼんする馬鹿みたいだな
532:デフォルトの名無しさん
13/12/04 12:46:48.85 .net
>>531
その馬鹿はどうするべきだったのかね
ポジティブ思考をやめるべきだったのか
思考はやめなくていいけど宣言するのをやめるべきだったのか
533:デフォルトの名無しさん
13/12/04 13:21:24.10 .net
そんなあなたの不安を解消する三井ダイレクト
534:デフォルトの名無しさん
13/12/04 13:46:58.34 .net
C#でプログラミングしていて凄い発見をした。すべてstaticメソッドにするとアホみたいに捗る。
スレリンク(poverty板)
535:デフォルトの名無しさん
13/12/04 13:49:15.46 .net
>>534
今起きたのか?
536:デフォルトの名無しさん
13/12/04 13:53:53.35 .net
いや、ギャラの契約更改に少し時間を取られた
537:デフォルトの名無しさん
13/12/04 13:54:56.91 .net
そうだな。よく見たら1時までしかレスしてないから今起きたってことはないか。
538:デフォルトの名無しさん
13/12/04 14:04:02.95 .net
話は戻るけど
悪名高きコメントの更新漏れは
コード(英語)とコメント(日本語)のコンテキスト切替の
負担が大きすぎるせいで見落としが生じるのではないか
コメントを英語でかこう
539:デフォルトの名無しさん
13/12/04 14:05:21.18 .net
日本人相手だと細かいニュアンスが伝わりにくくなるだけだしコメントの用を成さなくなるだけ
540:デフォルトの名無しさん
13/12/04 15:07:23.66 .net
Well, we should use Himawari and write both codes and comments in Japanese.
541:デフォルトの名無しさん
13/12/04 15:33:14.81 .net
o・ko・to・wa・ri
542:デフォルトの名無しさん
13/12/04 18:49:23.16 .net
コメントは英語で書くべき。
543:デフォルトの名無しさん
13/12/04 18:53:26.46 .net
Konkansuuhakasanwookonaimasu.
544:デフォルトの名無しさん
13/12/04 19:34:26.71 .net
>>542
ロックの歌詞は英語であるべきかという論争を思い出す。
545:デフォルトの名無しさん
13/12/04 22:32:39.95 .net
残念ながら英語は書けない。
書けるのは英語もどきだけだ。
さて、間違いだらけの英語と
日本語。どっちで書いた方がいい?
546:デフォルトの名無しさん
13/12/04 22:51:05.24 .net
>>545
英語もどきでいい、コードが補完してくれる、ハングルで書かれた日には途方にくれる
547:デフォルトの名無しさん
13/12/04 23:25:38.85 .net
>>546
その理屈で言うと、間違ってる日本語でもいいってことになるよ
548:デフォルトの名無しさん
13/12/04 23:29:05.02 .net
すべて絵にしてリンクを書いておけ
549:デフォルトの名無しさん
13/12/04 23:50:11.15 .net
英語もどきを翻訳して正しく訳せることはない。
一体誰が読めるコメントなのだろうか。
550:デフォルトの名無しさん
13/12/05 00:08:21.99 .net
自分も同じ間違いをしたことがあれば読める
間違ったことがない奴は何も読めない
551:デフォルトの名無しさん
13/12/05 06:44:30.35 .net
英語でコミュニケーションできない奴にプログラマの資格なし。
552:デフォルトの名無しさん
13/12/05 13:43:22.23 .net
No, you aren't.
553:デフォルトの名無しさん
13/12/05 21:41:04.23 .net
音楽でも資格のない者が演奏することは禁止されてるっぽいからね
そういう風潮なんだな
554:デフォルトの名無しさん
13/12/06 09:39:40.23 .net
動的型言語でプログラムを書く資格のないものが
仕方なく静的型言語を使う
555:デフォルトの名無しさん
13/12/06 09:46:06.78 .net
最近はマスを描くにも資格がいるそうだ。
556:デフォルトの名無しさん
13/12/06 10:40:38.25 .net
マスかき1級
557:デフォルトの名無しさん
13/12/06 13:43:13.42 .net
ね、猫く....
か、描く....
558:デフォルトの名無しさん
13/12/06 14:06:47.25 .net
>>554
ピスト野郎と同じこと言ってんな
559:デフォルトの名無しさん
13/12/06 18:14:08.57 .net
Javaのような静的言語に比べてJSやPHPのような動的言語は習得コストが高い。
しかし、習得後の生産性は動的言語のほうがはるかに高い。
また製品の速度や品質も非常に高い。
つまり、一般的に動的言語を使うべき。
しかし頭が悪い人は習得が難しいので静的言語で我慢するしかない。
560:デフォルトの名無しさん
13/12/06 18:21:38.46 .net
だから技術的には合法だって
コンパイラのお墨付きをもらうのは簡単
難しいのは、コンパイラと無関係なやつらが口を出してくること
561:デフォルトの名無しさん
13/12/06 18:29:04.60 .net
>>559
などとチグハグで噛み合わない内容を並べて平気なプログラマもどきに愛される動的言語をどうぞよろしくお願いします
562:デフォルトの名無しさん
13/12/06 18:45:22.68 .net
静的言語は初心者用。
563:デフォルトの名無しさん
13/12/06 18:46:15.87 .net
静的言語は悪くないよ
機械に仕事を任せたものの不安になって結局人間がああだこうだ言ってる状況が悪い
564:デフォルトの名無しさん
13/12/06 18:54:40.37 .net
何言ってんだかわかんないんだけど?
静的言語が社会悪だってことは学問的に証明されてるでそ。
565:デフォルトの名無しさん
13/12/06 18:55:49.02 .net
学問的www
「学術的」だろ高卒クンw
566:デフォルトの名無しさん
13/12/06 18:56:57.36 .net
中卒に高卒というのはちょっと‥
567:デフォルトの名無しさん
13/12/06 18:57:35.84 .net
まあ一般論としては動的はよりライトな応用分野の方が多いような。
大規模処理やミッションクリティカルな分野にはなかなか食い込めていないのも事実。
568:デフォルトの名無しさん
13/12/06 18:58:37.03 .net
rev.2.
何言ってんだかわかんないんだけど?
静的言語が社会悪だってことは学術的に証明されてるでそ。
569:デフォルトの名無しさん
13/12/06 18:59:39.77 .net
スパコンに投入するジョブはJSが増えてるけどね。
570:デフォルトの名無しさん
13/12/06 19:34:32.59 .net
rev.3.
I don't see what you argue.
It's been scholarly manifested that static-typed languages are social evils,
hasn't it?
571:デフォルトの名無しさん
13/12/06 19:37:15.81 .net
オープンソースじゃないのでやめてください!
著作隣接権を主張します!
572:デフォルトの名無しさん
13/12/06 19:39:12.69 .net
まあTIOBEをみれば歴然だがな
573:デフォルトの名無しさん
13/12/06 19:52:58.02 .net
JSの圧勝だった。
574:デフォルトの名無しさん
13/12/06 19:55:42.88 .net
hoge たたきの次は JS ステマか
575:デフォルトの名無しさん
13/12/06 20:11:37.37 .net
ステマというよりはヨタだけどw
576:デフォルトの名無しさん
13/12/06 20:13:44.40 .net
JSは実行時に最適化するので速いのです。
Cの約二倍速い。
577:デフォルトの名無しさん
13/12/06 22:47:21.50 .net
実行前に最適化したほうが速いよ。
実行時の最適化は毎回やるしね。
578:デフォルトの名無しさん
13/12/06 23:14:03.00 .net
>>577
ネタだろwマジメに答えんなってw
さて、動的押してるフリしてる釣り師諸君に問題です!
V8, Rhino, SpiderMonkyはどの言語で実装されているでしょう?!
perl, rubyはどの言語で実装されているでしょう?
どんな答えがかえってくるかオラわくわくしてきたぞ!
579:デフォルトの名無しさん
13/12/06 23:15:49.37 .net
>>578
Perl 6はHaskellで実装されたね
580:デフォルトの名無しさん
13/12/06 23:22:41.88 .net
>>578
Smalltalk は Smalltalk で実装されてたね
581:デフォルトの名無しさん
13/12/06 23:45:41.21 .net
まあ、javascriptは後方互換性を捨てた方がいいよね
582:デフォルトの名無しさん
13/12/07 01:58:09.04 .net
後方互換性を捨てることで
得られるものを具体的に述べよ。
それをお前は欲しいと思っているはずなんだよね?
583:デフォルトの名無しさん
13/12/07 01:58:50.21 .net
> 後方互換性を捨てることで
> 得られるものを具体的に述べよ。
訂正
後方互換性を捨てないと
得られないものを具体的に述べよ。
584:デフォルトの名無しさん
13/12/07 10:01:09.81 .net
世間の混乱
585:デフォルトの名無しさん
13/12/07 11:52:20.82 .net
無駄なコストを捨てようとしたら
コストとは何かが客観的にわからないということがわかった
586:デフォルトの名無しさん
13/12/07 16:46:56.72 .net
静的型=コスト
ここ大事ですよ。テストに出ます。
587:デフォルトの名無しさん
13/12/07 19:55:54.02 .net
どうせES6以降のコードはES5の実行環境では動かないのだから、use "ES6"とか
オプションつけたら変数スコープも常識的なブロックスコープになる機能が欲しい。
let導入で二種類の変数スコープが併存とか無意味すぎ。
もう今のvar相当はobsoluteで使ったらログに警告吐くぐらいの勢いで良い。
588:デフォルトの名無しさん
13/12/07 20:16:20.87 .net
JSは互換性にも配慮されているので問題ありません。
589:デフォルトの名無しさん
13/12/08 15:40:27.33 .net
低級言語の仕様を変えさせないという目的もある
高級言語を気が済むまで改変させることで低級言語が守られている
590:デフォルトの名無しさん
13/12/08 16:01:49.94 .net
?
591:デフォルトの名無しさん
13/12/08 16:07:17.43 .net
>>587
移行というのは前のをバッサリ切り捨てるやり方じゃダメなんだよ。
いきなり全てを変えるなんて出来やしない
両方共存出来る状態を作って少しずつ変化させていく。
こうやらないとだめ。
> どうせES6以降のコードはES5の実行環境では動かないのだから、
動く。Polyfill系なんかがそう。
動かないのはletなどを使ったES6専用のコードだけ(コンパイルエラーになる)
こうやって、部分的にES6対応コードに置き換えていく。
varに関してもletに単純に置き換えれるように
コードを整理することは可能。これでES6でもES5でも動くコードになる。
これはES6に早い段階から対応していくという方針のやり方。
逆に将来ES6が十分に普及してしまった後にレガシーなES5を移行する。というような場合でも
varとletの両方が使えるならば、徐々にES6コードに置き換えるていくことが可能になる。
592:デフォルトの名無しさん
13/12/08 16:16:41.68 .net
まるでpythonみたい
593:デフォルトの名無しさん
13/12/08 17:28:22.91 .net
昔のことを覚えていなければ、いま新しいことをしているのかどうか分からない
594:デフォルトの名無しさん
13/12/08 17:32:10.28 .net
letは別に新しくともなんともなく単に普通なのであって、varも古い云々以前に単に変なだけ。
特に覚えておく必要も無い。
なのでuse strictの強化版のようなばっさり切り捨てる機能があって良い。
595:デフォルトの名無しさん
13/12/08 19:25:18.31 .net
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
スレリンク(poverty板)
596:デフォルトの名無しさん
13/12/12 22:08:17.68 .net
最強のPythonが動的型言語なので
動的型言語の方が生産性が高い
597:デフォルトの名無しさん
13/12/14 00:49:28.23 .net
普通は文字列は一次元で絵は二次元だけど
「実行しないとわからない」なら時間軸を追加して次元がひとつ増える
三次元は正確に認識できないことがあるので生産性が低い
それは時間軸が原因だともいえるし、絵が原因だともいえる
598:デフォルトの名無しさん
13/12/17 20:07:17.91 .net
オメーらあんまりgdgd言ってっと型に嵌めちまうぞッ
599:デフォルトの名無しさん
13/12/18 02:34:16.63 .net
Pythonも微妙になってきたな。
CG方面でなぜかデファクトだから仕方なく使う感じだ。
600:デフォルトの名無しさん
13/12/18 02:38:51.00 .net
>>591
> 移行というのは前のをバッサリ切り捨てるやり方じゃダメなんだよ。
> いきなり全てを変えるなんて出来やしない
そうとは限らん。そういう場合もあるというだけだ。
破壊的変更と非破壊変更は相互補完の関係にあって、どっちを偏重してもいかんのだよ。
現にMozillaも新言語Rustを作ってるしな。
つかどう見てもES4のときに一度ばっさり互換を切るべきだった。
あれがWeb Platform最大の失敗だったことは、無数のaltJS乱立によって証明済み。
601:デフォルトの名無しさん
13/12/18 03:31:57.85 .net
altJSって、2007年頃のLLブームに乗っかり、
いんぽqのに騙されたバカな魔法少女たちぐらいしか使わないんじゃねーの?
602:デフォルトの名無しさん
13/12/18 07:27:49.18 .net
低能にはJSのウンコさが理解できない
603:デフォルトの名無しさん
13/12/18 17:45:29.98 .net
>>600
> 現にMozillaも新言語Rustを作ってるしな。
Rustへの移行が成功してから言えよw
現時点では前(JavaScript?)のをバッサリ切り捨てて
Rustを作ったが、ほれみろやっぱり移行していないではないか。
という実例になってるぞw
604:デフォルトの名無しさん
13/12/18 17:47:42.68 .net
> つかどう見てもES4のときに一度ばっさり互換を切るべきだった。
ECMAScript 4は互換を切ったよ。
だから仕様もまとまらなかったんだが。
それもまた、互換性をバッサリ切り捨てるやり方は
失敗するという、お前がいいたいのと正反対の実例だな。
605:デフォルトの名無しさん
13/12/18 20:09:07.21 .net
JSは土管なんだから
後方互換性は何よりも大事だよ
606:デフォルトの名無しさん
13/12/18 20:28:41.19 .net
処理系間の互換性が崩壊してる言語で後方互換性がどんな意味を持つんだろうか
607:デフォルトの名無しさん
13/12/18 21:11:41.22 .net
ESがバッサリ互換切り捨てたらバージョン間互換すら出来なくなるよね
608:デフォルトの名無しさん
13/12/18 22:07:24.13 .net
コメントがなくてもわかるような
コードを書けってきかない?
コメント書くのは素人
609:デフォルトの名無しさん
13/12/18 22:13:07.62 .net
>>608
よっぽどのその言葉気に入ったみたいだなw
610:デフォルトの名無しさん
13/12/18 22:20:56.13 .net
コメントの9割は無駄!~アンチプラクティスから学ぶ洗練されたコメントの書き方~ #code #コード
URLリンク(codeiq.jp)
番外編 プログラムのコメントは少なければ少ないほど良い?
URLリンク(www.appresso.com)
先日、日経ソフトウェアで「プログラムのソースコードは20%を切ることが望ましい」
という記事を書きました。また、8月のMIJSでのディスカッションでも議論の中で
同じように「詳細設計書やプログラムのコメントは多い方が良いか、少ない方が良いか」という議論がありました。
この話は、私が大学時代に教官から「以前は、コメント率(ソースコード中のコメントの割合)は
50%を超えていないと品質が低いとされた」という話を聞いて衝撃を受けたことが発端となっています。
私自身は、詳細設計書やコメントは少なければ少ないほど良いと思っていたのに、
「コメント率は50%を超えなければいけない」と言われ、驚いたわけです。その頃は、
自分はプログラムは小学生の頃から趣味で色々と書いていたとはいえ、まだプロとしての
経験がないので理解できていないだけかとも思ったものですが、大学を卒業してプロとしての
プログラマーの経験を10年強積んだ今、以前にも増して「ソースコードのコメント率は
低ければ低いほど良い」という考えが強まっています。
ソースコード中のコメントは多いほうがよいのか、少ないほうがよいのか?
URLリンク(d.hatena.ne.jp)
611:デフォルトの名無しさん
13/12/19 00:03:28.61 .net
コメント率50%とか正気の沙汰ではないな
ソースコードに詳細設計書をそのまま書いてるようなもんじゃん
612:デフォルトの名無しさん
13/12/19 00:11:34.43 .net
コメントを読む必要があるのはソースを読めないから。
つまり初心者。
613:デフォルトの名無しさん
13/12/19 00:16:27.16 .net
テストを徹底すればコメントは必要ない
614:デフォルトの名無しさん
13/12/19 00:17:19.70 .net
テストを徹底するのは不可能
まずこういう前提がある。
615:デフォルトの名無しさん
13/12/19 00:22:10.53 .net
コメントを書く暇があったらコードを書こう
616:デフォルトの名無しさん
13/12/19 00:23:23.85 .net
なぜテストを徹底するのが不可能かというと
その数が極めて膨大になるから。
例えば条件分岐が16個あるとする。
その組み合わせは2の16乗で65536になる。
条件分岐が32個であれば4294967296
1つ1ミリ秒で実行できたとしても50日かかる計算になる。
この全ての組み合わせをテストするのは不可能。
一つのアプリで条件分岐はいくつあるだろうか?
普通は32個よりはるかに大きな数であろう。
だからテストを徹底するのは不可能という結論になる。
テストはその一部しか出来ないのは当然の話。
だからその一部で十分とみなせるようにしないといけない。
そのためにはアプリの作り方と静的なチェックが重要になる。
617:デフォルトの名無しさん
13/12/19 00:26:43.45 .net
Linuxならすべての組み合わせをチェックできる
618:デフォルトの名無しさん
13/12/19 00:53:24.75 .net
>>616
ホワイトボックステストとブラックボックステストの違いくらい知っておこう
基礎知識がない人に限って断定口調で話す傾向があるね
619:デフォルトの名無しさん
13/12/19 00:58:38.89 .net
>>618
ホワイトボックスとブラックボックスの違いを知らないと
思った理由は?
なんでさ、知らないと断定するの?
それに、ホワイトボックス(またはブラックボックス)
だったらなんなのさ?
知らないだろうといっただけで、
お前は意見を何も述べてなよ。
620:デフォルトの名無しさん
13/12/19 01:02:43.76 .net
>>619
雑魚は素直にハイと言っておけば良い
621:デフォルトの名無しさん
13/12/19 01:03:35.09 .net
>>619
テストにはホワイトボックステストとブラックボックステストの二種類がある。
>>616のレスはホワイトボックステストにしか当てはまらないが、
それなのにテスト全体について総括した意見を述べてしまっている。
よってブラックボックステストのことを知らないのだろうと判断できる。
622:デフォルトの名無しさん
13/12/19 01:10:49.95 .net
>>621
ブラックボックステストにも当てはまるぞ。
条件分岐を、チェックボックスと置き換えればいい。
32個のチェックボックスが存在する検索フォーム
例えばこんなのな
URLリンク(www.chintai.net)
テストを徹底するというならば全ての組み合わせを実行しないといけない。
特定の組み合わせでのみエラーが起きるというのは普通に存在する。
623:デフォルトの名無しさん
13/12/19 01:11:50.88 .net
Linuxならすべての組み合わせをテストできます
624:デフォルトの名無しさん
13/12/19 01:26:57.51 .net
>>610
文芸的プログラミングが推奨された時代の話じゃねーの?
てか、サイレントボブみたいにコールグラフ描くツールの使い方おしえろよ
625:デフォルトの名無しさん
13/12/19 02:17:02.59 .net
コメントがなくてもわかるような
コードを書けってきかない?
コメントは
コードに情報を埋められない言語の逃げでしかない。
626:デフォルトの名無しさん
13/12/19 07:49:00.61 .net
名前を変に省略形にしたり、変数がアルファベット1文字だったり、tmpだったり、
さらにそれを同じメソッド内で別用途に使いまわしたり、
1つのメソッドor関数で多くの機能を入れ込んで、さらに上流と下流のコードが混在していて、
どのブロックが上流の下流のどの工程なのか熟読しないと分からないとか、
まあ、「リーダブルコード」を読め、ってことだ。
627:デフォルトの名無しさん
13/12/19 08:00:32.37 .net
まあ業務系は客観的に見て暇な仕事だからコメントをウダウダ書いて暇つぶしする余裕があるww
余裕がないとか言っている奴は隣人や就職希望の奴の仕事を奪って忙しがってる小山の大将(バカ)
628:デフォルトの名無しさん
13/12/19 10:44:02.91 .net
>>616
テスト専門企業のHP見れば判るけど、今はテストケースをどうやって減らすかがノウハウだよ。
629:デフォルトの名無しさん
13/12/19 11:55:30.20 .net
統合環境にはチェックボックスが32個ぐらいあるんだな
シェルだったらコマンドが32個あっても組み合わせた場合の責任はユーザーに転嫁される
630:デフォルトの名無しさん
13/12/19 12:29:13.88 .net
そもそもCPUもディスクもメモリもOSもデバイスドライバもランタイムライブラリもそこまでの品質に達していないからPCごと窓から投げ捨てろ
631:デフォルトの名無しさん
13/12/19 22:37:22.96 .net
LinuxのようなOSSは品質が高い
632:デフォルトの名無しさん
13/12/28 01:17:06.39 .net
Linuxの品質は高いが、OSSは総じて品質が低い
なぜだ?
633:デフォルトの名無しさん
13/12/28 13:55:07.64 .net
ソースを公開する動機は品質向上というより、古いソフトの寿命を延ばすことだから
634:デフォルトの名無しさん
13/12/28 14:02:15.19 .net
数の問題
635:デフォルトの名無しさん
13/12/28 16:50:28.30 .net
おびただしいゴミの山から一握りの大成功だけをもってOSSと呼んでいる
流行に乗って何度もクソを取り上げてもてはやした過去は都合よく忘れている
636:デフォルトの名無しさん
13/12/28 16:55:58.94 .net
業務アプリとかの方がクソっぷりは上だけどねー
いやホントに
637:デフォルトの名無しさん
13/12/29 00:06:12.98 .net
いやいや捨てられて都合よく記憶からも消去されてしまうクソにはおよびませぬ
638:デフォルトの名無しさん
14/01/01 10:16:24.21 .net
今年はC++の1.5倍速いJSが馬のように勝つでしょう(^.^v)
639:デフォルトの名無しさん
14/01/01 10:18:04.91 .net
1.5倍遅いの間違いです
640:デフォルトの名無しさん
14/01/01 10:23:30.46 .net
Smalltalkも遅いしな。
動的言語が速い云々は特定ユースケースに絞った口先ばかりの話ばかりだ。
641:デフォルトの名無しさん
14/01/01 10:39:54.92 .net
まあC#よりは速いんだからJSの速度は認めるしかないわな。
642:デフォルトの名無しさん
14/01/01 11:35:39.56 .net
実際C#と同等に動いてくれるならわざわざネイティブで作らんでもいいんだけどねぇ(´・ω・`)
643:デフォルトの名無しさん
14/01/01 11:40:42.35 .net
ちょっと話変わるけどC#とJSって近いよな
例えばUnityのJSはC#バインディングだし
同じ臭いがする
644:デフォルトの名無しさん
14/01/01 11:49:45.70 .net
>>631-632
バイドゥのIME Shimejiってオープンソースじゃなかったっけ?(w
そして、GoogleはIMEをオープンソースにしていない。
645:デフォルトの名無しさん
14/01/01 13:47:35.88 .net
Googleは情報を集めることを公言してるし、
何と言っても検索で情報を提供してる
またWidevineみたいな情報を閉ざす方にも力を入れてる
Googleは情報の管理人として最も相応しい存在として世界中で認められているので
Baiduの件に比べて問題が少ない
646:デフォルトの名無しさん
14/01/01 14:05:46.10 .net
×問題が少ない
○問題が大きすぎて思考停止している
647:デフォルトの名無しさん
14/01/01 14:19:42.56 .net
自動車の事故と同じ
多大なメリットを提供してくれるGoogle様にはさからえない
648:デフォルトの名無しさん
14/01/01 15:36:11.87 .net
>>641
ネイティブ吐けるC#ってあったっけ?
CLR上でC#を超えるようなJS実装ってあったっけ?
比較対象がおかしいよ
649:デフォルトの名無しさん
14/01/01 16:19:33.35 .net
C#もJSも最終的に機械語になって実行されるんだから何も変わらん
650:デフォルトの名無しさん
14/01/02 01:23:22.20 .net
>>648
あるっちゃいっちゃあるけどな
651:デフォルトの名無しさん
14/01/06 07:35:27.64 .net
静的言語はキャストがめんどうなんだよな。
あんなもの苦痛でしかない。
652:デフォルトの名無しさん
14/01/06 07:58:24.06 .net
>>650
MS社内にあるだけで門外不出なんだろ?
653:デフォルトの名無しさん
14/01/06 08:47:28.73 .net
>>652
いやググれば出てくるでしょ
MonoはC#をネイティブ出力できるよ
654:デフォルトの名無しさん
14/01/06 11:02:24.41 .net
この世はC#を無条件でWindows+.NET+Formsへと脳内変換する視野狭窄なドカタで満ち満ちている
ネイティブなどとほざいても絵空事にしかならない
655:デフォルトの名無しさん
14/01/06 11:12:59.89 .net
>>651
関数型がデフォルトイミュータブルなのと一緒でそれを不自由と見るか保証と見るかはあなた次第。
656:デフォルトの名無しさん
14/01/06 11:52:50.24 .net
わけわからん暗黙変換の方がウザイ
657:デフォルトの名無しさん
14/01/19 01:28:02.63 .net
>>1のコードだと、指摘したい内容に対して微妙に噛み合ってないような
実行前に(変数の)型が決まっているかどうかと
変数に型を持たせられるかどうかは、厳密には別の話だよね
大抵の動的言語は変数に型がないから、端的に示すには十分なんだろうけど
658:デフォルトの名無しさん
14/01/19 15:30:04.45 .net
>>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
659:デフォルトの名無しさん
14/03/09 14:07:19.05 .net
現在プログラム板のID制導入の投票を実施中です
よろしくお願いします
プログラム板 強制ID制導入に関する投票スレ
スレリンク(vote板)
660:デフォルトの名無しさん
14/09/02 15:20:17.74 gs4puFO8.net
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
661:デフォルトの名無しさん
14/09/02 17:12:02.99 bBMTqV7b.net
動的型言語が急激にオワコン化しつつある
まだどっちにもメリット・デメリットがあるだの中立を気取る穏健派気取りも多いが
明らかにそんな段階超えてるっしょ。英語圏でもこんな記事が人気だ。
The abject failure of weak typing(弱い型の惨めな失敗)
URLリンク(techblog.realestate.com.au)
あと、静的型の連中はテスト書かんのか的勘違いしてる動的派たまにいるけどさー
型チェックして、静的解析して、その上でさらにCIもするに決まってるだろw
バグを減らすためのあらゆる手段を各段階に投入するんだよ。
それから、動的型の方が気楽に書けるだの速く書けるだのは妄言というほかない。
コードを実行するよりも前に、テストを走らせるよりも前に一定のバグチェックが働いたほうが
明らかにイテレーションが高速だろうが。常識で考えろ。
プロジェクトの規模が膨らむほど顕著になる。
つかせいぜい数千行で明らかに静的型の方が採算が良くなる。
リファクタリング一つ取ってもどうするつもりなのか。
静的型言語だとガチャガチャ数百行一気に組み換えて
コンパイルエラー何十個か潰して実行したら何の問題もなく動作するというようなことがままあるわけだが
RubyだのJavaScriptだのがメインの連中、そういう快感を知らないし想像もできないのだろう。
静的型で優れたIDEの恩恵をきちんと受ければどれほどの高速コーディングができるかも知るまい。
まして、プログラマは怠惰であるべきだから動的型マンセーwだの
Twitterでアホがツイートしてるのを見たときには
馬鹿じゃねえのかと思ったよ。本気で。
662:デフォルトの名無しさん
14/09/02 18:57:07.42 O0bHgitW.net
>>661
weak typing?
技術用語の使い方も間違えてるバカのいうことなんか放っておけばいいw
663:デフォルトの名無しさん
14/09/02 22:03:49.35 f704CnQ2.net
「静的型言語」と言ってる時点ですでに穏健派の思う壺だよね
不特定多数の言語を指してるから
一つに絞り込む必要性が全く感じられない
複数選択可なら動的型言語も選んでみたくなる
664:デフォルトの名無しさん
14/09/03 17:26:16.99 Nxe4ujmI.net
>>661
Javaって素晴らしいねw
665:デフォルトの名無しさん
14/09/03 18:06:54.24 SBztsgaC.net
動的言語が楽なのは環境作る手間だけであったな
666:デフォルトの名無しさん
14/09/03 21:35:51.41 rgaFaXry.net
TypeScriptみたいに、動的型言語なんだけど、
オプションで型を書いて静的型検査する言語は
どうなんだろう?
667:デフォルトの名無しさん
14/09/04 12:45:33.60 Azi8pMDh.net
言語について静的と言っているのか、型付けについて静的と言っているのか、曖昧な表現を使うな。
「静的言語」か「静的型付き言語」の、どっちかにしろ。
668:デフォルトの名無しさん
14/09/04 14:11:59.28 JrHf8QHD.net
>>666 何を言ってるんだよ TypeScriptは単なるプリプロセッサ。
出てきたJavaScriptが動的言語と言うだけの事
そんな事を言ったら色んな言語がそうできる
C++他からJavaScriptとか(Emscripten)
或は各種動的プログラミング言語のコンパイル版 例えば Python のPypiとか
669:デフォルトの名無しさん
14/09/04 19:50:15.73 pCjEdN1j.net
機械語レベルにまで変換したら、
すべての言語は型情報を持たない。
670:デフォルトの名無しさん
14/09/04 21:10:42.37 LeaFrZaO.net
>>667
スレタイ読めよ
>>669
ハードで型チェックするマシンも(過去には)あったよ
URLリンク(ja.m.wikipedia.org)
671:デフォルトの名無しさん
14/09/05 07:01:12.38 vJ702ivD.net
>>669
byte単位、word単位、dword単位のインストラクションを持つCPUを使う限り
機械語にも型情報がある。
672:デフォルトの名無しさん
14/09/05 07:18:25.88 BiMZcw/Q.net
>>671
データの話だぞ
673:デフォルトの名無しさん
14/09/05 09:11:47.35 kEmuiZox.net
>>671
それは型じゃないな。
ただのビットサイズ
674:デフォルトの名無しさん
14/09/05 20:07:48.66 vJ702ivD.net
>>673
符号の有無もあるぞ。十分にデータ型の条件を満たしているが。
675:デフォルトの名無しさん
14/09/05 21:35:01.68 kEmuiZox.net
符号がついててもビット情報にすぎない。
676:デフォルトの名無しさん
14/09/05 22:22:52.52 vJ702ivD.net
メモリ上のオブジェクトのビット幅と符号等のエンコーディングだけでは型じゃないというなら、
じゃあC言語の型は型じゃないのかよw
677:デフォルトの名無しさん
14/09/05 22:40:11.75 F0C2JJRO.net
BCD はとうの昔に忘れ去られたんだね‥あの系のフラグの上げ下げ、一生わからないだろーなー‥
678:デフォルトの名無しさん
14/09/05 22:44:42.07 w1Ux2akp.net
(どうしよう「ノイマン型コンピュータの最大の弱点はデータとオペランドが
同じメモリ空間に等しく並んでいることだ」なんて基礎中の基礎の議論を
一度も見たことがないような人間がビットはデータだ型だ言っててゲロ吐きそうw)
679:デフォルトの名無しさん
14/09/05 23:01:28.17 BiMZcw/Q.net
>>674
メモリーのビット列見ただけで符号なのかわかるのか?
680:デフォルトの名無しさん
14/09/06 14:00:13.41 ASRhmvFn.net
>>671>>676
同じバイト並びがメモリにあっても、それを読む命令次第でどうとでもなるよ。知っていると思うけど。
だからC言語の型、例えば * (掛ける)を使ったコードがあったら、掛ける数の型に合わせて機械語の命令選ばないと答え無茶苦茶になっちゃうじゃん。
681:デフォルトの名無しさん
14/09/06 19:12:57.93 2eQ4pr9G.net
>>680
で、C言語の型はキャスト次第でどうとでもなるわけだが、
C言語の型は型ではないのかね?
682:デフォルトの名無しさん
14/10/29 15:25:06.29 jBixlkaY.net
ダブルディスパッチなら型そのものに振る舞いを記述する必要はない
683:デフォルトの名無しさん
15/08/16 17:31:30.16 i0k+NpdZ.net
ここ最近の「型」って言葉、人によって指してるものが違うよね
言葉だけひとり歩きしてしまった感じ
このスレで言われているような「型」の認識だと、旧世代的な言語を想像してしまいがちだけど
Haskellの型クラスやScalaのトレイトみたいな、アドホック多相が表現可能な静的型付けのことでしょ
今いろんな人が注目してる「型」ってのはさ
684:デフォルトの名無しさん
15/08/30 06:16:25.67 4622E1Z6.net
ユニバーサル多相からアドホック多相に退化して何がうれしいの?
685:デフォルトの名無しさん
15/12/19 13:37:57.71 a/6r0NiU.net
r、_Lヽ___
/ \
/ \
| __ l___ l
. | /^-⌒ヽ、r-、/-|
| ヽ |
/ ̄ヽ / ___ヽ r .|
ヽ -v | l  ̄|j
ヽ--、、ヽ / ̄ヽ_)
 ̄ー- __/.三l ミl
| ⊥イ _三l ミl
|_ ヘ/ lヽー ァ'
/ l  ̄
| /
ヽ 、
| |ヽ )
/_|/___(_
ゝ ヽ ___っ二l
'┴┴┴'
686:デフォルトの名無しさん
15/12/24 11:22:02.41 oyBoIX3w.net
JSがCより早いとか言ってる奴はキチガイ
インタプリタがネイティブコードに勝てると思ってるの?
687:uy ◆Qawu9.2l1E
15/12/24 15:41:39.04 CtNlYBZF.net
>>686
頭わるそう
688:デフォルトの名無しさん
16/02/26 04:19:03.89 lISTNpjd.net
このスレアホみたいに勢いあったのにあいつらどこ行ったの?
689:デフォルトの名無しさん
16/02/27 03:21:21.06 cL+mZeVp.net
おごれる者も久しからず
ですな
690:デフォルトの名無しさん
16/02/27 07:26:13.09 zwwRZ2hM.net
>680
機械語の命令は変わらないだろ?
量的な扱いが変わるだけで。
691:デフォルトの名無しさん
16/05/01 13:36:46.89 tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラは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的に分散され、特定のサーバーに依存しません
^
692:デフォルトの名無しさん
16/06/02 22:20:49.43 4UxwCTlG.net
廃墟になっててワロタ
693:デフォルトの名無しさん
16/06/24 10:36:21.01 QDx4C0nH.net
まとをえる
694:デフォルトの名無しさん
16/06/27 13:29:19.01 FW1ESxka.net
機械語にも型はあるに一票
特にC/C++のポインタ型なんかは、単なるビット列を、どう見なして
どう解釈するか、という側面がある
だから同じビット列であっても、キャストでどう見なすか、によって
違った演算が行われる
C/C++の型を型と認めるなら、機械語にも型はある
ただし、型の情報はオペコードに埋め込まれている
単なるビット列を何に見なして演算するかという型
695:デフォルトの名無しさん
16/06/27 14:11:41.06 FW1ESxka.net
で、なんでこんな変な流れになってるかちょっと考えたんだけど
型はデータが持っているものだと決めつけている人がいるんじゃないかと
動的型言語であればそうかもしれないが、静的型言語は必ずしもそうではない
かのC言語は、構造体であろうが何であろうが、実行時型情報など持ち合わせていない
C言語の型は、ビット列、メモリブロックをどう見なして解釈するかというだけであり
データ自体にそれが何であるか示す細工はない
このシンプルさが今でも使われている理由(メモリレイアウトがシンプル)
また、Javaであっても基本型のインスタンスは型情報を保持していない
ここが分かってないから、「ただのビット列だろ?型なんか無い」などと変なことを言うのではないかね
696:デフォルトの名無しさん
16/09/02 07:29:22.78 D4RF+Hn1.net
オブジェクトとオブジェクトを足すと何になるんだ?
697:デフォルトの名無しさん
16/09/10 22:17:07.13 vL431mpn.net
何型がきても動くようにしておけばいいのか
698:デフォルトの名無しさん
16/11/12 04:22:45.90 MkVBZpV9.net
急激に過疎ったスレとして資料価値がある
一番勢いあったのがIDなかった時代だというのが興味深い
699:デフォルトの名無しさん
16/11/12 12:30:37.24 v5MvkRT2.net
必死で会話続けようとしてるが誰もついてこないが滑稽
時代に取り残されたものとはこういう人のことを指すのだろう
700:デフォルトの名無しさん
16/11/12 21:53:02.89 6wPviZ3t.net
えええ、そういう意味なの? webサーバー=httpサーバーってことなの
「WEBサーバー」って、いろんな機能が入ったサーバーの総称かと思っていた。
メールサーバーは「メールができるだけだろう」くらいにはわかっていたが、webサーバー
ってのはメールもhttpもsmtpもできるんだろうと思ってた。