1 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 23:40:48.89 ID:FvOeAcfn.net] 前スレ 【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 echo.2ch.net/test/read.cgi/tech/1458955459/
105 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:20:57.60 ID:KsPXMvNv.net] >>102 > 惜しむらくはWindowsでしかまともに動かないこと iPhoneでC#アプリが審査に通るワケ www.atmarkit.co.jp/news/200901/29/mono.html > iPhone向けにC#で書かれたゲームが40本以上存在する―― もう7年も前からこんな状態なのに今頃何をいってんの? あんたが言ってるまともに動かないっていうのはC#という言語じゃなくて Windows向けのライブラリでしょ。 iPhone、Androidで動くゲームの多くがUnityを使って作られているがその言語はC# そしてもう一つのクロスプラットフォームの開発環境のXamarinもC# 今の時代クロスプラットフォームで開発しようと思ったら、 JavaScriptかC#なんだが。
106 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:23:10.02 ID:KsPXMvNv.net] >>104 無いものを証明しろといわれても困るんだがw 差なんてどこを見てもないんだから 何も言えるわけがない。 これは悪魔の証明といわれている類の問題でね。 無いのに比べて有るほうを証明するのが簡単なんだから 有るということを証明しましょうって話。
107 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:32:39.98 ID:DEfYJAZn.net] >>106 そもそもお前、代数的データ型が何か説明出来んの?って話よ これは別に悪魔の証明じゃないぞw
108 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:35:50.02 ID:KsPXMvNv.net] なんでわざわざ遠回りしてるんだ? 本題は開発効率に差があるかどうかだろ? 仮に俺が知らなかったとして、開発効率に差がある事にはならんのだが?
109 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:42:50.22 ID:hjXFmrTp.net] >>108 知らなかったら差がないことも知らないだろ? 知ってるからこそ差がないことが言えるのに
110 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:43:29.05 ID:hjXFmrTp.net] >>105 40本って…そんな誤差レベルの本数の話されてもね
111 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:49:46.06 ID:DEfYJAZn.net] >>108 プログラマは、自分が基本的な知識と思ってる事すら知らない奴の言うことはハナっから信用しない いくら言葉を重ねてもね 残念ながらそんなもんです
112 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:52:42.58 ID:KsPXMvNv.net] >>109 お前、議論ってものが分かってないのか? 反論っていうのは、相手が知らない点、見落としている点を突くことなんだよ。 だから、穴があると思ったらそこを突っつけばいいじゃん? なんで遠回りしてるんだ?って聞いたのは、 穴を見つけたはずなのに、それは穴ですか?って俺に聞いてるからだよ。 俺が穴ではありませんって言ったらお前諦めるわけ? 俺が穴ですっていったら、お前はそこで満足して諦めるわけ? どっちにしろ、お前はその穴を突っつく。 つまり開発効率に差があることを指摘しないといけないんだから さっさと指摘しろって言ってるわけ
113 名前:デフォルトの名無しさん mailto:sage [2016/10/11(火) 23:56:28.84 ID:KsPXMvNv.net] >>110 > 40本って…そんな誤差レベルの本数の話されてもね 7年前の話だぞw 今はゲーム開発で独占的な地位を築いている
114 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 00:00:25.52 ID:u+SfUSoS.net] >>112 簡単じゃん お前はHello World以外のあらゆるシステムで開発効率に差が出ないと言ってるんだから そうじゃない例もちゃんと知ってるんだよな?という確認をしてるだけじゃん そうじゃなかったら「あらゆるシステム」の部分は誤りで、「俺の知ってる狭い範囲のシステムでは」 と言い換えなければいけない な?簡単だろ?
115 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 00:05:38.91 ID:bJD9Q0hO.net] > そうじゃなかったら「あらゆるシステム」の部分は誤りで、「俺の知ってる狭い範囲のシステムでは」 > と言い換えなければいけない やっぱり悪魔の証明じゃんw っていうか「俺の知ってる範囲では無い」と言い換えた所で お前の主張である「開発効率に差がある」は認められないって 分かってるかい? お前がやってるのは裁判で追い詰められた弁護士が、 「あなたこの文書の存在を知っていますか?」 → いいえ知りません → 「以上反論を終わります。」 って言ってるようなもんだぞw それが何かをちゃんと説明しないとお前の主張は認められない。 神じゃないんだからさ、誰でも知らないこと(知ってるけどなw)があるのは当たり前。 「あなたは知らないことが有った!だから俺が正しいことになりませんかね?」 とか当たり前の結論を出して満足してるなよ。 さあ、お前のターンだ。さっさと開発効率に差があることを説明しろ。
116 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 00:08:16.73 ID:bJD9Q0hO.net] 俺だったら、相手が知ってるかどうか確認せずに知らないと決めつけて、 「どうこういう理由で俺の主張が正しい!」って語るだろうなw おそらく言えるほどの主張がないんだろうね。 だから「あなた知ってます・・・かね?」という 弱腰の確認からはじめる。
117 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 00:09:25.62 ID:u+SfUSoS.net] >>115 まーだ分かってないんだな 「お前の知らない範囲のシステム」については「お前は開発効率が変わらないことを知らないだろ?」 と言ってるんだよ 「俺の知らない範囲でもあらゆる範囲で俺の法則が適用できるんだ」なんて理論が通じるとでも思ってんの?
118 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 00:11:52.16 ID:bJD9Q0hO.net] >>117 俺が知らないっていうのなら、俺が知らないことを 言ってみなさいよw 俺が知らないことを指摘することは、 俺が間違っているということにはならのだよ? >>107 でそうお前も認めたしな。 > そもそもお前、代数的データ型が何か説明出来んの?って話よ > これは別に悪魔の証明じゃないぞw 質問が「代数的データ型が何か説明出来んの?」に変わってる。 この質問は言語の違いで開発効率に差があるかどうかの話ではない。 だからどう答えても俺の主張に影響はない
119 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 00:14:19.39 ID:u+SfUSoS.net] >>118 代数型データを知らない以上、開発効率に差がでないなんて一言も言い切れないよな つまり、お前の理論は間違い、それだけ お前が代数型データを知っていて、それを使う範囲でも開発効率が変わらないと説明できるなら お前の理論はその範囲では合ってると証明できる つまり、証明義務はお前の方にあるんだよ
120 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 05:06:31.01 ID:hi5pDFH9.net] >>102 なにいってるんだ?MicrosoftとかC#は後方互換を常に重視してるだろ さすがに互換性のために利便性を捨てるJavaほどではないが、過去のソースやバイナリはほとんどの場合うごく あれで後方互換無視って言ったら数えるほどしか言語残らんぞ マルチプラットフォームもUnityに限ればかなりすごいぞ パソコンから任天堂/ソニーゲーム機、スマホまでなんでも動く ポケモンGoとかもそうだ
121 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 06:17:04.66 ID:36fXw7IK.net] >>120 > C#は後方互換 じゃあ、C++のコードは動くの? 開発言語の後方互換ってそういうことだよね C#の前はJavaなのか。 なら、Javaは動く?
122 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 06:37:27.85 ID:h9K+2gUj.net] >じゃあ、C++のコードは動くの? 開発言語の後方互換ってそういうことだよね そんな解釈してる奴見たことねぇw
123 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 07:01:10.41 ID:NQ8LRzeO.net] >>93 >フレームワークやライブラリが特定の言語でしか整備されていなければでしょw 現実に、今は特定の言語でしか整備されていない。 現在の状況における現実的な議論としては、言語の差かフレームワークの差かはともかく、言語選択によって開発工数に差が出ることは事実。 >特定の言語でしか整備できなければ、言語の差になるが、 >特定の言語じゃなくても整備できるだろうね。 >だからそれは言語の差ではなくて、フレームワークやライブラリの差 「整備できるだろう」という憶測だけで理由が一切示されないまま、直後に「だから」と繋げて結論を断定して終わる論理展開はおかしい。
124 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 09:36:47.16 ID:bJD9Q0hO.net] 特定の言語でしか整備されていないフレームワーク目当てで 言語を選ぶんでしょ? それはフレームワークの選択であって 言語は仕方なく決まっただけだよw
125 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 09:43:32.39 ID:R3I0FCLG.net] そのフレームワークを書いた人間は言語で選んでるんですけど フレームワークが勝手に生えてくるとでも思ってんの?
126 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 09:53:08.98 ID:R3I0FCLG.net] ある種のフレームワークを書こうと思った時、特定の言語機能(例: 代数的データ型)があるかどうかで 書きやすさが全然違うんだよね
127 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 13:08:44.84 ID:hi5pDFH9.net] >>121 ネタか釣りだと思うが、初心者が間違えるとかわいそうなのでマジレスするとそれは後方互換じゃない 後方互換は同じ言語の前のバージョンと互換性のあること C#はいくつかの言語を参考にしているが、まったくの新規の言語なのでC#の前は存在しない
128 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 13:20:34.12 ID:AH5cZ6Nj.net] >>127 ++ ++ が#になったのでは?
129 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:03:52.29 ID:bJD9Q0hO.net] >>125 > そのフレームワークを書いた人間は言語で選んでるんですけど それは言語を選んでいるのであって、開発効率に差があるということではないよ 言語を選ぶ理由はいくつか有る。自分がたまたま詳しかった言語とか フレームワークを作るのに便利なライブラリが有ったとか、 対応しなければならない環境が使える言語がそれしかなかったとかね。
130 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:04:38.80 ID:bJD9Q0hO.net] >>126 > ある種のフレームワークを書こうと思った時、特定の言語機能(例: 代数的データ型)があるかどうかで > 書きやすさが全然違うんだよね だからそう思うならば、その理由を書けばいいだけの話。
131 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:10:11.54 ID:u+SfUSoS.net] > それは言語を選んでいるのであって、開発効率に差があるということではないよ 開発効率に差がないということでもない お前の知らない世界については「開発効率に差があるかもしれない、ないかもしれない、どちらか分からない」 が正しいのであって「差があることが言えてないのであれば差がないということ」という論理は暴論でしかない 差がないことを言いたいのであれば、それを証明する義務はお前にある
132 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:12:35.42 ID:DGH9OdjO.net] >128 それは単にネーミングの話であって ファミコンに対するスーパーファミコンみたいなものだよ
133 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:32:07.73 ID:bJD9Q0hO.net] >>131 > 差がないことを言いたいのであれば、それを証明する義務はお前にある 上の方に書いた。当たり前だが俺が知っている範囲でだ。(知らないことを書けるわけがない) で、お前は俺より詳しくて知ってるんだろう?なら知ってることを書けよ。 俺が証明するとしたら差がないという答えにしかならないんだが分かってるかい? お前のために差があることを俺が証明するわけがないだろうw 差がないと証明する義務はすでに果たした。あとはお前が俺の知らないものを持ってきて 差があると証明してくれるんだろう?早くしろよ。 知らないことを知ることができるとワクワクしながら待ってるんだからさw
134 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:37:37.04 ID:bJD9Q0hO.net] dic.nico video.jp/a/%E7%84%A1%E7%9F%A5%E3%81%AB%E8%A8%B4%E3%81%88%E3%82%8B%E8%AB%96%E8%A8%BC 無知に訴える論証(argument from ignorance)、あるいは無知論証とは、 「Aだという根拠がない。だからAではない」または「Aでないという根拠がない。だからAだ」 というパターンの、「根拠が無いこと」だけを根拠にして何らかの結論を導いてしまう、間違った論理のこと。 なお後述するが、「新しい根拠が無ければ新しい説は言えない」と考えても良い。このほうが、実践的には分かりやすく間違いが少ないだろう。
135 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:39:10.63 ID:u+SfUSoS.net] >>133 > 俺が証明するとしたら差がないという答えにしかならないんだが分かってるかい? 証明できるんならそれでいいんじゃない? > 差がないと証明する義務はすでに果たした まったく果たされていない お前の知らない範囲については以前として「不明のまま」だ つまり、お前の理論は現時点では、「HelloWorld などの俺の知ってる狭い範囲では言語によって 開発効率に差は出ない」ということしか証明されていない
136 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:52:28.37 ID:bJD9Q0hO.net] >>135 で、開発効率に差がないという証明は? お前が言ってるのはAだという根拠がないといってるだけ。
137 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 22:55:42.62 ID:u+SfUSoS.net] >>136 根拠がない以上、「どちらか分からない」が正解になる 「Aである」の根拠がないことを言った結果、「Aではない」になるわけではない 「Aであるかもしれないし、Aでないかもしれない。まだ証明されていない」という状態になるだけ そこから「Aである」ことを主張したいなら、それを証明する義務は「Aである」と言った人間にある
138 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:00:17.34 ID:bJD9Q0hO.net] 俺がわかってる範囲・・・「差がない」 俺が知らない範囲・・・「不明」 結論はこれでいいのかい?w なんか世界中の人をすべて調べないかぎり 卵から生まれた人間がいないとは言い切れない と言ってるようなもんだねw
139 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:01:41.75 ID:u+SfUSoS.net] >>138 それでいい お前の言ってる範囲はごく狭いことだけ認識してくれて、今後その主張をするときは 「HelloWorld周辺の俺が知ってる範囲では」という前提条件を忘れないようにな
140 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:02:54.38 ID:bJD9Q0hO.net] 人は卵から生まれることはないのか? 俺「生まれることはない」 お前「お前の知り合いという狭い範囲で生まれてないからと言って 卵から生まれた人間がいないという根拠はない。 根拠がない以上卵から生まれて人間がいるか?の答えは分からないが正解になる」 わっはっは
141 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:04:02.33 ID:bJD9Q0hO.net] >>139 じゃあ、 俺の知ってる範囲では、差がないというのが事実だし、 俺の知らない範囲で差があるという証拠は一つも出ていない。 ということにするよw
142 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:05:01.44 ID:u+SfUSoS.net] >>140 証明されていない分野については、感覚的におかしかろうとそれが論理というものだ お前はお前の感覚で全分野でお前の論理が成立すると思い込んでるようだが、それは論理ではない 論理は「お前の知ってる範囲だけ」で成立するものだ
143 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:05:46.12 ID:u+SfUSoS.net] >>141 > 俺の知らない範囲で差があるという証拠は一つも出ていない。 差がないかどうかも俺は知らない、という言葉をつけておこうな
144 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:06:02.34 ID:bJD9Q0hO.net] お前「お前の知り合いという狭い範囲で悪魔がいないからといって 世界で悪魔がいないという根拠はない。 根拠がない以上悪魔がいるか?の答えは分からないが正解になる」 幽霊でもバンパイアでも好きなものを当てはめよう!
145 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:08:26.36 ID:u+SfUSoS.net] >>144 うん、それでいいと思うよ 科学者ほど神を信じてるというしな
146 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:10:38.55 ID:bJD9Q0hO.net] 結局、悪魔の証明を言ってるだけか。 議論にならんね。 俺が知らないとすることを知ってるはずなのに、 なんで証明できないんだろうね(笑)
147 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:19:12.98 ID:u+SfUSoS.net] >>146 お前は悪魔の証明の使い方を間違ってる 悪魔の証明は知ろうとしたら知ることができる範囲の証明ができないことは一切言っていない お前は代数的データ型について知ろうとすればできるのにその証明をしようともしていない これは悪魔の証明ではない
148 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:32:12.91 ID:bJD9Q0hO.net] だから代数データ型を知った上で差がないと言ってる。
149 名前:デフォルトの名無しさん mailto:sage [2016/10/12(水) 23:40:45.50 ID:u+SfUSoS.net] >>148 知った上で差がないという説明のレスはどこにあるの?
150 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 06:51:19.28 ID:5Zaj3bBS.net] たとえば、代数的データ型のHelloWorldとも言える木構造データを 生産性に差がない君のよく知ってるRubyで、既存のどんなフレームワークを使ってもいいから 書いてみてもらえば差があるかないかはっきりすると思うよ
151 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 07:34:32.13 ID:eQrSxPiM.net] >>150 やっぱりHelloWorldでしか比べてないじゃんというww そりゃ、簡単なプログラムで差が出るわけないよなー
152 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 07:56:11.59 ID:b9yuDuDK.net] >>124 ポイントをずらした反論で逃げているね。 ・言語(+フレームワーク)の選択によって開発効率に差が出る ・「特定の言語じゃなくても(フレームワークを)整備できる」という主張には何の根拠もない については特に反論しないということでOKかな
153 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 08:30:22.11 ID:YiooIUIr.net] >>151 > 差が出るわけない いや、逆だろ HelloWorldレベルでも歴然とした差が出るんだな これが Rubyじゃ、どうひっくり返ったってシンプルには書けない 書けたっぽくても欠陥だらけ 代数データ型を理解してないとわからんかもしれんけど
154 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 10:15:51.93 ID:J3jF+oV3.net] HelloWorld氏は代数的データ型どころか木構造も分かってなくて、 >>150 を怪しい機能を使ってHelloWorldを書けって要求だと誤解してる予感
155 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 21:59:17.17 ID:xK6BxW94.net] もうそろそろ代数的データ型で差が出るという 根拠をいったかなーと思ったらやっぱり言ってなかったw
156 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 22:00:32.17 ID:xK6BxW94.net] >>150 > 書いてみてもらえば差があるかないかはっきりすると思うよ ならあんたが書けば良いんだよw
157 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 22:05:21.45 ID:xK6BxW94.net] 俺の勝利条件:言語の違いでは開発効率に差がないという結論にすること 俺の敗北条件:言語の違いでは開発効率に差がでると認めること 俺に頑張って調べさせて、開発効率に差が出るという 証拠を見つけさせようとしているようだが、 俺が自分で敗北する努力をする訳がないだろう? 「お前は負けるために努力をしろ!」って言ってるやつって なんなんだろうね。行動が意味不明なんだけどw
158 名前:デフォルトの名無しさん [2016/10/13(木) 22:44:26.61 ID:C+WIXg7a.net] 横レスするけど、なんだかここ数日、変な流れになっているなあ... 代数的データ型を振りかざす彼ら(>>154 ,153,150,147,119,107,99,63,27)、 仮に「代数的データ型君」と呼ぼう で、代数的データ型の定義や利点に関して「代数的データ型君」自身からは何の説明が無いね 個人的には代数的データ型なんて直積と直和を意識したデータ分析/設計だと考えているから、 何をそんなに代数的データ型君が「銀の弾丸」であるかのように騒ぎ立てているのか意味不明 ちなみに、代数的データ型という用語は用いられていないけど、直積/直和/列という データ構造の基本要素を元にした設計手法は1980年代末には国内で登場して一部では普及している ・「標準構造に基づく系統的ソフトウェア設計法 (<小特集>プログラム設計技法)」, 片岡雅憲/金藤栄孝/宮本和靖/山野紘一, 情報処理 Vol.25 No.11 (Nov. 1984) ci.nii.ac.jp/naid/110002720151/ 簡単な解説ならば、上記論文の著者による以下の書籍が参考になる ・ソフトウェア・モデリング―ソフトウェア再利用のための設計パラダイム 単行本 – 1988/9 https://www.amazon.co.jp/dp/4817160160 また木構造や代数的データ型を分かっていて断定的に語るのなら(>>154 )、当然、その原典である 以下の論文くらいは読んでいるんだよね? ・Algebras for Tree Algorithms - Jeremy Gibbons 1991 著者はいわゆる代数的データ型の第一人者で、Haskell界隈で木構造の論文を漁ると必ず行き着く文献だよ
159 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 23:14:36.15 ID:xK6BxW94.net] てすと
160 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 01:12:59.85 ID:JRwX0F1n.net] >>158 代数的データ型を関数型言語(元ネタはOCaml)で書くと効率いいですよ、ってのが >>27 の意見 なんだけど、HelloWorld君はそもそも代数的データ型を知らないので、この分野に関して開発効率の 話はなにひとつ言えないはずなんだよね 言えない以上、開発効率が言語によって変わらないという主張はできないはずなのに、それを 声高に主張しつづけるという論理的に明らかにおかしい状態になっちゃったので、周りのみんなが 面白がって「代数的データ型は?ねえ?どうなの?」ってからかってるのが現状かと HelloWorld君は「言えないけど、差があるという事実がないので差がないことが正しいんだ」という これまたわけの分からない主張を一切変えないのでまったくかみあってないというw
161 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 01:15:29.41 ID:8JWyfknx.net] 効率いいですよっていうだけで、 効率いい理由を言ってない。
162 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 01:24:21.14 ID:JRwX0F1n.net] >>161 変わらない理由も言ってないよね そりゃ、分からない範囲のことは言えないのが当然の話 まずはそこを認めるところから始めないと議論にならないよ
163 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 07:08:23.14 ID:7gx6wu5c.net] absence of evidence is not evidence of absence (証拠の量と結果は比例しません)
164 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 07:43:39.03 ID:8JWyfknx.net] >>162 変わらない理由は上の方で言ってるよ。 それに対して、代数的データ型がある場合は違うって 言ってきてるんだから、なぜその場合だけ違うかを 説明しないとだめ。
165 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 07:45:54.24 ID:JRwX0F1n.net] >>164 君の説明から分かることは「あぁ、HelloWorld君は代数的データ型を知らないんだね」ということ だけだよ まずこの事実を認めよう そこからじゃないと議論は始まらない
166 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 08:41:21.48 ID:AiVbXbyV.net] >>164 「ほら、HelloWorldじゃ言語の差は出ない!証明完了!」って言ってるだけじゃんw なおHelloWorldより難しいプログラムは分からない模様
167 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 08:58:45.24 ID:SNzkHoS8.net] >>165 > HelloWorld君は代数的データ型を知らない もうそこは自明でいいんじゃないかなと思う 本人も>>157 で「頑張って調べ」ないと代数的データ型すらわからないと暗にギブアップ宣言しているし 「敗北する努力をする訳がない」と、代数的データ型を前提とすることで敗北が確定することを 自ら予見できているわけだから
168 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 09:18:34.24 ID:8JWyfknx.net] なんでこう頑なに代数データ型で差がある事を 説明しないんだろう?w 仮に代数データ型が知らないとなったからって 差があることにはならないんだが。 誰でも知らないことが有るわけで、反論っていうのは その部分を突くわけよ。あんたはそれが出来てない。
169 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 09:36:41.21 ID:8JWyfknx.net] もしかして代数データ型君は代数データ型って言葉を 知っているだけで、それを使ったコードを知らないんじゃないかな? そう考えれば、代数データ型でどう開発効率が差が出るかが 言えないのも辻褄が合う。 本当に代数データ型で開発効率に大きな差が出るのなら 他の言語でも対応してるだろうしね。 それからHello Worldの例は、Hello Worldを出力する部分は関係ないよ。 アプリケーションサーバーと連携してルーティングを行ってパラメータを解釈して という内容を書いたら長くなるがフレームワークやライブラリがあるお陰で 本質的な部分だけにすることができる。その本質的な部分はどの言語も 必要最小限になるって話なんだから。それが読み取れないようじゃだめだねw
170 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 09:54:52.55 ID:AiVbXbyV.net] HelloWorld君にとってはHelloWorldが本質なんだねw
171 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 10:04:08.99 ID:d7FBnZt1.net] ここにhogeという(関数型ではごく普通の)言語機能がある hogeを使うと生産効率があがる仕事Xがある ある言語(仮にrubyとしよう)にはhogeがなく、制約からhogeをフレームワーク等で完全にシミュレートすることも不可能 Xにおいてrubyと普通にhogeを装備した言語との間には生産性に差が生じるのは自明
172 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 13:03:12.66 ID:jdu5cZVV.net] これはネットでよく見かける 主張はすれど根拠は示さないパターン さらにいうと なぜか根拠を不思議と出し渋るパターン 代数データ型で効率上がるって言う人の話ね
173 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 13:13:29.24 ID:nMNSKW91.net] >>172 しゃあねぇなあ じゃあ、ここにある評価器とconnection_infoを書いてみてよ ymotongpoo.hatenablog.com/entry/20111105/1320506449 >>27 みたいな仕事はこういった(もちろん。もっと複雑な)評価器を1から書く必要があるからね あとconnection_infoはリンク先の実装と同じく不正な使い方を出来ないようにしてね
174 名前:デフォルトの名無しさん [2016/10/14(金) 14:11:57.58 ID:R0NlyoEI.net] >>140 卵子「...」
175 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 21:53:35.92 ID:8JWyfknx.net] >>170 > HelloWorld君にとってはHelloWorldが本質なんだねw HelloWorldの"部分"が本質なんだよ。 この部分が本質だから、他は変えずに この部分(HelloWorldの部分)だけを変えれば良い。 そしてこの本質的なコードはどの言語でも大差ない。 だから言語によって開発効率に差がないというわけ。
176 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 22:30:50.25 ID:JRwX0F1n.net] HelloWorldみたいなちっちゃいものではちっちゃい差しか見えないもんね
177 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 23:04:30.33 ID:GgR4zu7p.net] >>176 じゃあ、HwlloWorldをオブジェクト指向で作ってみて下さい
178 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 00:57:52.87 ID:zdnRk0/Y.net] >>175 じゃあ>>173 の本質的な部分のコードを書いて 言語で差がないことを示してよ
179 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 15:54:45.64 ID:zdnRk0/Y.net] HelloWorldおじさん逃げちゃった?w
180 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 16:31:49.07 ID:t0okkxEp.net] >>169 フレームワークを用意しなきゃいけない言語とフレームワーク相当の機能がコアに組み込まれてる言語があるから、 フレームワークを用意しなきゃいけない言語はフレームワークを作るコストが上乗せになるよね ってだけの話なのに、君はどうやら、ありとあらゆる問題に対して既に素晴らしいフレームワークが提供されている理想郷に生きているようだ。 仙人か。
181 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 07:59:44.51 ID:ctyreU3P.net] 言語で生産性に差があるって事で決着がついたので、 あらためて良い言語を決めよう
182 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 09:41:12.91 ID:jwQXzgTl.net] >>179 そもそもコード書けるかどうかも怪しいレベルだね。ちょっと本職が突けばこの通り
183 名前:デフォルトの名無しさん [2016/10/18(火) 12:26:33.66 ID:87/Xx6tX.net] ちょっと本職が突けばw
184 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 12:38:42.89 ID:mznmuPbS.net] 結局Javaなんだよなあ
185 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 17:41:42.50 ID:6xf0fQvT.net] Javaなんて10年以上前に捨てました。ファウラーとかが、主婦が家事のウンチク垂れるのと本質的に同じレベルで、無意味な能書き垂れてた頃ね。コードを1文字書くまでに膨大な思案を要求されるようになった。芸術作品じゃないんだから、そんなもん、オワコンでしょ。 JSですよ。突出しちゃって5年以上たつよね。もう比較にならないほど別格。 因みに、nodejsで作った経験ありません。 基本的にpython使ってます。wsgiね、チェインオブなんちゃらパターン。 そんな奴が何でJS押すかって? だって、何も読まずにいきなり作れる自信があるからね。やっぱりブラウザとかWSHで使われてたのは大きいよ、過去に特に勉強したつもりがなくても得意にガンガン書けちゃうよ。俺だけじゃなくたぶんそんな人はゴロゴロいる。
186 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 18:07:44.27 ID:GiAjO0tK.net] Javaというか、多くの昔からある静的な言語が 開発サイクルが非常に速くなっていっている現状で シグネチャの変更スピードについて行けなくなってきている 結果扱いきれてるのは非常に力と資産をもった元請け企業のみで、 下請けはどんどん時代に取り残される悪循環が始まってる そういうところは5年後10年後生き残っては居ないだろう これからは殆どの力なき者にとってはスクリプト言語の時代
187 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 21:36:24.79 ID:2Y34d6Lk.net] >>185 > だって、何も読まずにいきなり作れる自信があるからね。 使い捨てのスクリプトならそうだろうけど ちゃんとしたものを作ろうとしたら大変だよ?(JavaScriptに限らない) まずビルド環境を整えないといけない。 そうしないとテストやカバレッジ測定すらできないから。 ある程度の規模になればフレームワークは必須だけど、 Reactを使うならばBabel(ECMAScript2015〜 + JSX)の導入がほぼ必須。 Angular2を使うならばTypeScript(JavaScriptの上位互換)の導入がほぼ必須 ちなみにECMAScript も TypeScriptもIE6ぐらいの時代のJavaScriptとはぜんぜん違う。 文法はPythonに劣らないどころか超えてると言ってもいいぐらいに改良された。 もちろんその反面、文法だけみると覚えることはPythonよりも多いがw そういった環境でモジュールを使うならばビルド環境に合わせたモジュール管理の仕組みを使う。 簡単に使えるが、環境を整えるまでが大変。 パフォーマンスを上げるために複数のファイルを結合したら圧縮したりするが これまたビルド環境を整えろという話につながる。 大変だがちゃんと整えれば静的解析でリアルタイムにエラーを教えてくれるようにもなる。 atom + eslint で構文エラーやスペルミスをリアルタイムに教えてくれるのは便利。 ここまでやったことないでしょ? つまりあんたが何も読まずに作れるっていってるのは、何も読まずに作れる範囲のことしかしてないからなだけ。
188 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 21:55:55.42 ID:dddY2TDK.net] >>187 HelloWorldより難しいプログラムを作れるようになったか?
189 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 21:56:27.15 ID:GiAjO0tK.net] 文法ねぇ 確かに大規模コードのための文法は着々と準備されていってるね。 でももうずっと思ってるがJSって、例えば連番の配列を作る、みたいな便利系機能や、 各クラスのメソッドが少ないんだよね。 まあ互換性の重要度が高いJSではそういうの増やして 負の遺産を作るリスクを取らないのは正しいと思うけどさ。 ちょっとuserscriptやツールの軽量なスクリプト書こうってときに 一々ライブラリ引っ張ってこないといけないのも困るんだよね
190 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 21:59:43.78 ID:2Y34d6Lk.net] >>189 それもまた「何も見ないで作れる」っていうのが 簡単なことしかやってないだろうなってわかるよねw
191 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 22:37:19.60 ID:5uBe5ZKU.net] >>189 負の遺産ではなくて、言語の仕様に対して実装が多すぎて、仕様を大きく変えても実装がどうせ 追いついてこないという実情があるんだろうね とはいえ Microsoft が古い IE をばっさり切ったのでその辺の事情も変わってくるかもしれない とか言ってるとスマホ全盛時代になって古いスマホブラウザに引っ張られるというこれまた新たな ネックが生じてしまう時代になってしまったのは皮肉というべきか
192 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 23:17:00.33 ID:GiAjO0tK.net] と言っても仕様を決めてるTC39メンバーにはハードベンダーや研究者も居るけど 中核は全員ブラウザベンダーの人達でしょ。 その人達は慎重な面も持つけど消極的というわけではないよ。 ただ、『配列を連番で作る』よりも「WeakRef」やら「SIMD」やら「Atomics」やらの方が 重要と考えているだけだろう。 それと技術的な話だと「標準ライブラリ」の仕組みを整えないといけない。 それにはまず普通のモジュールの仕組みが整うのを待たないといけない。
193 名前:デフォルトの名無しさん [2016/10/19(水) 00:14:59.40 ID:OiCCOICb.net] WEB+DB vol.94 が出た 特集は、Scala, Groovy の対抗馬となる、JVM上で動く、Android用言語、Kotlin JS/HTML/CSSで、デスクトップアプリを作る、Electron
194 名前:158 [2016/10/19(水) 00:15:02.24 ID:SBws4+ZC.net] >>173 結局、>>172 が指摘してるように「主張はすれど根拠は示さない」し 「根拠を不思議と出し渋る」しかないみたいだね おそらく代数的データ型君は「自分の言葉では根拠を述べることができない」んだろな だから、他人の書いた文書のリンク先しか書けない 代数的データ型を分かった気でいるけど実は無知であることを 代数的データ型君本人が自覚できていないんじゃあ、しゃあないわ > じゃあ、ここにある評価器とconnection_infoを書いてみてよ しゃあねえからRubyで書いてあげた https://ideone.com/WpazqE 当然、「connection_infoはリンク先の実装と同じく不正な使い方を出来ない」よ 評価器については、>>173 のリンク先文書にJavaのコードがあるから省略しとく
195 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 00:32:17.20 ID:E+rnGfx8.net] >>194 そのconnection_infoは実行しなくても静的にエラーを弾けるの?静的検査できないなら同等じゃないよ それと、あのJavaの評価器でOCamlと同じ生産性だと思えるなら話にならない。冗長で書きにくいし可読性も最悪じゃん
196 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 00:41:17.08 ID:E+rnGfx8.net] つーか、ConnectionInfoのconnection_stateに何でも値入れ放題じゃん ちゃんと問題理解してる?
197 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 00:49:36.13 ID:E+rnGfx8.net] >>194 https://ideone.com/M3A7QS www
198 名前:158 [2016/10/19(水) 01:34:04.06 ID:SBws4+ZC.net] >>195 ,196 おいおい代数的データ型君達よ、論点を都合良くずらすなよ 今ここで議論しているのは「代数的データ型が生産性に与える影響」だろ? 静的型付けの利点、そしてML/Haskellといったモダンな関数型言語が提供する 完全な型システムとそれがもたらす型推論による簡潔なコードという利点なんて、 とっくの昔から何度もこの板では議論されている訳で、何を今更の話をしてんのよ 結局、代数的データ型君達は、型システムの概念と代数的データ型の概念を ごっちゃに理解して分かった気になっているだけだろ だから代数的データ型の利点に関する根拠として、>>173 のリンク先文書を示して 何の疑問も持たず平然としているんだよ >>196 >つーか、ConnectionInfoのconnection_stateに何でも値入れ放題じゃん 動的型付け言語であっても実行時に型検査はできるよ https://ideone.com/IUv2v2 そして繰り返すけど、型システムの概念と代数的データ型の概念はごっちゃにすべきではない たとえば代数的データ型を備えた動的型付け言語や、型推論の無い静的型付け関数型言語を想像してごらん そういった想定の元であっても明解さを失わない代数的データ型の利点とその根拠を示せと言ってる訳 つーかさ、いいかげん代数的データ型の定義とその利点/根拠を自分の言葉で語ってみろや
199 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 01:40:34.09 ID:OjZ5I+UL.net] え? 普段の仕事で代数的データ型(っぽいこと)を 使うようなことしてないの?俺はしてるぞ。 コードの半分ぐらいは代数的データ型があれば 簡単に実装できる。具体的に言うと
200 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 07:51:06.99 ID:i9OiXSaV.net] >>198 >しゃあねえからRubyで書いてあげた > https://ideone.com/WpazqE >当然、「connection_infoはリンク先の実装と同じく不正な使い方を出来ない」よ >>173 で自信満々にこう書いておいて、指摘されたら慌ててアサーション入れまくるのクソワロタw
201 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 07:52:41.50 ID:i9OiXSaV.net] >>200 あ、間違えた>>173 じゃなくて>>194 だった
202 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 07:56:48.84 ID:kMzukS4D.net] >>198 > 多くの必要な不変条件を型の中に埋め込みました。いまや不変条件は型の一部なのです。コンパイラはこれらの不変条件を破るコードを見つけ、拒否することができます。これは手作業で行う仕事を減らし、手で管理するよりも信頼できます。 ごめん。引用しちゃったw 君の手作業でアサーション入れまくりのコード(いわゆるテストの一種)より静的型検査の方が手間が少なく間違いにくいのは自明ですよ
203 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 08:17:18.72 ID:pQsxuliv.net] どこかの理想の世界ではそうかもしれないけれど 現実アサーションと静的検査は双方補い合うもので、どちらかあれば足りるものじゃ無いでしょ
204 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 08:27:14.32 ID:kMzukS4D.net] >>198 ConnectionInfo.class_eval do def foobar(s) @connection_state = s end end c.foobar("Hello World!")
205 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 08:34:11.07 ID:kMzukS4D.net] >>203 勿論そうだけど、不正な使い方できるコードを自信満々でアップしちゃうくらいには 手動は間違いやすいって事だよ