実際にJavaScriptを書いている人の情報交換所です。
プログラミング既習者専用です。初心者の方はご遠慮下さい。
玄人の方、歓迎致します。
探検
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net
1デフォルトの名無しさん
2015/12/07(月) 07:26:33.87ID:NYLGCW0V196デフォルトの名無しさん
2016/05/18(水) 01:11:57.83ID:r9bj4L60 >>195
君の言う問題点とやらを解消するためにはそこまでやる必要があるというお話さ
そしてそんなに難しく考えなくともdoubleとして受け取るのならNumber.MAX_SAFE_INTEGERを超えてないかどうかチェックすればいいだけ
君の言う問題点とやらを解消するためにはそこまでやる必要があるというお話さ
そしてそんなに難しく考えなくともdoubleとして受け取るのならNumber.MAX_SAFE_INTEGERを超えてないかどうかチェックすればいいだけ
197デフォルトの名無しさん
2016/05/18(水) 22:06:18.60ID:Y5c0aQW+ >>196
なるほど、理解した
なるほど、理解した
198デフォルトの名無しさん
2016/05/18(水) 22:43:30.32ID:Y5c0aQW+ 修正版
do {
var n = Math.floor(prompt(Number.MAX_SAFE_INTEGER + '以下の自然数を入力してください'));
if (!n) {
alert('数値となる自然数を入力してください');
} else if (n < 0) {
alert('負の数は指定できません');
} else if (n > Number.MAX_SAFE_INTEGER) {
alert(Number.MAX_SAFE_INTEGER + '以上の数は指定できません');
}
} while (!n || n < 0 || n > Number.MAX_SAFE_INTEGER);
do {
var n = Math.floor(prompt(Number.MAX_SAFE_INTEGER + '以下の自然数を入力してください'));
if (!n) {
alert('数値となる自然数を入力してください');
} else if (n < 0) {
alert('負の数は指定できません');
} else if (n > Number.MAX_SAFE_INTEGER) {
alert(Number.MAX_SAFE_INTEGER + '以上の数は指定できません');
}
} while (!n || n < 0 || n > Number.MAX_SAFE_INTEGER);
199デフォルトの名無しさん
2016/05/18(水) 22:49:59.30ID:JiGf9hjC 誰が完璧な自然数受け付けのロジックを長々と書けといった……
そこまでするなら多長倍数ライブラリ使ったら?
そこまでするなら多長倍数ライブラリ使ったら?
200デフォルトの名無しさん
2016/05/18(水) 23:38:34.48ID:Y5c0aQW+201デフォルトの名無しさん
2016/05/19(木) 03:19:33.36ID:tfaQOE9Q ってか、キャストしてる時点で型がどうのではなく、型変換してるからな。
普通に、/^[1-9][0-9]*$/するのがいいんじゃねーの?入力は文字列なんだから。
どう考えても、Math.floorに文字列を渡す理由にならん。先頭か末尾に空白あるときはどうなるんだっけ?とか悩むじゃん。
integer.Parse通さないと数字にならないどころか、例外すら発生するのがまともな型のある言語。
普通に、/^[1-9][0-9]*$/するのがいいんじゃねーの?入力は文字列なんだから。
どう考えても、Math.floorに文字列を渡す理由にならん。先頭か末尾に空白あるときはどうなるんだっけ?とか悩むじゃん。
integer.Parse通さないと数字にならないどころか、例外すら発生するのがまともな型のある言語。
202デフォルトの名無しさん
2016/05/19(木) 04:45:29.52ID:3i7lekC+ >>201
JavaScriptは型違いをTypeErrorとせず、暗黙の型変換をする言語なんだから型変換で正しいんだよ
JavaScriptは型違いをTypeErrorとせず、暗黙の型変換をする言語なんだから型変換で正しいんだよ
203デフォルトの名無しさん
2016/05/19(木) 05:59:57.75ID:tfaQOE9Q >>202
知ってるよ…だから、型のアノテーションがどうだとか、型を定義すべきだって話が眉唾と言うか、良い所全部殺すなって思うんよね。
知ってるよ…だから、型のアノテーションがどうだとか、型を定義すべきだって話が眉唾と言うか、良い所全部殺すなって思うんよね。
204デフォルトの名無しさん
2016/05/19(木) 07:31:01.14ID:l0qmM6vP205デフォルトの名無しさん
2016/05/19(木) 08:30:40.64ID:F9dbx1t6 JavaScriptは型付き言語でないわけで、そこに型付きな考え方を付加させても、各々のポリシーでいかようにでもスタイルが変化するって事をわかってない感じ
また、型付き言語であっても変数に代入されるまでは型が確定されないわけで経過処理で型変換を挟んではいけないわけではない
また、型付き言語であっても変数に代入されるまでは型が確定されないわけで経過処理で型変換を挟んではいけないわけではない
206デフォルトの名無しさん
2016/05/19(木) 13:24:53.83ID:qyR8CUMd 入力は限られてるし、取り扱いを間違っても原則ブラウザがクラッシュしたりすることはない。
それどころか不意に関数エラーが出ても、こういったイベントドリブンな場合は、何も問題なく復帰できることも多い。
最悪詰まっても、文章は読める。そこが所謂低レベル言語との違い。
それどころか不意に関数エラーが出ても、こういったイベントドリブンな場合は、何も問題なく復帰できることも多い。
最悪詰まっても、文章は読める。そこが所謂低レベル言語との違い。
207デフォルトの名無しさん
2016/05/19(木) 13:36:54.99ID:Gndv5tvj LLマンセー
208デフォルトの名無しさん
2016/05/19(木) 14:55:40.45ID:XceO64sZ 何も自慢できない男の人って可哀想(;;)
209デフォルトの名無しさん
2016/06/09(木) 09:39:33.79ID:FTTkP1ld arrow function の引数の丸括弧を省略する記法嫌いな人って多くないのかな
const fn = arg => { console.log(arg); };
const fn = (arg)=>{ console.log(arg); };
const fn = arg => { console.log(arg); };
const fn = (arg)=>{ console.log(arg); };
210デフォルトの名無しさん
2016/06/09(木) 13:20:53.39ID:bsniAtVU 時と場合によるだろう。
この場合は、あった方が良い
この場合は、あった方が良い
211デフォルトの名無しさん
2016/06/09(木) 13:43:16.42ID:QTm6YzLa212デフォルトの名無しさん
2016/06/09(木) 13:43:46.11ID:QTm6YzLa ただ雑談したかっただけ?
213デフォルトの名無しさん
2016/06/09(木) 14:51:10.11ID:eWu1TzV4214デフォルトの名無しさん
2016/06/09(木) 16:09:58.83ID:bsniAtVU >>213
そういうのは、ミニファイツールでOKでしょう。
コーディング中は、原則省略すべきじゃない。
GitHubで公開するソースも省略するべきじゃない。
可読性を下げてはいけない。
省略した方が読み易いとか云う奴は、独りよがりの変態なだけ
そういうのは、ミニファイツールでOKでしょう。
コーディング中は、原則省略すべきじゃない。
GitHubで公開するソースも省略するべきじゃない。
可読性を下げてはいけない。
省略した方が読み易いとか云う奴は、独りよがりの変態なだけ
215デフォルトの名無しさん
2016/06/09(木) 20:35:01.66ID:ziShIi0x >>213
釣りはウザイから止めろ。
ガチで勘違いしているのなら google のコーディングルール読め。駄目な例まで挙げてある。
http://cou929.nu/data/google_javascript_style_guide/
>>209
一般にどうなのかは分からんな。
しかし所詮は慣れだろうし、世間がそう書くなら慣れるしかないのでは。
なおそのケースなら俺は function と書くが。
sortの引数のような最初から function であることが確定している部分はいいけど、
それ以外の所(何が書かれるか分からないところ)には function と書いた方が見やすいと思うから。
釣りはウザイから止めろ。
ガチで勘違いしているのなら google のコーディングルール読め。駄目な例まで挙げてある。
http://cou929.nu/data/google_javascript_style_guide/
>>209
一般にどうなのかは分からんな。
しかし所詮は慣れだろうし、世間がそう書くなら慣れるしかないのでは。
なおそのケースなら俺は function と書くが。
sortの引数のような最初から function であることが確定している部分はいいけど、
それ以外の所(何が書かれるか分からないところ)には function と書いた方が見やすいと思うから。
216デフォルトの名無しさん
2016/06/11(土) 16:34:28.13ID:tWgkOxEq >>214
いいや、無駄なものが付いてるほうが可読性が落ちる。
特にGitHubではセミコロン省略が推奨されてるでしょ。
https://github.com/feross/standard/blob/master/RULES.md#semicolons
それなのに付けろというのはそれこそ独りよがりだよ。
でも君が独りよがりだから悪いとは言わないよ。
JSは独りよがりで自由であるべきだからね。
いいや、無駄なものが付いてるほうが可読性が落ちる。
特にGitHubではセミコロン省略が推奨されてるでしょ。
https://github.com/feross/standard/blob/master/RULES.md#semicolons
それなのに付けろというのはそれこそ独りよがりだよ。
でも君が独りよがりだから悪いとは言わないよ。
JSは独りよがりで自由であるべきだからね。
217デフォルトの名無しさん
2016/06/11(土) 16:40:46.73ID:tWgkOxEq >>215
釣りではない。
GitHubやnpmなど、セミコロンフリーのスタイルは確立されている。
自分も様々なスタイルを試した結果、今はこれに賛同しているだけ。
ただし、この2つは同じく原則省略でも細部の取り回しが異なる上、自分もそれらとは微妙に異なる。
ルールセットの他の部分は当然違う。結構細かくいろんなスタイルが存在する。
そのどれもが考えられてるのだから悪いとかフザケてるとか思うようなことでないと思う。
それなのに人の信念というか、正義を釣り呼ばわりするのはかなり独りよがりだと思う。
でも落ち込まないで、そんな君も好きだよ。
釣りではない。
GitHubやnpmなど、セミコロンフリーのスタイルは確立されている。
自分も様々なスタイルを試した結果、今はこれに賛同しているだけ。
ただし、この2つは同じく原則省略でも細部の取り回しが異なる上、自分もそれらとは微妙に異なる。
ルールセットの他の部分は当然違う。結構細かくいろんなスタイルが存在する。
そのどれもが考えられてるのだから悪いとかフザケてるとか思うようなことでないと思う。
それなのに人の信念というか、正義を釣り呼ばわりするのはかなり独りよがりだと思う。
でも落ち込まないで、そんな君も好きだよ。
218デフォルトの名無しさん
2016/06/11(土) 17:39:28.29ID:ZhHlBSFM >>217
キモいわ。
個人が作った勝手ルールだろ。それに従いたければ勝手にしろよ。
googleの方は「こういう問題があるから、こういうルールにしました」という、極めて実用的なものだ。
俺がgoogle側のルールを妥当とするのはこの点からだ。
コーディングルールは、見やすさではなく、バグを含まないためにある。
セミコロン程度の見やすさなんて、所詮慣れでしかない。
付いている方が無駄バグが発生しにくいのなら、当然それがルールで、見にくいのなら慣れろ、という立場だ。
お前はこのスレに来るべきではない。テンプレ読めよ。
お前は3,000行のコード、書けないだろ。
キモいわ。
個人が作った勝手ルールだろ。それに従いたければ勝手にしろよ。
googleの方は「こういう問題があるから、こういうルールにしました」という、極めて実用的なものだ。
俺がgoogle側のルールを妥当とするのはこの点からだ。
コーディングルールは、見やすさではなく、バグを含まないためにある。
セミコロン程度の見やすさなんて、所詮慣れでしかない。
付いている方が無駄バグが発生しにくいのなら、当然それがルールで、見にくいのなら慣れろ、という立場だ。
お前はこのスレに来るべきではない。テンプレ読めよ。
お前は3,000行のコード、書けないだろ。
219デフォルトの名無しさん
2016/06/11(土) 19:12:42.34ID:ZhHlBSFM >>217
つうかおめー、マジで頭おかしいぞ。
有名どころは全部「セミコロン付けろ」だぞ。
個人レベルでの勝手ルール持ち出すとか、キチガイだと分からないか?
それともGitHubを勘違いしているか?あれは誰でもアカウントを作れる。もちろん君でも。
> JavaScriptのスタイルガイドまとめ(おすすめ4選)
> google
> jQuery JavaScript Style Guide
> Airbnb JavaScript Style Guide
> > https://github.com/airbnb/javascript (star 36,207、対して feross は 5,886)
> Node
> http://qiita.com/takeharu/items/dee0972e5f39bfd4d7c8
つうかおめー、マジで頭おかしいぞ。
有名どころは全部「セミコロン付けろ」だぞ。
個人レベルでの勝手ルール持ち出すとか、キチガイだと分からないか?
それともGitHubを勘違いしているか?あれは誰でもアカウントを作れる。もちろん君でも。
> JavaScriptのスタイルガイドまとめ(おすすめ4選)
> jQuery JavaScript Style Guide
> Airbnb JavaScript Style Guide
> > https://github.com/airbnb/javascript (star 36,207、対して feross は 5,886)
> Node
> http://qiita.com/takeharu/items/dee0972e5f39bfd4d7c8
220デフォルトの名無しさん
2016/06/11(土) 19:13:01.99ID:ZhHlBSFM > npm
> https://www.npmjs.com/package/standard
npmだけは確かに「省けるセミコロンは省け」と言っている。
ざっくり見た感じは、「JavaScriptについてよく知れば、それが出来る」ということらしい。
つまり、どういうケースでAutomaticSemicolonInsertionが動くか理解して、
常にそれを考えながらコーディングしろ、ということなのだが、
そんなことやってるからJavaScriptの連中は上達してないんだと思うけどね。
本来のプログラミングの「技能」は、言語をまたいで汎用的なものだ。
その言語でしか使えない知識は、「文法」でしかない。
俺たちはJavaScriptのおかしな文法を極めたいわけでもない。JavaScriptを使いたいだけだ。
君の論理なら、使いたいだけのために勉強を強いるのもまた「独りよがり」でしかないだろ。
不思議なのは、JavaScriptの連中にはこの主張をする輩が多い事だ。
npmが震源だったということなのか?
C++で「テンプレートを極めてから来い」
C#やJavaで「クラスライブラリを極めてから来い」
なんていう奴はいない。それはどだい無理だからだ。
だから知っている範囲でコーディングを開始していく。そして「そんな機能あったのか!」ってのも割とよくある。
JavaScriptはギリギリ極められるくらいの軽量言語ではある。
しかしだからといって、それを極めたところで益はない。せいぜいセミコロンが省けるだけだ。
そんなことに時間をかける価値なんてないだろ?
全部セミコロン付けてリントで落とし、さっさと本題に行こうというのが普通だ。
> https://www.npmjs.com/package/standard
npmだけは確かに「省けるセミコロンは省け」と言っている。
ざっくり見た感じは、「JavaScriptについてよく知れば、それが出来る」ということらしい。
つまり、どういうケースでAutomaticSemicolonInsertionが動くか理解して、
常にそれを考えながらコーディングしろ、ということなのだが、
そんなことやってるからJavaScriptの連中は上達してないんだと思うけどね。
本来のプログラミングの「技能」は、言語をまたいで汎用的なものだ。
その言語でしか使えない知識は、「文法」でしかない。
俺たちはJavaScriptのおかしな文法を極めたいわけでもない。JavaScriptを使いたいだけだ。
君の論理なら、使いたいだけのために勉強を強いるのもまた「独りよがり」でしかないだろ。
不思議なのは、JavaScriptの連中にはこの主張をする輩が多い事だ。
npmが震源だったということなのか?
C++で「テンプレートを極めてから来い」
C#やJavaで「クラスライブラリを極めてから来い」
なんていう奴はいない。それはどだい無理だからだ。
だから知っている範囲でコーディングを開始していく。そして「そんな機能あったのか!」ってのも割とよくある。
JavaScriptはギリギリ極められるくらいの軽量言語ではある。
しかしだからといって、それを極めたところで益はない。せいぜいセミコロンが省けるだけだ。
そんなことに時間をかける価値なんてないだろ?
全部セミコロン付けてリントで落とし、さっさと本題に行こうというのが普通だ。
221デフォルトの名無しさん
2016/06/12(日) 00:32:26.03ID:npk74fIw 詳細確認したが、
> セミコロンフリー (>>217)
ではないぞ。
> // ok
> ;(function () {
> window.alert('ok')
> }())
>
> // avoid
> (function () {
> window.alert('ok')
> }())
> https://github.com/feross/standard/blob/master/RULES.md#semicolons
必要な時には行頭に付けろという、一周回った発想だ。
> セミコロンフリー (>>217)
ではないぞ。
> // ok
> ;(function () {
> window.alert('ok')
> }())
>
> // avoid
> (function () {
> window.alert('ok')
> }())
> https://github.com/feross/standard/blob/master/RULES.md#semicolons
必要な時には行頭に付けろという、一周回った発想だ。
222デフォルトの名無しさん
2016/06/12(日) 00:33:54.14ID:npk74fIw npmの所にある3者のうち、(全部読んではないが、videoは全部見た)
1つ目は教条的な理由、
> “They’re required because ASI is unreliable.” Seriously!?
> These rules date back to the early days of JavaScript, in the late 90s.
> They’re not new, and in my opinion there is no excuse for someone calling themselves a professional JavaScripter and not understanding statement termination.
> It is blatantly irresponsible of the thought leaders in the JavaScript community to continue to spread uncertainty rather than understanding.
> http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding
2つ目はどのみち必要だという理由、
> Even if you use semicolons at the end of every statement, some constructs parse in non-obvious ways. Regardless of your preferences in semicolon usage, you must know the rules to write JavaScript professionally.
> http://inimino.org/~inimino/blog/javascript_semicolons
3つ目は「関数には要らなくて関数式には付けろとか『初心者には』分かりにくい」ということだった。
> https://www.youtube.com/watch?v=gsfbh17Ax9I
よく見るとなるほどこのnpmのコーディングルールの作者がferossか。
ならばそれは「GitHubで確立されている」とは言わない。それは君がGitHubを勘違いしているだけだ。
GitHubはただの置き場であって、誰でも何でも置けるんだよ。プログラムである必要すらない。
とはいえnpmではある程度の評価を得ていることは事実だな。ただ明らかに主流ではないが。
セミコロン無しの有名言語はRubyとPythonだと思うが、そっち出身でなければ大人しく付けておいて、それに慣れた方がいい。
Ruby/Pythonとの相互運用なら可能性はありだが、
俺はRubyもPythonも知らないのでどちらがマシかの判断は付かない。
1つ目は教条的な理由、
> “They’re required because ASI is unreliable.” Seriously!?
> These rules date back to the early days of JavaScript, in the late 90s.
> They’re not new, and in my opinion there is no excuse for someone calling themselves a professional JavaScripter and not understanding statement termination.
> It is blatantly irresponsible of the thought leaders in the JavaScript community to continue to spread uncertainty rather than understanding.
> http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding
2つ目はどのみち必要だという理由、
> Even if you use semicolons at the end of every statement, some constructs parse in non-obvious ways. Regardless of your preferences in semicolon usage, you must know the rules to write JavaScript professionally.
> http://inimino.org/~inimino/blog/javascript_semicolons
3つ目は「関数には要らなくて関数式には付けろとか『初心者には』分かりにくい」ということだった。
> https://www.youtube.com/watch?v=gsfbh17Ax9I
よく見るとなるほどこのnpmのコーディングルールの作者がferossか。
ならばそれは「GitHubで確立されている」とは言わない。それは君がGitHubを勘違いしているだけだ。
GitHubはただの置き場であって、誰でも何でも置けるんだよ。プログラムである必要すらない。
とはいえnpmではある程度の評価を得ていることは事実だな。ただ明らかに主流ではないが。
セミコロン無しの有名言語はRubyとPythonだと思うが、そっち出身でなければ大人しく付けておいて、それに慣れた方がいい。
Ruby/Pythonとの相互運用なら可能性はありだが、
俺はRubyもPythonも知らないのでどちらがマシかの判断は付かない。
223デフォルトの名無しさん
2016/06/12(日) 05:22:59.97ID:Q2nOr0zy >>222
大人しく付けておいて慣れたほうがいい。ね。
興味深い考え方だね。
でも自分はどんな作業にしろ常に思考し改善しようと努力する質だから。
大人しく常識に沿って手を動かすだけというのは好きじゃない。
少しでもそういう意識があればむしろ書かれているように、
Note: If you're often writing code like this, you may be trying to be too clever.
Clever short-hands are discouraged, in favor of clear and readable expressions, whenever possible.
というのに「気づく」と思う。
キモい?当たり前。
俺も散々吐き気をこらえていろいろなスタイルや概念を試してきた。
何度も行ったり来たりした。
キモいのは上等!その先に必ず改善があるのだから。
そして多くを見れば本当に「キモい」ものが何かがわかってくる。
class構文やプロトタイプ的継承術に慣れた後では
JSのデフォの継承システムが一番「存在的にキモい」ことに気づくのと同じ。
でも分かった。そういうのを他人に求めるのはエゴなんだと。
すまなかった。。。。。。。
大人しく付けておいて慣れたほうがいい。ね。
興味深い考え方だね。
でも自分はどんな作業にしろ常に思考し改善しようと努力する質だから。
大人しく常識に沿って手を動かすだけというのは好きじゃない。
少しでもそういう意識があればむしろ書かれているように、
Note: If you're often writing code like this, you may be trying to be too clever.
Clever short-hands are discouraged, in favor of clear and readable expressions, whenever possible.
というのに「気づく」と思う。
キモい?当たり前。
俺も散々吐き気をこらえていろいろなスタイルや概念を試してきた。
何度も行ったり来たりした。
キモいのは上等!その先に必ず改善があるのだから。
そして多くを見れば本当に「キモい」ものが何かがわかってくる。
class構文やプロトタイプ的継承術に慣れた後では
JSのデフォの継承システムが一番「存在的にキモい」ことに気づくのと同じ。
でも分かった。そういうのを他人に求めるのはエゴなんだと。
すまなかった。。。。。。。
224デフォルトの名無しさん
2016/06/12(日) 05:36:18.79ID:Q2nOr0zy >>220
極める必要なんてない。
例えば暗黙の型変換周りと比べると非常に明快。
ただ、「括弧で始まる前に付ける」。
これさえ守ればいい。
細かいこと言えば『接続させたくない』接続可能な他の演算子の前にも付ける必要などあるが、
まずそうであることはありえない。
そして「括弧で始まる」ようなものを書くようになるのは入門終了後だから、
その程度の「決め事」と一緒にそれらの書き方を学ぶのが特に負荷になるとは思わない。
極める必要なんてない。
例えば暗黙の型変換周りと比べると非常に明快。
ただ、「括弧で始まる前に付ける」。
これさえ守ればいい。
細かいこと言えば『接続させたくない』接続可能な他の演算子の前にも付ける必要などあるが、
まずそうであることはありえない。
そして「括弧で始まる」ようなものを書くようになるのは入門終了後だから、
その程度の「決め事」と一緒にそれらの書き方を学ぶのが特に負荷になるとは思わない。
225デフォルトの名無しさん
2016/06/12(日) 05:49:08.10ID:GMtpRE4O >他人に求めるのはエゴ
はいこれで決着ね
はいこれで決着ね
226デフォルトの名無しさん
2016/06/12(日) 11:40:13.85ID:npk74fIw >>223
いや悪いが「キモイ」ってのは君の投稿内容のことであって、JavaScriptの記法の事ではなかった。
ここは馴れ合う場所ではない。
ただやはりそれは努力の方向を間違っていると思うよ。
先に書いたように、「文法」を覚える努力をいくらやったところでプログラミングの「技能」は上達しない。
勉強する前に鉛筆の削り方に異常にこだわるようなものだ。さっさと勉強を始めた方がいい。
> class構文やプロトタイプ的継承術に慣れた後では
> JSのデフォの継承システムが一番「存在的にキモい」ことに気づくのと同じ。
釣りか?JSのデフォの継承システム=プロトタイプ的継承だが。
> その程度の「決め事」と一緒にそれらの書き方を学ぶのが特に負荷になるとは思わない。
「とりあえず全部セミコロンつけとけ」の方が楽だ。何も学ぶ必要はない。(JSなら余分も問題にならない)
なお、JSの場合はセミコロンは「必要な場所に無ければ挿入される」であって、「不必要」ではない。
そして return の場合は改行でいきなり終端されるとか、動作に一貫性がない点もある。
たぶんRubyやPythonは最初から「不必要」で設計されている。この点が違う。
いや悪いが「キモイ」ってのは君の投稿内容のことであって、JavaScriptの記法の事ではなかった。
ここは馴れ合う場所ではない。
ただやはりそれは努力の方向を間違っていると思うよ。
先に書いたように、「文法」を覚える努力をいくらやったところでプログラミングの「技能」は上達しない。
勉強する前に鉛筆の削り方に異常にこだわるようなものだ。さっさと勉強を始めた方がいい。
> class構文やプロトタイプ的継承術に慣れた後では
> JSのデフォの継承システムが一番「存在的にキモい」ことに気づくのと同じ。
釣りか?JSのデフォの継承システム=プロトタイプ的継承だが。
> その程度の「決め事」と一緒にそれらの書き方を学ぶのが特に負荷になるとは思わない。
「とりあえず全部セミコロンつけとけ」の方が楽だ。何も学ぶ必要はない。(JSなら余分も問題にならない)
なお、JSの場合はセミコロンは「必要な場所に無ければ挿入される」であって、「不必要」ではない。
そして return の場合は改行でいきなり終端されるとか、動作に一貫性がない点もある。
たぶんRubyやPythonは最初から「不必要」で設計されている。この点が違う。
227デフォルトの名無しさん
2016/06/12(日) 11:40:36.40ID:npk74fIw インターネット上で自分と同じ意見を探すのは、使い方を間違っている。
最近「ブサヨ」「パヨク」とか言われているだろ。あそこまで見事に「裸の王様」になるのかとも呆れるが、
君は彼等と同じインターネットの使い方をしている。
どんなマイナーな意見でも、世界中を探せば同意見の奴は大概見つかる。自分が世界一マイナーな確率なんてほぼゼロだから。
だから、検索でヒットしても安心したら駄目だ。それはどれくらい支持された意見なのか確認する必要がある。
大勢が採用した物には、それなりの理由がある。マイナーならばそれにも理由がある。
君にはJavaScriptの技術力もないし、
マイナーな意見をGitHubの大勢だと勘違いしてしまう程、インターネットのリテラシーもない。
もちろん何故大勢が「セミコロン付けろ」なのかも分からないだろ。
余分な苦労をせずに上達したいのなら、「普通に」色々やった方がいい。もちろんそれも含めて君の自由だが。
そしてやはり君はここに来るべきではない。邪魔でしかない。
この手の「議論以前の常識」についてグダグダ言いたくないから別スレを作ったんだ。
君は「質問スレ」でいいはずだ。彼等はこの題目なら嬉々としてレスしてくるだろうし。
最近「ブサヨ」「パヨク」とか言われているだろ。あそこまで見事に「裸の王様」になるのかとも呆れるが、
君は彼等と同じインターネットの使い方をしている。
どんなマイナーな意見でも、世界中を探せば同意見の奴は大概見つかる。自分が世界一マイナーな確率なんてほぼゼロだから。
だから、検索でヒットしても安心したら駄目だ。それはどれくらい支持された意見なのか確認する必要がある。
大勢が採用した物には、それなりの理由がある。マイナーならばそれにも理由がある。
君にはJavaScriptの技術力もないし、
マイナーな意見をGitHubの大勢だと勘違いしてしまう程、インターネットのリテラシーもない。
もちろん何故大勢が「セミコロン付けろ」なのかも分からないだろ。
余分な苦労をせずに上達したいのなら、「普通に」色々やった方がいい。もちろんそれも含めて君の自由だが。
そしてやはり君はここに来るべきではない。邪魔でしかない。
この手の「議論以前の常識」についてグダグダ言いたくないから別スレを作ったんだ。
君は「質問スレ」でいいはずだ。彼等はこの題目なら嬉々としてレスしてくるだろうし。
228デフォルトの名無しさん
2016/06/12(日) 11:50:23.91ID:k/2WgB7H ここまで静観して見てたけどその例えはどうなのよ
Web板での政治社会的なレッテル貼りや質問スレの〜行以下のコード云々の煽りはともかく
このスレでだけはまともに議論や情報交換をするものだと思っていたのに心底残念だよ
Web板での政治社会的なレッテル貼りや質問スレの〜行以下のコード云々の煽りはともかく
このスレでだけはまともに議論や情報交換をするものだと思っていたのに心底残念だよ
229デフォルトの名無しさん
2016/06/12(日) 12:18:41.79ID:bynAnAmH セミコロンは付けるか付けないかではない。付けさせるか付けさせないかだ。
そう考えれば付けさせるしかないだろ。
そう考えれば付けさせるしかないだろ。
230デフォルトの名無しさん
2016/06/12(日) 12:24:25.95ID:npk74fIw >>228
では出ていくなり、他スレを立てるなり、好きにすればいい。それも自由だ。
ここは言いたいことを言い合う場所であって、言って欲しいことを言ってもらえる場所ではない。
どこについて怒っているのか若干謎だが、
「ブサヨ」「パヨク」については適切な例えだと思うぞ。実際そうだし。
ただ彼等について嘲笑するだけなのは、それもまた駄目なんだよ。
自分もそこに陥ってしまう危険性に気づき、他山の石としなければならない。
実際、彼もその罠に嵌っているわけだし。
マイナーな状態で旗印があれば信者はそこに飛びつく。
そして周りが自分と同じ意見であることに安心してしまうのだが、それでは駄目なんだ。
セミコロン無し派がnpmに集結しているのは正直驚きだった。だから詳細を確認した。
結果、「宗教」だった。対してgoogle/jQuery/Node/Airbnbは「実利」だ。俺はノータイムで「実利」を取る。
とはいえ、いずれにしても「宗教」の時点で議論する意味はない。
どうあがいても平行線だからね。
だから結局好きにするしかないのだが、セミコロン付ける派にも「宗教」の奴はいるはずで、
人口が C/C++/Java >> Ruby/Python な以上、「宗教」としてもひっくり返らない。
だから変にこだわるのではなく、「セミコロンあり」に慣れるしかないだろ、というのが至極妥当な見解だと思うが。
では出ていくなり、他スレを立てるなり、好きにすればいい。それも自由だ。
ここは言いたいことを言い合う場所であって、言って欲しいことを言ってもらえる場所ではない。
どこについて怒っているのか若干謎だが、
「ブサヨ」「パヨク」については適切な例えだと思うぞ。実際そうだし。
ただ彼等について嘲笑するだけなのは、それもまた駄目なんだよ。
自分もそこに陥ってしまう危険性に気づき、他山の石としなければならない。
実際、彼もその罠に嵌っているわけだし。
マイナーな状態で旗印があれば信者はそこに飛びつく。
そして周りが自分と同じ意見であることに安心してしまうのだが、それでは駄目なんだ。
セミコロン無し派がnpmに集結しているのは正直驚きだった。だから詳細を確認した。
結果、「宗教」だった。対してgoogle/jQuery/Node/Airbnbは「実利」だ。俺はノータイムで「実利」を取る。
とはいえ、いずれにしても「宗教」の時点で議論する意味はない。
どうあがいても平行線だからね。
だから結局好きにするしかないのだが、セミコロン付ける派にも「宗教」の奴はいるはずで、
人口が C/C++/Java >> Ruby/Python な以上、「宗教」としてもひっくり返らない。
だから変にこだわるのではなく、「セミコロンあり」に慣れるしかないだろ、というのが至極妥当な見解だと思うが。
231デフォルトの名無しさん
2016/06/12(日) 12:26:16.47ID:3NjnbAB7232デフォルトの名無しさん
2016/06/12(日) 12:33:31.15ID:npk74fIw >>229
そうなんだけど、セミコロン無し派も結構ガチなんだよ。
リンターも整形ツールも既に提供している。
あのferossって奴もGitHubの垢見る限りそこそこ大物だ。
ただ正直、そこまでこだわる理由もよくわからんのだが、、、
そうなんだけど、セミコロン無し派も結構ガチなんだよ。
リンターも整形ツールも既に提供している。
あのferossって奴もGitHubの垢見る限りそこそこ大物だ。
ただ正直、そこまでこだわる理由もよくわからんのだが、、、
233224
2016/06/12(日) 16:06:44.39ID:gONGsgja >>227
俺はここはJSを愛する者達のスレ、と認識していた。
今は亡きECMAスレの面影を重ねているのかもしれない。
要するに、より良いJSを目指す者質の意見だ。
ただの常識とやらにそった意見の飛ばし合いならばそれこそそこらの質問スレですればいい。
こういう議論をするためこそにこのスレが有るのだし、
現にこういう議論が出て初めてスレが伸びたんだからそういうことに違いないだろう。
ともかく、こういう議論をすること自体は良い。としてもらいたい。
>>229
彼に少しでも良いJSを目指したいという精神が感じられなければ、またこういうスレでなければ俺も「あえて」付けるなとは言わない。
この場所、このタイミングで質問した彼には真実に繋がるヒントを伝え、そこへ目指して欲しかった。
>>230
>>「慣れるしかない」
どうして?いや、仮に「セミコロンを原則付けること」に慣れる必要があるとしても、
「セミコロンを原則付けないこと」にも慣れてはいけない理由なんてないし、
そっちを普段自分の中でメインで使って良くない理由なんてないよな。
>>232
俺がこだわっているのは、「セミコロンを付けないほうがいい」ということよりもむしろ、
そういうことを教えたり教わったり考えたり、もっと自由な研究をしようよということだな。
た だ し、『プログラマー』『スクリプター』『JSer』になりたいのならね。
そうでないのならどうでもいいが、俺はそうなってほしい、JSを愛して欲しいと考えるからこうした立場をとっている。
JSを教えるとき、JSって、スクリプト言語って、プログラミングって楽しいんだよ、深いんだよ、広いんだよ
ということを感じてほしくはないかい?俺は欲しい。
一緒にJSを味わい尽くし、発展に協力してもらい、共に夢を見る関係になりたい。
そう思うことはそんなに変かな。
このスレでは許されると思ったんだけどね。寂しい。。
俺はここはJSを愛する者達のスレ、と認識していた。
今は亡きECMAスレの面影を重ねているのかもしれない。
要するに、より良いJSを目指す者質の意見だ。
ただの常識とやらにそった意見の飛ばし合いならばそれこそそこらの質問スレですればいい。
こういう議論をするためこそにこのスレが有るのだし、
現にこういう議論が出て初めてスレが伸びたんだからそういうことに違いないだろう。
ともかく、こういう議論をすること自体は良い。としてもらいたい。
>>229
彼に少しでも良いJSを目指したいという精神が感じられなければ、またこういうスレでなければ俺も「あえて」付けるなとは言わない。
この場所、このタイミングで質問した彼には真実に繋がるヒントを伝え、そこへ目指して欲しかった。
>>230
>>「慣れるしかない」
どうして?いや、仮に「セミコロンを原則付けること」に慣れる必要があるとしても、
「セミコロンを原則付けないこと」にも慣れてはいけない理由なんてないし、
そっちを普段自分の中でメインで使って良くない理由なんてないよな。
>>232
俺がこだわっているのは、「セミコロンを付けないほうがいい」ということよりもむしろ、
そういうことを教えたり教わったり考えたり、もっと自由な研究をしようよということだな。
た だ し、『プログラマー』『スクリプター』『JSer』になりたいのならね。
そうでないのならどうでもいいが、俺はそうなってほしい、JSを愛して欲しいと考えるからこうした立場をとっている。
JSを教えるとき、JSって、スクリプト言語って、プログラミングって楽しいんだよ、深いんだよ、広いんだよ
ということを感じてほしくはないかい?俺は欲しい。
一緒にJSを味わい尽くし、発展に協力してもらい、共に夢を見る関係になりたい。
そう思うことはそんなに変かな。
このスレでは許されると思ったんだけどね。寂しい。。
234224
2016/06/12(日) 19:04:38.68ID:gONGsgja あー、それとここまでの流れをちゃんと見てみたら混乱を招いてるようなので
一つ断っておきたいんだが、俺はバランスタイプなんだ。
俺が「セミコロンを付けないほうがいい」などと言ってるのは、
あくまで彼に対するレスが偏り過ぎないよう、不足分を埋める立場になっただけで、
その瞬間ではあくまで彼のためだけの、彼の方向に向いたレスでしかない。
他のレスとは補完関係であって、互いに影響を及ぼしたり対立したりするつもりはない。
もし他の人が「セミコロンを付けないほうがいい」といったならば、
俺は逆の立場から言っていた。
あくまで俺の目的は、広く深い心と知見と情熱を持った『JSer』育成にあるからだ。
何か1つのそれっぽい答えを貰うだけで満足してほしくはない。
いろんな案を受け入れ、自ら試行錯誤してより良いJSを追求していって欲しい。
一つ断っておきたいんだが、俺はバランスタイプなんだ。
俺が「セミコロンを付けないほうがいい」などと言ってるのは、
あくまで彼に対するレスが偏り過ぎないよう、不足分を埋める立場になっただけで、
その瞬間ではあくまで彼のためだけの、彼の方向に向いたレスでしかない。
他のレスとは補完関係であって、互いに影響を及ぼしたり対立したりするつもりはない。
もし他の人が「セミコロンを付けないほうがいい」といったならば、
俺は逆の立場から言っていた。
あくまで俺の目的は、広く深い心と知見と情熱を持った『JSer』育成にあるからだ。
何か1つのそれっぽい答えを貰うだけで満足してほしくはない。
いろんな案を受け入れ、自ら試行錯誤してより良いJSを追求していって欲しい。
235デフォルトの名無しさん
2016/06/12(日) 23:59:15.39ID:NYt/6ntu 自転車置き場の議論てやつだな
あほだな
あほだな
236デフォルトの名無しさん
2016/06/13(月) 00:25:03.07ID:AxmCg6hy >>235
ほう、名詞があるんだね。
色々考えたんだけど、JavaScriptの連中が上達してない原因は多分そこだと思うんだよ。
C初心者「for文、while文、if文…」
JavaScript初心者「for文、while文、if文…」
C初心者「ポインタ…」
JavaScript初心者「セミコロンはどこに打つべきか議論しよう(キリッ」
C初心者「ポインタ…ポインタ…構造体…」
JavaScript初心者「暗黙変換の活用について(キリッ」
多分、本質的でないところにトラップされてるんだ。
Cはこの点、寄り道無しで初ボスかつラスボスのポインタがいきなり出てきて勇者は死ぬ。
そして何度も復活の呪文を唱えつつ、そこを抜ければいきなり中級者になってる。
JavaScriptの連中は完全にここで空回りしてしまってる。
セミコロンを打つ場所なんてマジでどうでもいいのに、さも重要なことのように言うのは詐欺だよな。
ほう、名詞があるんだね。
色々考えたんだけど、JavaScriptの連中が上達してない原因は多分そこだと思うんだよ。
C初心者「for文、while文、if文…」
JavaScript初心者「for文、while文、if文…」
C初心者「ポインタ…」
JavaScript初心者「セミコロンはどこに打つべきか議論しよう(キリッ」
C初心者「ポインタ…ポインタ…構造体…」
JavaScript初心者「暗黙変換の活用について(キリッ」
多分、本質的でないところにトラップされてるんだ。
Cはこの点、寄り道無しで初ボスかつラスボスのポインタがいきなり出てきて勇者は死ぬ。
そして何度も復活の呪文を唱えつつ、そこを抜ければいきなり中級者になってる。
JavaScriptの連中は完全にここで空回りしてしまってる。
セミコロンを打つ場所なんてマジでどうでもいいのに、さも重要なことのように言うのは詐欺だよな。
237デフォルトの名無しさん
2016/06/13(月) 06:36:45.25ID:o3uO7eJP >>236
実際には、セミコロンを打つ位置ではなくて、なぜセミコロンが省略でき、その場所では省略してはいけないのかが問題なんだけど、題目的にしか議論してないからな。
ポインタだって、参照と実体とかにフォーカスした方がいいんだろうけど、その辺スルーだし。
実際には、セミコロンを打つ位置ではなくて、なぜセミコロンが省略でき、その場所では省略してはいけないのかが問題なんだけど、題目的にしか議論してないからな。
ポインタだって、参照と実体とかにフォーカスした方がいいんだろうけど、その辺スルーだし。
238デフォルトの名無しさん
2016/06/14(火) 10:56:42.92ID:ScASA3Ww >>236
一番重要で本質的なことは、
長く複雑なコードをいかにスマートに書けるか、
いかに問題を短く簡潔なコードで早く書けるか、
ってことだと思うよ。
各機能がどうのこうのは、それこそどうでも良いというか、
基礎という意味では重大だけれど、レベルが低いことだと思う。
セミコロンを打つ場所なんてマジでどうでもいいというのは、
それは初心者にとってそれよりも先にやるべきことがあるからその通り。
しかし中級者以降生産性やコードの質を上げていこうと思えば
この手の物事の重要性は増していき、最後には信念やら宗教やらと言われる問題に行き着くと思うよ。
ここは既習者スレなんだから、そういうことこそを話し合うべきだと思うけどな。
そして空回りしているというのは、ある見方ではそうだと思う。
JSは仕様の内も外も具体的な実装について殆ど意識されていないからね。
でもそれは逆に、具体的な実装に囚われず概念を学べると言えると思う。
その概念を習得すれば、例えば他言語に移ったとしても柔軟に対応できる。
他にもJSはマルチパラダイムと強く意識されて作られたわけではないが、その真似事ができる。
むしろJSこそ最も様々なプログラミングにおける本質的な物事を学べる言語だと思う。
一番重要で本質的なことは、
長く複雑なコードをいかにスマートに書けるか、
いかに問題を短く簡潔なコードで早く書けるか、
ってことだと思うよ。
各機能がどうのこうのは、それこそどうでも良いというか、
基礎という意味では重大だけれど、レベルが低いことだと思う。
セミコロンを打つ場所なんてマジでどうでもいいというのは、
それは初心者にとってそれよりも先にやるべきことがあるからその通り。
しかし中級者以降生産性やコードの質を上げていこうと思えば
この手の物事の重要性は増していき、最後には信念やら宗教やらと言われる問題に行き着くと思うよ。
ここは既習者スレなんだから、そういうことこそを話し合うべきだと思うけどな。
そして空回りしているというのは、ある見方ではそうだと思う。
JSは仕様の内も外も具体的な実装について殆ど意識されていないからね。
でもそれは逆に、具体的な実装に囚われず概念を学べると言えると思う。
その概念を習得すれば、例えば他言語に移ったとしても柔軟に対応できる。
他にもJSはマルチパラダイムと強く意識されて作られたわけではないが、その真似事ができる。
むしろJSこそ最も様々なプログラミングにおける本質的な物事を学べる言語だと思う。
239デフォルトの名無しさん
2016/06/14(火) 18:26:48.94ID:TG3hSyiU 検索用にセミコロンを 2 個3 個続けるのもありかな
240デフォルトの名無しさん
2016/06/15(水) 01:26:31.98ID:Iz/1ukPU 検索用にセミコロンを 2 個3 個続けるのもあり
と君が判断したのなら君の中ではありなんだろう
と君が判断したのなら君の中ではありなんだろう
241デフォルトの名無しさん
2016/06/15(水) 20:32:12.77ID:AdfPujMx マンセーが異様に多いのもJavaScripterのおかしな所だよな
242デフォルトの名無しさん
2016/06/16(木) 07:55:44.05ID:oMjTOMdB そうか?
むしろスクリプト言語の中じゃ代表コミュニティもないし、そういうのは少ないほうだと思うが。
むしろスクリプト言語の中じゃ代表コミュニティもないし、そういうのは少ないほうだと思うが。
243デフォルトの名無しさん
2016/06/16(木) 08:00:04.44ID:88N1/vwg 利用人口ぱねえからな。変なの目にする機会も多かろう。
244デフォルトの名無しさん
2016/06/16(木) 15:16:35.80ID:oMjTOMdB 他人を理解できないってのは悲しいね
245デフォルトの名無しさん
2016/06/18(土) 01:00:30.57ID:HfDVf1Az >>243
人数自体はそんなに大したことはない。
おかしな奴の割合が異常に高いんだよ。
Webがホームということもあり、未熟な奴が平気で情報発信()している感もあるが。
http://www.tiobe.com/tiobe_index
http://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages
http://pypl.github.io/PYPL.html
人数自体はそんなに大したことはない。
おかしな奴の割合が異常に高いんだよ。
Webがホームということもあり、未熟な奴が平気で情報発信()している感もあるが。
http://www.tiobe.com/tiobe_index
http://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages
http://pypl.github.io/PYPL.html
246デフォルトの名無しさん
2016/06/18(土) 05:23:04.56ID:bYpIs91z マンセーしたら未熟者扱い?
エキスパートな俺様は苦しんでるのに許せない間違っているってことだろうか
それとも辛い経験豊富で批判的な俺様カッケーって勘違いアピール?
傍から見るとひねくれ者の妬みにしか見えないが……
エキスパートな俺様は苦しんでるのに許せない間違っているってことだろうか
それとも辛い経験豊富で批判的な俺様カッケーって勘違いアピール?
傍から見るとひねくれ者の妬みにしか見えないが……
247デフォルトの名無しさん
2016/06/18(土) 14:06:50.57ID:P96CWXJR248デフォルトの名無しさん
2016/06/19(日) 04:58:43.41ID:pwKRdbbJ おかしくない人って何よ
249デフォルトの名無しさん
2016/06/19(日) 10:12:00.06ID:0NV3J/pF >>245
Google で検索されたキーワード辺りで指標作った方が良さげな気がする。
Google で検索されたキーワード辺りで指標作った方が良さげな気がする。
250デフォルトの名無しさん
2016/06/19(日) 12:28:35.73ID:XPavHURr ここは>>1を含めて俺様主義の人が常駐してるのでまともな意見交換は出来んよ
始めは冷静でも、少し意見の食い違う人が現れただけでただの「主張の押しつけ合い」に発展する
意見交換するなら「そんな考え方もあるのか」ぐらいに自分の立場を引いて見つめる客観性が必要だが、彼は否定にかかるだけで相手をやりこめないと満足しないからな
始めは冷静でも、少し意見の食い違う人が現れただけでただの「主張の押しつけ合い」に発展する
意見交換するなら「そんな考え方もあるのか」ぐらいに自分の立場を引いて見つめる客観性が必要だが、彼は否定にかかるだけで相手をやりこめないと満足しないからな
251デフォルトの名無しさん
2016/06/19(日) 15:16:34.64ID:pwKRdbbJ 俺もお前も仙人や神様じゃなく凡人なのだから、性質に割り振れる度合いは限られてる。
結局思考停止の傲慢くんも、視野無限の優柔不断くんも、同じくらい悪い議論しかできない。
その中間であっても、両者の悪いところを半々持つので、同じくらい悪い議論しかできない。
つまり無理難題夢物語ということ。「こんな議論もあるのか」ぐらい許容的になってもよかでは?
結局思考停止の傲慢くんも、視野無限の優柔不断くんも、同じくらい悪い議論しかできない。
その中間であっても、両者の悪いところを半々持つので、同じくらい悪い議論しかできない。
つまり無理難題夢物語ということ。「こんな議論もあるのか」ぐらい許容的になってもよかでは?
252デフォルトの名無しさん
2016/06/19(日) 17:29:39.15ID:+1vne4gn そうやって他人の人格否定する辺りがまともな議論が成立しない理由なんだよな
http://d.hatena.ne.jp/takerunba/touch/20081028/p1
http://d.hatena.ne.jp/takerunba/touch/20081028/p1
253デフォルトの名無しさん
2016/06/19(日) 19:27:30.52ID:fmRoj+h3 そこで言う「まともな議論」とやらをここでする必要が有るのかい?
仕事でもあるまいし、自己主張のたまり場でもええんやないの?
仕事でもあるまいし、自己主張のたまり場でもええんやないの?
254デフォルトの名無しさん
2016/06/19(日) 19:36:59.62ID:J/2rkjpj ここは電波を黙らせる方法がないのだから基本は自己主張のたまり場にしかならんよ
その状態で有益な議論に出来るかは当事者次第でしかない
その状態で有益な議論に出来るかは当事者次第でしかない
255デフォルトの名無しさん
2016/06/19(日) 20:13:29.92ID:fmRoj+h3 まあぶっちゃけ単純に「聞き手」不足なだけなんだけどね
256デフォルトの名無しさん
2016/06/19(日) 20:36:57.86ID:J/2rkjpj そうか?なら語って、どうぞ。
なおセミコロンについて語られても困りますので悪しからず。
なおセミコロンについて語られても困りますので悪しからず。
257デフォルトの名無しさん
2016/06/19(日) 22:34:40.11ID:YTnkZ+TT 自己主張の溜まり場なら「情報交換所」なんてタイトルを付けなければいいのにな
次スレは「JavaScript自己主張の溜まり場」に改名すればいい
次スレは「JavaScript自己主張の溜まり場」に改名すればいい
258デフォルトの名無しさん
2016/06/19(日) 22:50:20.08ID:J/2rkjpj 単発にはキチガイしかいないことの再証明乙
259デフォルトの名無しさん
2016/06/19(日) 22:55:12.64ID:YTnkZ+TT ID:J/2rkjpj
自己主張の溜まり場で有益な議論が出来る訳なかろう
キチガイといっている時点でおまえにはその気が全くないのだろうが
自己主張の溜まり場で有益な議論が出来る訳なかろう
キチガイといっている時点でおまえにはその気が全くないのだろうが
260デフォルトの名無しさん
2016/06/19(日) 23:05:07.79ID:YTnkZ+TT >>251のよつな相手の非を盾に自分の非を正当化する行為も議論には邪魔だな
自己勝手の押しつけが横行するようなら「JavaScript自己主張の溜まり場」がこのスレに相応しい名前だと思うぞ
自己勝手の押しつけが横行するようなら「JavaScript自己主張の溜まり場」がこのスレに相応しい名前だと思うぞ
261デフォルトの名無しさん
2016/06/19(日) 23:09:03.89ID:J/2rkjpj やりたきゃ自分から始めればいいし、それに誰も食いつかなければその程度だったってだけだろ。
誰も池沼を相手にしたくないし、する義務もないんだよ。
何かあるのならさっさと始めろよ。
誰も池沼を相手にしたくないし、する義務もないんだよ。
何かあるのならさっさと始めろよ。
262デフォルトの名無しさん
2016/06/20(月) 12:16:18.08ID:GHIZIB85 スレタイ詐欺だな
263デフォルトの名無しさん
2016/06/20(月) 23:23:32.99ID:ismdVjCJ 基本的にこのスレは>>1しかいないからこうなるわな
賛同者がいないことを盾に本題への言及を避けてるだけ
賛同者がいないことを盾に本題への言及を避けてるだけ
264デフォルトの名無しさん
2016/06/20(月) 23:45:23.34ID:hAl2oYmp 「本題」って何?
265デフォルトの名無しさん
2016/06/21(火) 11:22:12.62ID:papOtBqK266デフォルトの名無しさん
2016/06/21(火) 13:37:07.53ID:NcocGzZA つまりかつてのECMAスレみたいに、いろんな新情報を挙げていけばいいんでしょ?
でもそれから派生した議論は別問題だよ。
匿名掲示板なんだから、自己主張の溜まり場になって当然。
逆にそうでなくすことなんて無理無理。道理に反してる。
俺は質問スレ10くらいの時から100スレ間に渡っていろんな案を出して直そうとしてきたが、
まあ様々なところで一定の収穫はあったが、議論が暴走することだけはどうしようもならなかった。
なら逆に受け取る方が考え方・気持ちを切り替えていくしかないんだよ。
でもそれから派生した議論は別問題だよ。
匿名掲示板なんだから、自己主張の溜まり場になって当然。
逆にそうでなくすことなんて無理無理。道理に反してる。
俺は質問スレ10くらいの時から100スレ間に渡っていろんな案を出して直そうとしてきたが、
まあ様々なところで一定の収穫はあったが、議論が暴走することだけはどうしようもならなかった。
なら逆に受け取る方が考え方・気持ちを切り替えていくしかないんだよ。
267デフォルトの名無しさん
2016/06/21(火) 16:31:29.25ID:wNHblGP/ 新情報っていってもねぇw
268デフォルトの名無しさん
2016/06/27(月) 00:33:14.94ID:n3Kagte5 TypedArrayとasm.jsの状況について詳しい人居る?
現在アプリにもっさり感がある。それであちこち修正したのだが、
ChromeDevTools/Profiles/CPU PROFILESで(program)が70-90%なのでJS側での速度改善はほぼ頭打ちだ。
そこで無理やり使用メモリを減らして速度向上させようとしている。
なお、評価はchromeで行っている。
JSのArrayは例えば [0,0,0] なら 16(header)+8*4(contents) = 48 Bytes になるようだ。
一つ中身が多いのは多分length分だろう。
元々オブジェクトだった物(26+88=116Byte)を強引にArrayに変えてこれを実現した。(項目も減らした)
ただ実際は struct { Int32, Int32, Int64 } なので本当は 16 + 4+4+8 = 32 になって欲しい。
そこで質問なのだが、
・asm.js 的記述(代入時に全部 |0 )したらメモリ確保も32bitになるかどうか
・TypedArrayの状況
を知りたい。
通常asm.jsは速度面ばかり話に出ていて、メモリ面の話が無い。
とはいえJITだと普通は無理だと思ので、
他の含めて何らかの方法でメモリ確保量を減らす方法を知っていればよろしく。
以下を見る限り、そういう用途向けではなさそうだが。
http://www.h2.dion.ne.jp/~defghi/asmjs/asmjs.htm
TypedArrayは使用メモリ自体は確実に減らせるはずだが、速度が異常に遅いのが気になっている。
以下で俺の環境だとざっくり7/7/100+/300+(以降全部)とかだ。
http://jsdo.it/sapphire_al2o3/sPa5
余計もっさりするようでは意味無い。試したことがある人は居るかい?
ググッたが、TypedArrayについては軒並み記事が古く、しかもやはり「遅い」という物が多い。
現在アプリにもっさり感がある。それであちこち修正したのだが、
ChromeDevTools/Profiles/CPU PROFILESで(program)が70-90%なのでJS側での速度改善はほぼ頭打ちだ。
そこで無理やり使用メモリを減らして速度向上させようとしている。
なお、評価はchromeで行っている。
JSのArrayは例えば [0,0,0] なら 16(header)+8*4(contents) = 48 Bytes になるようだ。
一つ中身が多いのは多分length分だろう。
元々オブジェクトだった物(26+88=116Byte)を強引にArrayに変えてこれを実現した。(項目も減らした)
ただ実際は struct { Int32, Int32, Int64 } なので本当は 16 + 4+4+8 = 32 になって欲しい。
そこで質問なのだが、
・asm.js 的記述(代入時に全部 |0 )したらメモリ確保も32bitになるかどうか
・TypedArrayの状況
を知りたい。
通常asm.jsは速度面ばかり話に出ていて、メモリ面の話が無い。
とはいえJITだと普通は無理だと思ので、
他の含めて何らかの方法でメモリ確保量を減らす方法を知っていればよろしく。
以下を見る限り、そういう用途向けではなさそうだが。
http://www.h2.dion.ne.jp/~defghi/asmjs/asmjs.htm
TypedArrayは使用メモリ自体は確実に減らせるはずだが、速度が異常に遅いのが気になっている。
以下で俺の環境だとざっくり7/7/100+/300+(以降全部)とかだ。
http://jsdo.it/sapphire_al2o3/sPa5
余計もっさりするようでは意味無い。試したことがある人は居るかい?
ググッたが、TypedArrayについては軒並み記事が古く、しかもやはり「遅い」という物が多い。
269デフォルトの名無しさん
2016/06/27(月) 00:37:31.51ID:rG4NGWrk 生成が重いだけだろ
使い方を間違えてる
使い方を間違えてる
270デフォルトの名無しさん
2016/06/27(月) 01:40:09.28ID:n3Kagte5 一応全体的に遅いということなのでそうだと勝手に思っていた。古いが以下。
http://blog.livedoor.jp/abars/archives/52103965.html
とりあえず確かめてみた結果、読み書きは1.5倍程度遅い。
許容範囲かといわれれば微妙だな、、、、
なおデータがなかなか安定しなかったので、若干怪しい。
サイズは俺が使う予定の1000にした。
このサイズなら確保との差が見えないが、オリジナルのサイズ(1.6M)だと見えていた。
function testArray(data, n, iter, start) {
var time_enter = Date.now();
for(var j=0;j<iter;j++)
for(var i = 0; i < n; i++) data[i] = i & 0xFFFFFFFF;
var now = Date.now();
return [now-time_enter, now-start];
}
function check(iter){
var start = Date.now()
console.log('array: '+testArray(new Array(count), count, iter, start));
start = Date.now();
console.log('Int32Array: '+testArray(new Int32Array(count), count, iter, start));
}
var count = 1000;
for (var i=100;i<100000000;i*=10) check(i);
http://blog.livedoor.jp/abars/archives/52103965.html
とりあえず確かめてみた結果、読み書きは1.5倍程度遅い。
許容範囲かといわれれば微妙だな、、、、
なおデータがなかなか安定しなかったので、若干怪しい。
サイズは俺が使う予定の1000にした。
このサイズなら確保との差が見えないが、オリジナルのサイズ(1.6M)だと見えていた。
function testArray(data, n, iter, start) {
var time_enter = Date.now();
for(var j=0;j<iter;j++)
for(var i = 0; i < n; i++) data[i] = i & 0xFFFFFFFF;
var now = Date.now();
return [now-time_enter, now-start];
}
function check(iter){
var start = Date.now()
console.log('array: '+testArray(new Array(count), count, iter, start));
start = Date.now();
console.log('Int32Array: '+testArray(new Int32Array(count), count, iter, start));
}
var count = 1000;
for (var i=100;i<100000000;i*=10) check(i);
271デフォルトの名無しさん
2016/06/27(月) 01:40:47.25ID:n3Kagte5 array: 1,2
Int32Array: 2,2
array: 2,2
Int32Array: 4,4
array: 22,22
Int32Array: 35,35
array: 235,235
Int32Array: 369,369
array: 2544,2544
Int32Array: 3665,3665
array: 24831,24831
Int32Array: 36757,36757
Int32Array: 2,2
array: 2,2
Int32Array: 4,4
array: 22,22
Int32Array: 35,35
array: 235,235
Int32Array: 369,369
array: 2544,2544
Int32Array: 3665,3665
array: 24831,24831
Int32Array: 36757,36757
272デフォルトの名無しさん
2016/06/27(月) 02:01:59.30ID:n3Kagte5 しかしどうやっても Int64 を生成できないのが問題だ。
実装としてはInt64を使わずにdouble64なのかな?
だったら変換が毎回発生せずに済むからいいけど。
実装としてはInt64を使わずにdouble64なのかな?
だったら変換が毎回発生せずに済むからいいけど。
273デフォルトの名無しさん
2016/06/27(月) 02:43:48.33ID:Krh8v6Tl > しかしどうやっても Int64 を生成できないのが問題だ。
はぁ?
はぁ?
274デフォルトの名無しさん
2016/06/27(月) 02:59:51.93ID:rG4NGWrk Chromeで試したけどInt32Arrayが全て上回った
275デフォルトの名無しさん
2016/06/27(月) 03:37:44.60ID:1KZKLXAx276デフォルトの名無しさん
2016/06/27(月) 04:57:14.28ID:Hl6kI6LE >>270
古いが、じゃない。あまりにもあまりにも古すぎる。
例えばV8は1年前はasm.js用の特別な最適化はしないと言っていたのが、
今では実装がほぼ完了している。
時代の流れというのはとてつもなく早いのだよ。
半年以内の記事でないと評価に値しない。
>>268
通常配列の最適化はエンジンによりまちまちだが、共通して言える分としては
全要素がSMI(≒Int32)かDouble時の最適化のみ。
SMIの要素にDoubleが交じるとそれはDouble配列として最適化される。
そして確かにasm.jsベースで書けば理論的には最大パフォーマンスに近いものが作れるだろう。
でもそれは例えば変数は同時にレジストリに乗る程度の数個に厳選して、
他は全て型付配列のアクセスに置き換えるテクから始まり、
メモリ上のデータの配置にまで気を使って初めて実現できること。
勿論大本のアルゴリズムは言うまでもなく最適でないといけない。
それが昨日今日asm.js始めたばかりの人間にできるかといえば否。
昔アセンブリで最適化してた経験でもないと人力では限界がある。
>>272
もし本当にInt64を効率よく扱いたいのなら時代が追いついていない。
丁度今議論中。3年後にどうぞ。
古いが、じゃない。あまりにもあまりにも古すぎる。
例えばV8は1年前はasm.js用の特別な最適化はしないと言っていたのが、
今では実装がほぼ完了している。
時代の流れというのはとてつもなく早いのだよ。
半年以内の記事でないと評価に値しない。
>>268
通常配列の最適化はエンジンによりまちまちだが、共通して言える分としては
全要素がSMI(≒Int32)かDouble時の最適化のみ。
SMIの要素にDoubleが交じるとそれはDouble配列として最適化される。
そして確かにasm.jsベースで書けば理論的には最大パフォーマンスに近いものが作れるだろう。
でもそれは例えば変数は同時にレジストリに乗る程度の数個に厳選して、
他は全て型付配列のアクセスに置き換えるテクから始まり、
メモリ上のデータの配置にまで気を使って初めて実現できること。
勿論大本のアルゴリズムは言うまでもなく最適でないといけない。
それが昨日今日asm.js始めたばかりの人間にできるかといえば否。
昔アセンブリで最適化してた経験でもないと人力では限界がある。
>>272
もし本当にInt64を効率よく扱いたいのなら時代が追いついていない。
丁度今議論中。3年後にどうぞ。
277デフォルトの名無しさん
2016/06/27(月) 17:22:50.14ID:PSQIpa+S Int64はなんでないのかねえ
278デフォルトの名無しさん
2016/06/27(月) 18:12:51.74ID:8aVYS4Ar 逆に考えればすぐ答えは出るよ
何故Float64Arrayはあるんだろうと
何故Float64Arrayはあるんだろうと
279デフォルトの名無しさん
2016/06/27(月) 23:12:26.18ID:n3Kagte5 >>275
今回は保存用(内部保持データ)なのでそれは使えない。
>>276
> 半年以内の記事でないと評価に値しない。
それはそうだが実際に遅い。
FF(47.0)でも試したが、上記ほどの差はなく、ほぼ1倍だった。
絶対値としては両方ともchrome(50.0.2630.1 canary SyzyASan)のInt32Arrayとほぼ同じで、
chromeのarrayが速いだけのようだ。
なお古いchrome(49.0.2623.112 beta-m)でも試したが傾向は同じ。(ただし全体的になぜか5倍ほど遅い)
とりあえず環境によるのかもしれないので、>>270の結果(>>271)を環境とともに貼ってくれれば助かる。
コピペすればそのまま実行できる。当たり前だが数字が大きい方が遅い。
なお>>271はchrome(50.0.2630.1 canary SyzyASan) + Vista だ。
> そして確かにasm.jsベースで書けば理論的には最大パフォーマンスに近いものが作れるだろう
いや、だからそれは「局所的」速度の話だろ。
俺は「全体的」速度を上げようとしている。
不要なオブジェクト生成はしていないので、メモリ攪拌はない。
ただし、どうしてもキャッシュミスは多いはずなので、これを改善しようとしている。
アクセスは150個単位で行われるため、TypedArrayにまとめてしまえばキャッシュヒットするようになる。(はず)
https://sites.google.com/site/shunichisnote/translations/data-oriented-design
ただ、今はそれ以前の段階で、全体的なメモリ使用量を削減しようとしている。
今回は保存用(内部保持データ)なのでそれは使えない。
>>276
> 半年以内の記事でないと評価に値しない。
それはそうだが実際に遅い。
FF(47.0)でも試したが、上記ほどの差はなく、ほぼ1倍だった。
絶対値としては両方ともchrome(50.0.2630.1 canary SyzyASan)のInt32Arrayとほぼ同じで、
chromeのarrayが速いだけのようだ。
なお古いchrome(49.0.2623.112 beta-m)でも試したが傾向は同じ。(ただし全体的になぜか5倍ほど遅い)
とりあえず環境によるのかもしれないので、>>270の結果(>>271)を環境とともに貼ってくれれば助かる。
コピペすればそのまま実行できる。当たり前だが数字が大きい方が遅い。
なお>>271はchrome(50.0.2630.1 canary SyzyASan) + Vista だ。
> そして確かにasm.jsベースで書けば理論的には最大パフォーマンスに近いものが作れるだろう
いや、だからそれは「局所的」速度の話だろ。
俺は「全体的」速度を上げようとしている。
不要なオブジェクト生成はしていないので、メモリ攪拌はない。
ただし、どうしてもキャッシュミスは多いはずなので、これを改善しようとしている。
アクセスは150個単位で行われるため、TypedArrayにまとめてしまえばキャッシュヒットするようになる。(はず)
https://sites.google.com/site/shunichisnote/translations/data-oriented-design
ただ、今はそれ以前の段階で、全体的なメモリ使用量を削減しようとしている。
280デフォルトの名無しさん
2016/06/28(火) 15:51:09.22ID:+n63MTqJ あのねぇ、銀の弾なんてないのよ。
JIT用最適化ってのはね、理論が正しくても1つ書き間違えただけで台無しになったりするし、
小さなベンチの結果では大きなコードの結果が予測できないこともある。
それこそ最も確実なのはAOTで予測しやすいasm.jsに出来るだけ落としこむことなのよ。
JITの範囲で君の書いたどんな代物か分からないコードが、
どうすれば良くなるかなんて最早一般的な話ではできないのよ。
もうどんな見るに耐えなくなっても良いのでとにかく速さだけを追求したいということなら、
それはもう人が書くようなJSでなくなることは確か。
そこまで行かずとも、今よりいくらか無難に改善したいということなら、
それこそそのコードに依存するとても細かな話で難しい。
というか君もそういう密接な協力をして欲しそうな態度を取ってないし、
結局はただ自分がやってることの進歩を見て欲しいとか、
寂しくないよう日記のつもりでここに書きたいだけでしょ?
そういうのが悪いとは思わないけど、ただ返信してくれた相手を否定する病を発症しちゃあオシマイよ。
そこは君の弱さだよ。
JIT用最適化ってのはね、理論が正しくても1つ書き間違えただけで台無しになったりするし、
小さなベンチの結果では大きなコードの結果が予測できないこともある。
それこそ最も確実なのはAOTで予測しやすいasm.jsに出来るだけ落としこむことなのよ。
JITの範囲で君の書いたどんな代物か分からないコードが、
どうすれば良くなるかなんて最早一般的な話ではできないのよ。
もうどんな見るに耐えなくなっても良いのでとにかく速さだけを追求したいということなら、
それはもう人が書くようなJSでなくなることは確か。
そこまで行かずとも、今よりいくらか無難に改善したいということなら、
それこそそのコードに依存するとても細かな話で難しい。
というか君もそういう密接な協力をして欲しそうな態度を取ってないし、
結局はただ自分がやってることの進歩を見て欲しいとか、
寂しくないよう日記のつもりでここに書きたいだけでしょ?
そういうのが悪いとは思わないけど、ただ返信してくれた相手を否定する病を発症しちゃあオシマイよ。
そこは君の弱さだよ。
281デフォルトの名無しさん
2016/06/28(火) 20:52:20.95ID:A7Bg25Ta そう思いたければそれでいい。
ただ、その姿勢がお前らが全く上達してない原因だと思う。
俺は間違った指摘に対して間違っていると言っただけだ。
Cの奴らがあくまで「技術的」なのとは対照的に、お前らは「精神的」な物言いばかりだ。
ある意味、やっていることが「Web的」だ。言ったもの勝ちみたいな馬鹿が多い。
とはいえ、間違っていることをいくら主張しても正しくはならない。
そもそもオブジェクトプールはインミュータブルの世界ではほぼ意味がない。
http://www.html5rocks.com/ja/tutorials/speed/static-mem-pools/
そして俺はJIT向けの最適化をしようとはしていない。
事実、メモリをケチるとか、一度にアクセスするデータを纏めるとか、どの言語でも高速化する。
実際、>>279内URLも言語には言及されてない。
もちろんそれ以前に他の改修点も多い。今はそこを整理中だ。
とはいえ、その先の「将来的改修方法」まで見据える必要があるので確認中ということになる。
>>280
ところで、何でお前はそんなに認めて君なんだ?
俺の質問は「asm.jsでフットプリント削減/メモリ配置決めうちは出来るか」であって、
「asm.jsで局所的高速化が出来るか」ではない。
つまり、脱線しているだけだから素っ気ない回答になっているだけだ。
俺がやろうとしているのは、君が思っているasm.jsの使い方ではない。
ただ、その姿勢がお前らが全く上達してない原因だと思う。
俺は間違った指摘に対して間違っていると言っただけだ。
Cの奴らがあくまで「技術的」なのとは対照的に、お前らは「精神的」な物言いばかりだ。
ある意味、やっていることが「Web的」だ。言ったもの勝ちみたいな馬鹿が多い。
とはいえ、間違っていることをいくら主張しても正しくはならない。
そもそもオブジェクトプールはインミュータブルの世界ではほぼ意味がない。
http://www.html5rocks.com/ja/tutorials/speed/static-mem-pools/
そして俺はJIT向けの最適化をしようとはしていない。
事実、メモリをケチるとか、一度にアクセスするデータを纏めるとか、どの言語でも高速化する。
実際、>>279内URLも言語には言及されてない。
もちろんそれ以前に他の改修点も多い。今はそこを整理中だ。
とはいえ、その先の「将来的改修方法」まで見据える必要があるので確認中ということになる。
>>280
ところで、何でお前はそんなに認めて君なんだ?
俺の質問は「asm.jsでフットプリント削減/メモリ配置決めうちは出来るか」であって、
「asm.jsで局所的高速化が出来るか」ではない。
つまり、脱線しているだけだから素っ気ない回答になっているだけだ。
俺がやろうとしているのは、君が思っているasm.jsの使い方ではない。
282デフォルトの名無しさん
2016/06/29(水) 20:10:31.16ID:oxwc/50g 自分の話なのに他人を非難し始めた!?
こりゃ重病や〜
こりゃ重病や〜
283デフォルトの名無しさん
2016/06/29(水) 20:14:07.66ID:oxwc/50g こいつの親はなんで
「相手がどう思うかが大事」
「自分が伝えたつもりでも相手に伝わってなかったら意味が無い」
って教えてやらなかったのかな……
むごいね。
「相手がどう思うかが大事」
「自分が伝えたつもりでも相手に伝わってなかったら意味が無い」
って教えてやらなかったのかな……
むごいね。
284デフォルトの名無しさん
2016/06/30(木) 01:34:38.72ID:YtNZP2Mq ちなみに、当面の問題は解決した。
実はもっさりというよりはカクカクに近かったのだが、原因はキャッシュによるHDDアクセスの過剰だった。
ヘッダに cache-control: no-store を追加したところ、完全に治った。
ただそれでも(program)が70-90%であることには変わりないのだが、
スクレイピング中でも(idle)は80%以上なので、キビキビ感はある。
前にも書いたが、(>>109)
CPUだけで動く部分は実は相当速くて、UIが主なJavaScriptではCPUを使い切ることはないのかもしれない。
俺の場合はスクレイピングが律速過程なので、サーバの速度が上がらない限りここで頭打ちだ。
数値計算のように完全にCPUだけで回るのなら限界が見えるが、そういう用途はないし。
遅延描画は制御がやや面倒だが、実現してしまえばDOMは1画面分しか扱う必要がなく、一瞬で処理される。
俺のアプリに関して言えば、階層スクレイピングを行っているので、
下位階層を参照する時は更新されていることが確定している。
だから no-store で全く問題ないし、あと5倍の余裕があるので、残るは美学的問題だけになった。
ここを修正するかはしばらく様子見になる。
情報をくれた人はありがとう。
実はもっさりというよりはカクカクに近かったのだが、原因はキャッシュによるHDDアクセスの過剰だった。
ヘッダに cache-control: no-store を追加したところ、完全に治った。
ただそれでも(program)が70-90%であることには変わりないのだが、
スクレイピング中でも(idle)は80%以上なので、キビキビ感はある。
前にも書いたが、(>>109)
CPUだけで動く部分は実は相当速くて、UIが主なJavaScriptではCPUを使い切ることはないのかもしれない。
俺の場合はスクレイピングが律速過程なので、サーバの速度が上がらない限りここで頭打ちだ。
数値計算のように完全にCPUだけで回るのなら限界が見えるが、そういう用途はないし。
遅延描画は制御がやや面倒だが、実現してしまえばDOMは1画面分しか扱う必要がなく、一瞬で処理される。
俺のアプリに関して言えば、階層スクレイピングを行っているので、
下位階層を参照する時は更新されていることが確定している。
だから no-store で全く問題ないし、あと5倍の余裕があるので、残るは美学的問題だけになった。
ここを修正するかはしばらく様子見になる。
情報をくれた人はありがとう。
285デフォルトの名無しさん
2016/06/30(木) 06:40:45.54ID:K37QNM6P こういう自分用語多用・技術文書風自分語り・後出し情報でドヤ顔・他言語へのコンプレックスを持つ>>284を
スルーできないことこそ、お前らwが上達できない理由wだと思うよ
スルーできないことこそ、お前らwが上達できない理由wだと思うよ
286デフォルトの名無しさん
2016/06/30(木) 14:59:19.41ID:YdAxXmxA 普段スルーするようなキチガイでも無人島じゃコミュニケーション取るしかないのと同じ。
287デフォルトの名無しさん
2016/07/17(日) 18:00:55.04ID:UzC9Qtsn http://echo.2ch.net/test/read.cgi/tech/1468158373/213
質問スレ>>213
自己紹介乙。
てかお前はどうしてそこにこだわるのか全く謎なのだが。
普通に考えれば、引き算が出来るのならMDNで、
> var elapsed = end.getTime() - start.getTime(); // 時間をミリ秒で表す
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date
これは明らかにおかしくて、
var elapsed = end - start; // 時間をミリ秒で表す
となるべきだろ。お前が言う「経験のある」奴ならここに地雷臭をかぎ取るわけ。
何らかの理由で getTime() しないといけないんだよ。
とはいえ、今1stEdition(1997)見ても abstruct operator という単語自体は使ってないが、
他は同じなので、最初から出来たのではないかとも思うのだが、、、まあよく分からん。
http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%201st%20edition,%20June%201997.pdf
実際、彼がググって来た例でも直接引き算してないだろ。
俺が(当時)ググッた限りでも出てこなかったから、何かしら理由があるのだと思う。
というわけで俺は「使えない」判定を下していた。
で、これは多分「既に他言語を知っている奴」の普通のやり方なんだよ。
俺がお前に「経験がない」と断定しているのはこういうのが全く通じてないから。
何度も言っているが、お前はもっと書いた方がいい。
ここに質問に来る奴の大半は、「MDNを読め」で済む。
ただお前はもう教科書的な知識は十分にあるんだよ。
だから仕様書をいくら読んでもそれ以上にはならない。
お前が上達するには、書くしかないんだよ。
質問スレ>>213
自己紹介乙。
てかお前はどうしてそこにこだわるのか全く謎なのだが。
普通に考えれば、引き算が出来るのならMDNで、
> var elapsed = end.getTime() - start.getTime(); // 時間をミリ秒で表す
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date
これは明らかにおかしくて、
var elapsed = end - start; // 時間をミリ秒で表す
となるべきだろ。お前が言う「経験のある」奴ならここに地雷臭をかぎ取るわけ。
何らかの理由で getTime() しないといけないんだよ。
とはいえ、今1stEdition(1997)見ても abstruct operator という単語自体は使ってないが、
他は同じなので、最初から出来たのではないかとも思うのだが、、、まあよく分からん。
http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%201st%20edition,%20June%201997.pdf
実際、彼がググって来た例でも直接引き算してないだろ。
俺が(当時)ググッた限りでも出てこなかったから、何かしら理由があるのだと思う。
というわけで俺は「使えない」判定を下していた。
で、これは多分「既に他言語を知っている奴」の普通のやり方なんだよ。
俺がお前に「経験がない」と断定しているのはこういうのが全く通じてないから。
何度も言っているが、お前はもっと書いた方がいい。
ここに質問に来る奴の大半は、「MDNを読め」で済む。
ただお前はもう教科書的な知識は十分にあるんだよ。
だから仕様書をいくら読んでもそれ以上にはならない。
お前が上達するには、書くしかないんだよ。
288デフォルトの名無しさん
2016/07/17(日) 18:23:29.08ID:UzC9Qtsn 一応俺の疑問としては、
ToPrimitive(Number) は 無変換で Number そのものを返す。(9.1)
ToNumber(Number) は 無変換で Number そのものを返す。(9.3)
GetValue(V)はVが参照でなければ V そのものを返す。(8.7.1)
+ は ToPrimitive(GetValue(target))の型がStringならString連結、
そうでないなら ToNumber(ToPrimitive(GetValue(target))) で数値の和を返す。(11.6.1)
Date型は内部に time values を持ち、abstruct operationはこれを対象とする。(15.9.1)
だったら足し算も出来ないと駄目じゃね?ってことね。
厳密に言えばGetValueはabstruct operation ではないので、
仕様と実装に矛盾が無い為には、 GetValue(time values) がStringを返す必要がある。
こうなんだっけ?
ToPrimitive(Number) は 無変換で Number そのものを返す。(9.1)
ToNumber(Number) は 無変換で Number そのものを返す。(9.3)
GetValue(V)はVが参照でなければ V そのものを返す。(8.7.1)
+ は ToPrimitive(GetValue(target))の型がStringならString連結、
そうでないなら ToNumber(ToPrimitive(GetValue(target))) で数値の和を返す。(11.6.1)
Date型は内部に time values を持ち、abstruct operationはこれを対象とする。(15.9.1)
だったら足し算も出来ないと駄目じゃね?ってことね。
厳密に言えばGetValueはabstruct operation ではないので、
仕様と実装に矛盾が無い為には、 GetValue(time values) がStringを返す必要がある。
こうなんだっけ?
289デフォルトの名無しさん
2016/07/17(日) 18:30:48.46ID:PyzTEoPA まだ43cmの深淵にはたどり着けないようだなw
290デフォルトの名無しさん
2016/07/17(日) 18:40:03.90ID:UzC9Qtsn291デフォルトの名無しさん
2016/07/17(日) 18:50:05.41ID:UzC9Qtsn ああ、引き算を確認するの忘れてた。
- は ToNumber(GetValue(target)) を引いて差を返す (11.6.2)
ToNumber(String) は 9.3.1 に従いパースする (9.3)
9.3.1内にはDate.toString()出力をパースする仕様はない。
だからGetValue(time values)はNumberを返さないと引き算は出来ない。
となると足し算も出来ないと仕様外のように思える。
なお確認している仕様はECMA5.1
http://www.ecma-international.org/ecma-262/5.1/#sec-11.6.1
- は ToNumber(GetValue(target)) を引いて差を返す (11.6.2)
ToNumber(String) は 9.3.1 に従いパースする (9.3)
9.3.1内にはDate.toString()出力をパースする仕様はない。
だからGetValue(time values)はNumberを返さないと引き算は出来ない。
となると足し算も出来ないと仕様外のように思える。
なお確認している仕様はECMA5.1
http://www.ecma-international.org/ecma-262/5.1/#sec-11.6.1
292デフォルトの名無しさん
2016/07/17(日) 18:54:57.34ID:PyzTEoPA293デフォルトの名無しさん
2016/07/17(日) 18:55:32.09ID:PyzTEoPA >>291
だから仕様通り(笑)
だから仕様通り(笑)
294デフォルトの名無しさん
2016/07/17(日) 19:13:09.85ID:UzC9Qtsn >>292
まあ何か思惑があるのならそれでいい。
ただ俺が見る限り今のところはAddが出来てもおかしくない仕様のように見える。
もちろん俺は仕様書なんてほぼ見てないから、先のように単語を変更されていると気づけないが。
まあいいや、とりあえず新着情報があるまではどうにもならんし。
現実的にDateが揃いも揃って仕様違反って事もないだろうし、
先の例のように俺が仕様書を読み慣れていないせいで見落としている部分があるのだろう。
まあ何か思惑があるのならそれでいい。
ただ俺が見る限り今のところはAddが出来てもおかしくない仕様のように見える。
もちろん俺は仕様書なんてほぼ見てないから、先のように単語を変更されていると気づけないが。
まあいいや、とりあえず新着情報があるまではどうにもならんし。
現実的にDateが揃いも揃って仕様違反って事もないだろうし、
先の例のように俺が仕様書を読み慣れていないせいで見落としている部分があるのだろう。
295デフォルトの名無しさん
2016/07/17(日) 19:23:49.21ID:UzC9Qtsn > (今回で言えば日付型同士の減算が可能!?) (質問スレ>>213)
あと一応言っておくと、日付型ってのは普通は減算出来るんだよ。
だから質問者もいきなり減算しているし、
俺も逆にそれが出来ない!ってことでMDNに奇妙さを感じるわけでね。
だからこの点についても、この反応、もう一度書くと、
> (今回で言えば日付型同士の減算が可能!?) (質問スレ>>213)
これは経験豊富ならあり得ないんだよ。
で、そういうのは明らかにバレバレだから、
普通に考えてお前が経験豊富だと思う奴はいないと思うんだよね。
何でそこにこだわるのか全く分からないんだけど。
匿名掲示板で虚勢を張る意味無くね? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
あと一応言っておくと、日付型ってのは普通は減算出来るんだよ。
だから質問者もいきなり減算しているし、
俺も逆にそれが出来ない!ってことでMDNに奇妙さを感じるわけでね。
だからこの点についても、この反応、もう一度書くと、
> (今回で言えば日付型同士の減算が可能!?) (質問スレ>>213)
これは経験豊富ならあり得ないんだよ。
で、そういうのは明らかにバレバレだから、
普通に考えてお前が経験豊富だと思う奴はいないと思うんだよね。
何でそこにこだわるのか全く分からないんだけど。
匿名掲示板で虚勢を張る意味無くね? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
レスを投稿する
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★4 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★4 [蚤の市★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否★5 [夜のけいちゃん★]
- 解体ごみ約2.3トンを山に不法投棄か トルコ国籍解体工を逮捕 埼玉 [どどん★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★6 [ぐれ★]
- 【悲報】昔の偉い人「愚者は経験から学び、賢者は歴史から学ぶ」僕「ジャップは経験からも学ばなかったんだが?」 [616817505]
- 【悲報】「やったー!こだわりまくった洋館仕立ての家を建てたぞ!」➡「「離婚したんで住まずに売ります……」 [158478931]
- 左翼「銭は投げられた」 [279254606]
- 精神する時の🏡
- お昼休みなので>>2のキャラをかいてあそぶ
- みっちゃん「南鳥島にレイアース資源が眠っているのは皆さんご存知のはずです。そのレイアースを中国が狙ってます」高市 [931948549]
