- 【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net
554 :デフォルトの名無しさん[sage]:2017/04/18(火) 01:27:12.80 ID:xAHUlHha - >>553
いや、それだと全部用意しないといけなくなるでしょ。 ダックタイピングだと必要なところだけ用意すればいいし、つまみ食いも出来る。その分楽。 丁度C++のスレが同じ事を言っているけど、 http://echo.2ch.net/test/read.cgi/tech/1490917669/137- そりゃ全てのオブジェクトが isScrollable や isSerealizable を持っているのが美しいだろうさ。 しかしそれは通常は余計に手間が増えるだろ。 インタフェースが肥大化するか、基底クラスが肥大化するかで。 だったらJavaScriptみたいに、 var obj_serialized = (obj.serialize)? obj.serialize() : null; とか、 SomeObj.prototype.serialize = function(){}; とか、出来たら融通は利くでしょ。少なくとも「今」やりたいことは出来るようになる。 それが後々逆に足を引っ張ることになるかどうかは腕次第でしょ。 ただし、どっちが楽かという話であって、 出来るか出来ないかで言えば、同じだよ。同じ事を逆からアプローチしてるだけだから。 JavaScriptについて言えば、 初期状態は全ての名前のメソッドを定義してあるが、実装してない状態だと言える。 だから未実装ならundefinedが返ってくるし、実装済みなら使える。 C++とかだと、初期状態は全く定義がなくて、自分で全て追加しないといけない。 でも全てのダックタイピングを可能にしようとしたら、 型消去するなりして全てのインタフェースに対応しないといけなくなる。 これってJavaScriptの初期状態と同じでしょ。 C++のテンプレートは空回り感が酷い。 UIなんて張り切って実装しても意外に糞だったりするので、 とりあえず実装してから確認したいってのはある。 そういう時はJavaScriptみたいな、とりあえずサクサク実装出来る言語の方が向いている。
| - 【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net
561 :デフォルトの名無しさん[sage]:2017/04/18(火) 21:12:55.65 ID:xAHUlHha - >>558
俺はPythonは知らないのでJavaScriptとの比較は出来ない。 ただPythonはクロージャに難ありなので今後も使う気はない。 改行が強制されるのも気に入らない。 JavaScriptは書いてて気持ちがいいんだよ。 理由は簡単で、全て具だから。 型等の動作には関係ない物がないから、動作に集中出来る。 なるほどMatzが目指したのはこれだったのか、というのは分かった。 だから俺が次にやるとしたらRubyだね。 今のところ、俺は型自体はは要らないという結論だ。 名前通りの型しか付けないので、見りゃ分かる。 ただ、現実として、実行前にタイプミスを見つけてくれないから困っている。 ダックタイプや動的に使う場所なんて限られているのだから、 そういう場所に対してワーニング出してくれるだけでいいんだが。 そのためのリントを探してはみたものの、 JavaScriptのリンターはそんな方向では全くなかった。 あと、C++が糞なのはクラスは全て独立で親クラスを掴めないことだ。 だから細かくクラスを階層化出来ない。というか、やると余計に手間が増える。 ここら辺はJavaでは改善されていて、明示的に掴めるし、 JavaScriptではデフォで掴んでる。(レキシカルスコープ) 粗結合を目指すのならJava方式がいいし、 お気楽を目指すのならJavaScriptの方がいい。 ところで初心者はそういう「短く書ける方がイイ」みたいなことをよく言うが、 君が本当に一万行のコードを書ける奴なら、それは意味無いと分かるだろ。 そしてそれをここで聞くのも意味無い。 だって俺の腕前なんて未知数だし、ここでは無駄に吠える初心者も多いし。 一般論としては、Pythonはキャズムを越えているっぽいから、 学んでも無駄にはならないと思うよ。
| - 【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net
562 :デフォルトの名無しさん[sage]:2017/04/18(火) 21:41:20.30 ID:xAHUlHha - ああすまん、質問はPythonではなくて、JavaScriptを学ぶべきか?だったか。
俺が勘違いしてた。 これは俺は正確には答えられないね。 俺は他言語使えるわけではないし。 そもそも道具なんだから、今困ってなければ学ぶ必要はないだろ。 新しいプログラミングを学びたいというのなら、 結局どの言語も似たり寄ったりの方向に進化しつつあるし、 とりあえず「進化している言語」を一つ追跡しておけば問題はないだろ。 一番速いのは多分Rubyだろうし、この点ではPythonは遅いほうだよ。 同様に、この点でJavaScriptを選択する意味はない。 逆に、今使うというのなら、グダグダ言う意味もないだろ。 Web環境ではJavaScript以外の選択肢はないんだし。
|
|