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
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:s55gxQDX■ このスレッドは過去ログ倉庫に格納されています
