【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2014/11/30(日) 16:37:06.44ID:5uzk+wAi前スレ
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1409066255/
0002デフォルトの名無しさん
2014/11/30(日) 21:51:45.85ID:bNeO5hsT0003デフォルトの名無しさん
2014/12/02(火) 19:11:18.94ID:/6Huup+yhttp://i.imgur.com/2f8fP3F.jpg
http://i.imgur.com/u0ymg8c.jpg
http://i.imgur.com/LruEssT.png
http://i.imgur.com/AeSQqRT.jpg
http://cisburger.com/up/bnf/6016.jpg
http://up.pangya.tv/src/www_pangya_tv18594.jpg
0004デフォルトの名無しさん
2014/12/08(月) 15:14:29.15ID:GWthvr5Sなんで必要だと思ったの?
0005デフォルトの名無しさん
2014/12/08(月) 20:46:43.66ID:udv9S2ph乙
こんなに過疎ってるということは、結論が出たということでいいのか?
結局どのスクリプトが一番になったんだ?
0006デフォルトの名無しさん
2014/12/08(月) 23:05:10.80ID:G3zxmRseこのスレは隔離スレ。
他のスレが荒れるから立てる。
そういうものだ。
0007デフォルトの名無しさん
2014/12/10(水) 16:16:58.93ID:q/v86HhL現在メジャーな言語と 違ってRubyのブロックローカル変数はshadowingをしないのだ。
ブロックの内側でiに代入しても外側に同じ名前があればそれを使う。
だから内側でiに代入すれば外側のiの値が変わる。
この点に関しては何度も何度も「間違いやすいからshadowingしてくれ」
という文句が出てそのたびにフレーム寸前になるのだが、 いまだに結論は出ていない。
0008デフォルトの名無しさん
2014/12/10(水) 19:53:50.50ID:veDvxwge> いまだに結論は出ていない。
10年以上も前(2002年)に書かれた RHG(Ruby Hacking Guide)を引用して、
いったい何を主張したいのだろうか???(困惑)
・第8章 Ruby言語の詳細(節「ブロックローカル変数」を参照)
http://i.loveruby.net/ja/rhg/book/spec.html
すでに結論は出て、Ruby 1.9 では仕様が追加されている
まったくいつものことながら、アンチ Ruby はレベルが低い
0009デフォルトの名無しさん
2014/12/10(水) 22:55:56.25ID:ALqE/ik/アタマ悪いなあw
0010デフォルトの名無しさん
2014/12/11(木) 20:36:27.72ID:GpAyUabF何を言いたいのかよく分からんが、>>7 で指摘されてた Ruby 1.8 の
問題(バグ)は結論が出て対策を終えている
・Ruby 2.0 ブロックローカル変数 -- Matzにっき(2005-03-09)
http://www.rubyist.net/~matz/20050309.html#p03
この記事では 2.0 となっているが、実際には 1.9 で対策を終えた
・ブロックパラメータ(仮引数)に関する変更 -- 第3回 Ruby1.9の新機能ひとめぐり(中編)
http://gihyo.jp/dev/serial/01/ruby/0003
Ruby 1.9 以降でブロックローカル変数に関する話題は記憶にないんだけど、
> みんなを納得させるほどの「結論」じゃない
と主張する根拠(ソース)は何よ?
0011デフォルトの名無しさん
2014/12/13(土) 00:32:10.76ID:cDWMVZ6eアンチはそんな前の話を引っ張りだすのか…
0012名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:23:50.61ID:gzcIElevまだソースを探しているのかな?いつまで待てばいいのかな?
とりあえず「みんなを納得させるほどの「結論」じゃない」にふさわしい、
過去の状況をクロージャのスレで発掘してみたから、コピペしとくね
http://peace.2ch.net/test/read.cgi/tech/1415419907/197
アタマ悪い自分でも、たいへん分かりやすかったです
--
調べてみると、Python のラムダ式で任意の文が書けないという問題(>>189)は、
過去に何度もネット上で話題になっていたようだね:
・Is it possible to have multiple statements in a python lambda expression? - Stack Overflow (May 14 '09)
http://stackoverflow.com/questions/862412/is-it-possible-to-have-multiple-statements-in-a-python-lambda-expression
・syntax - No Multiline Lambda in Python: Why not? - Stack Overflow (Aug 5 '09)
http://stackoverflow.com/questions/1233448/no-multiline-lambda-in-python-why-not
・Why doesn't Python allow multi-line lambdas? - Programmers Stack Exchange (Aug 7 '11)
http://programmers.stackexchange.com/questions/99243/why-doesnt-python-allow-multi-line-lambdas
そして、この問題を解決すべく数多くの提案が出された:
・AlternateLambdaSyntax - Python Wiki
https://wiki.python.org/moin/AlternateLambdaSyntax
それら提案の中には、Ruby のブロックを真似しよう(similar to Ruby's blocks)、というものまであった
・[Python-ideas] Proposal for function expressions - Grokbase
http://grokbase.com/t/python/python-ideas/097ccjz2c3/proposal-for-function-expressions
しかし残念ながら、これ以上続けても収束しそうもないから議論は打ち切り、とGuido氏が宣言(強権発動?)して終わった
・[Python-Dev] Let's just *keep* lambda
https://mail.python.org/pipermail/python-dev/2006-February/060415.html
この顛末をGuido氏は「複数行のラムダは解けないパズル(unsolvable puzzle)」と語っている
・Language Design Is Not Just Solving Puzzles
http://www.artima.com/weblogs/viewpost.jsp?thread=147358
0013名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:52:29.24ID:mun2L3Ud0014デフォルトの名無しさん
2014/12/16(火) 16:14:56.43ID:1En3+I8i大クラス主義もあいまって横に短く縦に長いコードが出来上がって読みにくい
Ruby使いが_アンダースコアを_使って_長いメソッド名に_したり、
ブロックまでワンライナーにするのは右の広大なスペースを埋めたい意識からくるものとみた
0015デフォルトの名無しさん
2014/12/16(火) 23:21:02.38ID:z7aLkit8大クラス主義は標準クラスがそうなってるだけで、実際に組む人は好きにしてええんやで
0016デフォルトの名無しさん
2014/12/17(水) 20:47:23.70ID:+9Ck4qiZRubyみたいにコールバックまみれになるくらいなら複数行ラムダなんて要らない
思想の違いはともかく、Rubyは逆に単一式のラムダがクソだよなあ
0017デフォルトの名無しさん
2014/12/17(水) 21:04:42.40ID:1SvlGPIfけどあまり読みやすくないんだよね
デバッグもしにくいし...
Rubyは本人の書きやすさ、Pythonは読みやすさを重視してるようには感じるな
0018デフォルトの名無しさん
2014/12/18(木) 01:43:19.85ID:yEo6hhGd( ・∀・) ほー それで
( : )
し─J
0019デフォルトの名無しさん
2014/12/18(木) 07:07:53.65ID:dhoATtehPythonはネストが増えると非常に読みづらくなるのとブロック引数も無いのとで、
自然に呼び出し側主導のフラットなインターフェースになる
そのへんが、Pythonがバッチ処理などスタンドアロンな処理向きで
Rubyが受動的なDSLっぽい使い方に向いてると言われる違いに繋がるんだろうな
0020デフォルトの名無しさん
2014/12/18(木) 21:45:53.18ID:T9e6uGP2だけどPythonを使ってしまう
0021デフォルトの名無しさん
2014/12/18(木) 23:49:34.96ID:Q3s7ZOJ1組み込み系とデータ分析ではpythonは意欲的だしこの世界は面白い分野なんだけどrubyはWeb系に迎合し過ぎた結果出遅れてマイナスモデレートな印象はある。
(Ruby+Web系)=信者というマイナスダウなーパターンだな。本当はスクリプトは汎用的でないといけない。
rubyマニュアルも完成度は不十分だし昔のほうが理解しやすいのも痛いな。どうなってるんだろうか。
perlも含めてスクリプト言語はみな似たようなもんだから流行り廃れは差はないと思うけど
市民権を得ているが故にJavaScriptなどは廃れるときは一気に廃れるみたいな印象はあるな。かってのBASICのように。
0022デフォルトの名無しさん
2014/12/19(金) 06:45:37.83ID:PUmTLpspすっかりWebの雑な文化に染まっちゃったし話題の中心も海外に移ってしまって
昔みたいにとっつきやすくて丁寧な言語というRubyのイメージは見る影もないね
0023デフォルトの名無しさん
2014/12/19(金) 07:09:07.97ID:HhVLGmY7それは外から見る人の話であって、Ruby自体は昔から基本的に変わってないんだけどね
0024デフォルトの名無しさん
2014/12/19(金) 09:40:36.86ID:DKkZHFaw0025デフォルトの名無しさん
2014/12/19(金) 21:13:21.85ID:HPHvdUjT俺はRuby派ではないが、Rubyは生き残るとは思う
0026デフォルトの名無しさん
2014/12/19(金) 21:31:21.31ID:DoBbPk690027デフォルトの名無しさん
2014/12/19(金) 23:51:04.05ID:WpPXZLSV↓明らかにRailsより落ち目
Node.js関連…トップフレームワークが開発終了どころか、遂にNode.js本体が内ゲバで崩壊wwwww
Django…今となっては「Rails並に優れていたフレームワークのひとつ」
PHP…毎年のようによく分からんフレームワークが出てきては消えていく。Wordpressは残りそうだけど。
Java関連…言語自体がRubyに劣らず落ち目だし、フレームワークも分散気味 そもそも幾らシェアが有ろうがJavaを書いてる時点で負け組
↓明るいといえるのはこれぐらいか
Play!…意識高い()Java使いと希少種のScala使いがどれだけ増えるかによる
ASP.NET…公式がやや乱立させているがLinux対応もはじまったし流行りそう
0028デフォルトの名無しさん
2014/12/20(土) 02:39:03.10ID:UrvdWPDNRail3が出た時の衝撃はもうなさそうだけど
0029デフォルトの名無しさん
2014/12/20(土) 08:19:39.91ID:SYn/VWgottps://www.google.co.jp/trends/explore#q=%2Fm%2F0505cl%2C%20%2Fm%2F06y_qx&cmpt=q
0030デフォルトの名無しさん
2014/12/20(土) 22:09:40.02ID:Hte/4WZEフレームワークの問題じゃないでこれ
0031デフォルトの名無しさん
2014/12/20(土) 22:56:08.07ID:odgp3zye加えて最大の負荷対策はインスタンス復数作ってロードバランサーでセッション持ち越して切り分けたりSSDにすることなんだけど、
言語やフレームワークなんてそれに比べたらゴミみたいなものだよ
0032デフォルトの名無しさん
2014/12/21(日) 08:13:39.35ID:KrmABo99サーバ台数が1/2以下になるって本当ですか?
0033デフォルトの名無しさん
2014/12/21(日) 08:30:21.21ID:CX1bA/sHブームは終わって淘汰される時期が来てるんだろう
ttp://www.google.co.jp/trends/explore#q=%2Fm%2F0505cl%2C%20%2Fm%2F06y_qx%2C%20%2Fm%2F02vtpl%2C%20%2Fm%2F02_qnn%2C%20%2Fm%2F0dhx5b&cmpt=q
Wordpress以外はどうなるか予見できないけど、今更PHPはねー...
俺はsinatra、bottle.pyみたいな軽量お手軽ものにシフトしておく
0034デフォルトの名無しさん
2014/12/21(日) 13:07:03.85ID:1u8zO5/f0035デフォルトの名無しさん
2014/12/21(日) 19:59:28.76ID:Lo0IyhhH嘘でーす
0036デフォルトの名無しさん
2014/12/21(日) 21:56:13.75ID:DX6UP5Bm0037デフォルトの名無しさん
2014/12/21(日) 22:02:35.32ID:psTz6RigRubyはそんな分野なんかハナから勝負しようなんて思ってないだろうし、別にいいんじゃね?
Javaも数値計算に向いてるとはいえないけど
0038デフォルトの名無しさん
2014/12/21(日) 22:07:43.28ID:DX6UP5Bmオブジェクト作らないように書かなきゃいけないから記述性でC++に劣るけど
0039デフォルトの名無しさん
2014/12/21(日) 22:38:28.19ID:Lo0IyhhHNumpyより遅いベンチマークすらなかったけ
0040デフォルトの名無しさん
2014/12/21(日) 22:45:36.40ID:1u8zO5/f0041デフォルトの名無しさん
2014/12/21(日) 23:58:49.11ID:YWufr8fT>Rubyはそんな分野なんかハナから勝負しようなんて思ってないだろうし、別にいいんじゃね?
ところがぎっちょん、HPC Ruby というプロジェクトがある:
http://toro.2ch.net/test/read.cgi/tech/1382307475/347
この URL にアクセスすると人大杉らしいので、ログを貼っておく
--
347 名前: デフォルトの名無しさん Mail: sage 投稿日: 2014/01/26(日) 21:42:45.23
>>336-341
バイナリを吐き出す訳ではなくて(Rubiniusと同様に)
Rubyソースを内部でネイティブコードへコンパイルする方式であれば、
HPC Ruby(High Performance Computing Ruby)というプロジェクトがある
・ベンチマークによればJavaを越えGCCに匹敵する性能を叩き出し、
これまでのRuby1.9(YARV)やRubinius(LLVM)と比較すれば100倍以上の圧倒的な性能
・実現技術としてはソースを静的解析して型推論で確定できた部分だけをコンパイルするもので、
既存の高速スクリプトエンジンであれば(PyPy(JIT)というよりも)asm.js が近いと思われる
・当然、(PyPyとは異なり)フルセットのRuby仕様をサポートする一方で、
(asm.jsと同様に)あらゆるコードが高速化する訳ではない
・作者様は日本人なので、「HPC Ruby」でググると複数の日本語情報を発見できる。たとえば:
・HPC Ruby: 静的解析に基づく Ruby の高度最適化コンパイラ
http://ci.nii.ac.jp/naid/110008583419
・あまりの衝撃故か、Rubyコミュニティですら話題になることは殆どない
この技術が本家Rubyツリーへマージされる日は、はたしてやってくるのだろうか....?
0042デフォルトの名無しさん
2014/12/22(月) 00:23:34.77ID:VRBNRD9fそこはPHPと言っておかないと暴れ出す馬鹿が居るし
Perl使ってる人間でも今CGIとして使ってる人間は少ないからもうPHPってことでいいよ
0043デフォルトの名無しさん
2014/12/22(月) 07:20:59.39ID:+y3wtk/Eプロジェクトっつーか、論文な
実装もない現状でプロジェクトとは言わん
0044デフォルトの名無しさん
2014/12/22(月) 07:35:56.91ID:JbUWZTgkRubyだと1マシン内で複数のプロセスを走らせなきゃコアを使いきれないからその時点で極めて不利
0045デフォルトの名無しさん
2014/12/22(月) 11:15:55.14ID:vmBo1gPk0046デフォルトの名無しさん
2014/12/22(月) 11:59:25.70ID:yqQU7aar0047デフォルトの名無しさん
2014/12/22(月) 15:05:18.07ID:znWxxxfY同期コストの話をしてるんだよ
プロセス跨ると同期コストが増える
HPCだと、ノードを跨った並列化はMPIでやるけどノード内ではOpenMP使ったりする
0048デフォルトの名無しさん
2014/12/22(月) 15:37:18.34ID:VRBNRD9fWeb言語としては流石に下火な上に、毎回プロセス生成はないだろもう
0049デフォルトの名無しさん
2014/12/22(月) 16:16:22.72ID:RwUgfAkQ今はPSGIを挟んで使う。
http://ja.wikipedia.org/wiki/PSGI
0050デフォルトの名無しさん
2014/12/22(月) 17:39:50.22ID:vmBo1gPk0051デフォルトの名無しさん
2014/12/22(月) 18:37:02.06ID:JbUWZTgk0052デフォルトの名無しさん
2014/12/22(月) 20:53:33.26ID:vmBo1gPk0053デフォルトの名無しさん
2014/12/22(月) 23:21:11.30ID:FwtQf1DqルビーとかPHPみたいに
"$a"みたいなやつ
C#のstring.Format的なのは見つかったけどさ。イライラしないの??
0054デフォルトの名無しさん
2014/12/22(月) 23:49:20.40ID:vmBo1gPkパーサが大変なことになってる。Python は % 演算子でだいたいの用は足りると思うが。
0055デフォルトの名無しさん
2014/12/23(火) 00:08:02.46ID:VeD/Sus80056デフォルトの名無しさん
2014/12/23(火) 12:17:08.86ID:c9ex9EMGギャグで言ってるのか?w
perl大好きな初めてのperlみたいなラクダ本でも、
CGIのCの字も出てこないぞ。
phpはwordpress専用のDSL言語(キリッ)
0057デフォルトの名無しさん
2014/12/23(火) 12:43:43.43ID:pWRQK/2A0058デフォルトの名無しさん
2014/12/23(火) 16:20:24.86ID:BQHHJ9UZラクダ本は初めてのperl的な本ではなくね?w
0059デフォルトの名無しさん
2014/12/23(火) 18:11:03.07ID:c9ex9EMGリャマ本だったw
ラクダ本はラリーが書いたプログラミングperlだったわ。
>>57
DSLだったわ。
2つも間違えるとは、これは恥ずかしいw
0060デフォルトの名無しさん
2014/12/27(土) 08:45:58.92ID:XBIQMIzH0061デフォルトの名無しさん
2014/12/27(土) 09:04:29.03ID:kjN3kdaXスクリプトがボトルネックになる時点で負け、無能、ゴミ設計
0062デフォルトの名無しさん
2014/12/27(土) 22:51:03.24ID:dSw+At/c模範的な回答をすると、
ググる → 見つからないなら自分で計測する → 公開する
0063デフォルトの名無しさん
2014/12/27(土) 23:03:01.67ID:randw1SU良く分かんなくなる予感
0064デフォルトの名無しさん
2014/12/28(日) 04:38:18.21ID:eItugvHwv8 > pypy > PHP > Ruby
という認識でいいと思う
どちらにしろJavaC#に比べたら10倍は遅いし、C/C++に比べたら100倍は遅いんだけどね
0065デフォルトの名無しさん
2014/12/28(日) 08:40:51.28ID:fKzSeI49スクリプトの実用性は
「アプリケーションコードの実行コストはIOに比べて無視できる」
という大前提に基づいており、それを覆したベンチマークは無意味
そして、インタプリタが少々速くなったところでその前提の適用範囲はほとんど広がらない
0066デフォルトの名無しさん
2014/12/28(日) 08:53:32.86ID:fKzSeI49「運用コストに比べてスクリプトを書く手間が無視できない」というのもあるね
ちょっとしたバッチ処理がこれに当てはまるけど、そういうのはPythonやPerlが圧倒的に多く使われてるからRubyと比べるまでもない
0067デフォルトの名無しさん
2014/12/28(日) 10:32:10.58ID:Qp+wk5Fppypyじゃなかった場合、その例の中でPythonはどのあたりに位置するのですか?
0068デフォルトの名無しさん
2014/12/28(日) 12:13:44.24ID:Q6eIHDpi0069デフォルトの名無しさん
2014/12/28(日) 12:29:05.81ID:lHLjVUEsおかげでちいとも速くならん…
0070デフォルトの名無しさん
2014/12/28(日) 13:06:53.43ID:3LJw2T5Cおおむね、jruby > ruby > python だと思うお。
http://www.mk-mode.com/octopress/2014/11/21/benchmark-c-cpp-m-java-scala-ruby-python/
0071デフォルトの名無しさん
2014/12/28(日) 13:17:24.60ID:fKzSeI49超強力なライブラリが揃ってるから実際には圧勝だけどね
うまく行列演算に乗せられれば並のCより圧倒的に速い
0072デフォルトの名無しさん
2014/12/28(日) 14:42:33.35ID:sqWp1609低脳自慢されてもね…
0073デフォルトの名無しさん
2014/12/28(日) 18:49:56.97ID:SJYHrnZm相手を貶めれば自分が偉く見えると勘違いした厨房が一行
レスで口出しか…
冬休みとかほんと困ったもんだな…
0074デフォルトの名無しさん
2014/12/28(日) 19:01:49.97ID:Eafaqxl6-a 等で出力されるコードをチェックしないとダメだな
でも最強
0075デフォルトの名無しさん
2014/12/28(日) 19:05:10.20ID:u5CfFmoyC言語のPython風マクロ
0076デフォルトの名無しさん
2014/12/28(日) 19:13:48.88ID:u5CfFmoy修正や機能追加が困難になるから余計な最適化はしない
現にIronPythonやらJRubyやらpypyやら速い処理系が現れても本家のバージョンアップに追いつけずに脱落していってる
JavaScriptが速いのは仕様が固まってるから
0077デフォルトの名無しさん
2014/12/28(日) 22:43:36.05ID:c2NtJF+h0078デフォルトの名無しさん
2014/12/29(月) 13:29:25.14ID:F80VhFN4無駄が多いコードしか吐かせられない低脳乙
0079デフォルトの名無しさん
2014/12/29(月) 21:46:13.59ID:UFf/JXLF0080デフォルトの名無しさん
2014/12/29(月) 23:45:32.05ID:JC+ZO+gQ0081デフォルトの名無しさん
2014/12/30(火) 00:12:12.37ID:39ECbyHQスタックマシンだからかな。
forthも早い。
0082デフォルトの名無しさん
2014/12/30(火) 04:03:30.52ID:8nm/692rRubyにはブロック変数もあるので、大規模開発によい
0083デフォルトの名無しさん
2014/12/30(火) 08:01:47.52ID:EqbbI1Lyシンプルそうだしコルーチン使えるし、好みなんだけど。。。
0084デフォルトの名無しさん
2014/12/30(火) 08:19:43.18ID:dxBK7ujR実装がコンパクトになるように設計されているし、
PythonやRubyみたいに頻繁な仕様変更もないから最適化が容易
>>82
PythonもJSも関数をネストすれば同じだろ
>>93
LuaはホストアプリケーションがLuaに対してAPIを公開するもので、
いわゆるライブラリとは考え方が違うよ
ホストに組み込まれたC/C++のライブラリを使う
0085デフォルトの名無しさん
2014/12/30(火) 08:56:26.89ID:2N8ukwcnLuaはレジスタマシンだよ。 例えばローカル変数は256本のレジスタに割り当てて
スタック操作なしに直接参照できるけど、ブロックの変数は最大で256個。
>>70 のベンチを Lua にかけてみた。 すべて 64bit 版。
- C (vc2013) : 2.7560 secs.
- C++ (vc2013) : 2.7420 secs.
- Lua (5.3rc2) : 211.8460 secs.
- Ruby (2.1.5) : 311.0818 secs.
正直、関数呼び出しのウェイトが高すぎる気がする。あくまでも指標の一つだね。
---- Lua版
local os = require("os");
local function calc(s, n)
local n1 = s.n0 + (1 - 2 * (n % 2));
s.n0 = n;
return n1;
end
local n = 1;
local objBench = { n0 = 0 };
local t1 = os.clock();
for i = 0,2147483647 do
n = calc(objBench, n);
end
local t2 = os.clock();
print(("Lua\t-> %8.4f secs."):format(t2 - t1));
0086デフォルトの名無しさん
2014/12/30(火) 14:05:59.39ID:CXcTj8nU- C -> 6.1558 secs.
- Cython -> 12.8584 secs.
http://ideone.com/ltQvdF
上記リンクのコードをbenchp.pyxというファイル名でコンパイルした後、
以下のPythonスクリプトで実行
import benchp
benchp.main()
0087デフォルトの名無しさん
2014/12/30(火) 18:28:45.55ID:eNQiYa8A0088デフォルトの名無しさん
2014/12/31(水) 00:47:24.52ID:la3HT0OdなんでRubyとか真似しないの?
0089デフォルトの名無しさん
2014/12/31(水) 02:06:53.48ID:A/ir56Zbただ、jruby もあるから、ruby系言語の間で互換性がなくなる。
jruby はjavaの呼び出しが出来る。jruby はJVM言語同士で
やりとりできる。clojureとの連携はカッコイイが、clojureが分からんwww
jruby はluaよりちょっとだけ遅い程度のスピード。
ruby はなんでもruby3系でソフトタイピングだかで、静的型とは違う
型システムを導入するそうだ。
0090デフォルトの名無しさん
2014/12/31(水) 02:15:55.21ID:A/ir56Zbhttp://gihyo.jp/news/report/01/rubykaigi2014/0002?page=2
ソフトタイピングはコードを静的に解析していき,「この式はこういう処理が
行われているため,こういう型を要求しているに違いない」と分かる範囲内
で型推論を行う技術だそうです。
0091デフォルトの名無しさん
2014/12/31(水) 08:15:17.60ID:hdc5xxSi> ruby はC言語の呼び出しは超簡単じゃん。もともとCythonの状態じゃないの?
CLも型を書いて高速化できるけど、そういうのとC言語で書いて呼び出すのは
全然違うでしょ
それにlibffiが普及して以降、RubyだけがC言語の呼び出しが得意な言語ってわけじゃ無くなったし
0092デフォルトの名無しさん
2014/12/31(水) 10:23:27.44ID:HKxQ236GHaxeを追加。 Cythonと同じくソース変換型のコンパイラ。
http://ideone.com/6IFXSG
- C (vc2013) : 2.7560 secs.
- C++ (vc2013) : 2.7420 secs.
* Haxe (cpp) : 5.8569 secs.
* Haxe (neko) : 181.2250 secs.
- Lua (5.3rc2) : 211.8460 secs.
- Ruby (2.1.5) : 311.0818 secs.
neko vm もかなり速い。 品質と周辺環境次第では良さげかも
0093デフォルトの名無しさん
2014/12/31(水) 11:45:14.64ID:A/ir56Zb基本、C言語かJava かどっちかはそこそこ出来るのは普通だからねぇ。
ただ、俺もJava はそこそこ分かるけどC よく分からんので
jruby 使うんだけど、もし部分的に Javaで書いちゃうと(それはそれは面倒だが)
ruby では使えないコードになっちゃうのでそこはやっぱり残念。
ruby とjruby 共通の高速化ツールがほしいとは思う。
今後取り入れられる予定のソフトタイピングで多少よくなってほしいが、
実はあんまり期待してない。
ruby jruby 共通で呼び出せる ruby ライクな型付スクリプト言語がほしい。
mirah を正式なrubyのツールに格上げすればいいのに。
0094デフォルトの名無しさん
2014/12/31(水) 14:06:02.03ID:/vIALUinサーバーごと分けてしまえという発想になるからそういうのあんまり重要視されないんだろうな
0095デフォルトの名無しさん
2014/12/31(水) 15:18:04.11ID://62RoNNRubyは最近、大学教育用言語としての利用を視野に入れ始めて、
数値計算関係のライブラリの開発が活発になっているね。
Rubyで行列扱えるようになるとうれしい。
言語は使う人少ないと結果として発展が遅くなるから、みんなとにかく使え。
0096デフォルトの名無しさん
2014/12/31(水) 16:09:16.23ID:NQSYJ4L50097デフォルトの名無しさん
2015/01/01(木) 00:53:45.80ID:H2ixpTt90098デフォルトの名無しさん
2015/01/01(木) 01:24:51.23ID:uzThg6120099デフォルトの名無しさん
2015/01/01(木) 01:32:12.47ID:Wi9wS34Iそれぞれ得意とする分野は違うからなぁ。
Ruby に限らないけど、スクリプト言語は文字列処理が中心だから。
といっても、html はもちろん xml や dviや pdfや svgとかも文字列だけど。
なんでも RubyからR言語を使うという本を見たら csv でやりとりしてたとか。
それも文字列だなwww
0100デフォルトの名無しさん
2015/01/01(木) 10:57:00.52ID:dlaa3g2E文字列操作は性質上IOがネックになる場合が多いし、
他の言語とやりとりしやすいから構文解析とか難しいところは外に投げればいい
0101デフォルトの名無しさん
2015/01/01(木) 11:48:37.74ID:X6l5zywi0102デフォルトの名無しさん
2015/01/01(木) 12:13:52.64ID:Wi9wS34I外部コマンドで juliaに投げる方がいいかも・・・
科学技術計算しかほとんどしないってんなら juliaでいいかもだけど、
汎用機能があるっていっても、チラッと見た限り頭クラクラしそうだし、
ruby かpythonの関数の中に隠してしまいたいなぁ、俺なら。
0103デフォルトの名無しさん
2015/01/01(木) 12:17:07.61ID:Wi9wS34I最強の文字列はプログラムそのものだよね。
苦手な言語のプログラムそのものを ruby なりpythonで
組み上げさせればラクできるかもしれない。場合によっては。
0104デフォルトの名無しさん
2015/01/01(木) 12:31:49.61ID:Wi9wS34Iもうそれだけで死ねる。
0105デフォルトの名無しさん
2015/01/01(木) 16:13:47.01ID:JiexzDrFCの構文組み上げてコンパイルしてリンクした方がマシ
0106デフォルトの名無しさん
2015/01/02(金) 11:26:37.46ID:IoOUqeROつまり……
Cython!!!!
0107デフォルトの名無しさん
2015/01/02(金) 20:04:48.56ID:BirRPLsl0108デフォルトの名無しさん
2015/01/02(金) 21:02:30.96ID:q+f+jv8M0109デフォルトの名無しさん
2015/01/02(金) 21:13:11.31ID:2SopZcG50110デフォルトの名無しさん
2015/01/02(金) 21:24:22.83ID:q+f+jv8Mpython3系ではどうだか知らんが、俺がptython やってたころは
オブジェクト指向さえあと付け感ありありだった。
0111デフォルトの名無しさん
2015/01/02(金) 21:32:56.16ID:DH7mYziM0112デフォルトの名無しさん
2015/01/02(金) 21:47:44.14ID:q+f+jv8Mそことき、each やら ブロックならでやりたい放題できる。
python は なんだっけ elem in elements みたいな感じで(書き方忘れたよ)
取り出すんだけど、そっから先になんか制約あるんだよな。
ruby のように自然にやりたい放題というわけにいかない。
python3 は知らないので、そのあたり改善されたかは知らない。
0113デフォルトの名無しさん
2015/01/02(金) 22:04:20.23ID:2SopZcG5コレクションに関数オブジェクト(ラムダ式、ブロック)を渡すのか、
外側のループからコレクションからの列挙子を使うのか、大きく分けて2種類のデザインがある。
Rubyは前者を、Pythonは後者を好むだけに思えるがね。
0114デフォルトの名無しさん
2015/01/02(金) 22:11:39.32ID:q+f+jv8Mなんかねぇ、1行しか出来ないんだよ。
ruby のブロックとかと自由度が全然違う。
ラムダとかprocとかそういう話まで行く前の話。
そこまでいったら、遅延評価とかどうやるかとかの
話までいくし。ruby はここでもいろいろある。
ああ、あと python3 での話は知らない。念のため。
0115デフォルトの名無しさん
2015/01/02(金) 22:22:36.26ID:q+f+jv8M外の変数にも中からアクセスできる。遮断することも
できる。僕がpython 触ってたのは 2.5か2.6くらいの
ときだったかな。ruby はすごい自由だなと思った。
0116デフォルトの名無しさん
2015/01/02(金) 22:48:12.45ID:UoXQYS7Hだからこそ大規模な開発でも使用される
また、Excel方眼紙に代表されるように、ジャップは論理性を無視してクソ細かいレイアウトに拘りがちだが
向こうの人は細かいことを気にせずに論理的に書いてレイアウトは機械に任せるようなやり方を好む(TeXとかWordのアウトライン)
その違いがRubyとPythonの違いにも表れてるわけだね
0117デフォルトの名無しさん
2015/01/02(金) 22:50:07.68ID:DH7mYziM0118デフォルトの名無しさん
2015/01/02(金) 23:04:39.10ID:Obk5blULREPLやら書き捨てるようなものだと非常に重宝する
0119デフォルトの名無しさん
2015/01/02(金) 23:24:47.18ID:Wdw9kQqYあれ使えるようになってくると、Pythonも案外画一的じゃないなーと思うw
0120デフォルトの名無しさん
2015/01/03(土) 00:02:06.75ID:x6OMspk0というなら理解できる。 その代わりに
「Rubyは自由だ」
と言う表現を使われると、非情にキモチワルイ。
0121デフォルトの名無しさん
2015/01/03(土) 00:13:45.12ID:ZfusUSn5おいおい、えらいこっちゃ。
僕は Javaがそこそこ分かるから jruby 使ってるんだけど、
今後の ruby 処理系の互換性確保はどうなるんだろ。
まあ、みんなが勝手に Cruby に合わせた test作るって感じになるしかないか。
Rubinius の人、切れやすいんだよねwww
0122デフォルトの名無しさん
2015/01/03(土) 00:19:41.63ID:C22WgX+v今も昔もMRIが唯一の実装であり仕様
0123デフォルトの名無しさん
2015/01/03(土) 00:27:44.53ID:ZfusUSn5使う俺の立場はいったい・・・
とはいえ、ruby2.2 がRubySpec 通らんのに出すなよ、ゴラァ
という話じゃないん? よく分かってない。
0124デフォルトの名無しさん
2015/01/03(土) 00:41:37.97ID:ZfusUSn5Java の互換性テストが廃止されたようなもんだからな。
一番困るのは、Cruby の過去の動作との互換性のチェックが
なくなること。Cruby は過去の動作がどうであったかのチェックなしに
あっちふらふら、こっちふらふらの動作となる可能性高し。
まあ、いままでもそうだったが。
Java8 が Java7 と互換性ない場合、どうなるかという話。
自身の過去の動作との互換性検証が・・・、破綻。
0125デフォルトの名無しさん
2015/01/03(土) 00:57:50.41ID:ZfusUSn5要するに、過去の動作とそれだけ食い違ってたという話。
今後が怖い。
0126デフォルトの名無しさん
2015/01/03(土) 01:00:10.48ID:ZfusUSn5その途端、新バージョンでは過去のコードは走らなくなるかもしれない。
困ったものだ。
0127デフォルトの名無しさん
2015/01/03(土) 01:04:38.29ID:ZfusUSn5http://www.softantenna.com/wp/unknown/ruby-spec-end/
0128デフォルトの名無しさん
2015/01/03(土) 01:37:45.07ID:4e+tzVBFどの言語でも同じだよ。
その為のバージョン表記なのでチェック入れてもらうしかない。
0129デフォルトの名無しさん
2015/01/03(土) 01:43:13.85ID:ZfusUSn5同じ名前のメソッドは、同じ動作をするべきじゃないの?
変更しますと宣言したのでないかぎり。
たとえば、Java7 のコードは Java8の vm上で走らないなどとは
誰も思わないはず。明確に宣言された仕様変更に触れない限り。
0130デフォルトの名無しさん
2015/01/03(土) 02:43:23.75ID:fziQOJOK0131デフォルトの名無しさん
2015/01/03(土) 03:07:56.70ID:ZfusUSn5そうなんだよね。哀しいことに。
いまは RubySpecがあったので、どれくらい『その場の思いつき』で
過去と動作を変えてしまったかが、テスト通らないという形で
ハッキリ分かっただけで。
結果、過去のコードが動かないということに。
0132デフォルトの名無しさん
2015/01/03(土) 03:54:46.18ID:4e+tzVBFpythonなんかも同じでしょ
ようやく周知されたブランドを捨てて
一からやり直すってのは酷だから
メジャーアップデートで後方互換を捨てるってのはざらにあるよ
0133デフォルトの名無しさん
2015/01/03(土) 08:21:54.34ID:x6OMspk0○ Rubyの品質は糞
周囲をDisって擁護するのは止めてくれ
0134デフォルトの名無しさん
2015/01/03(土) 08:29:39.02ID:C22WgX+vたまたま今の実装ではそのように動くというだけのこと
仕様なんかどこにもMatzの頭の中にさえ存在しないんだから
0135デフォルトの名無しさん
2015/01/03(土) 08:36:55.31ID:BqvoNGdeおいおい
何も知らなすぎ 撤回しろ
Rubyだけの問題だろ
0136デフォルトの名無しさん
2015/01/03(土) 08:49:40.58ID:C22WgX+vだからこそ、破壊的変更を入れようとすれは丸ごと別言語にしてしまうしかなかった
Rubyは今や立派な一大ドカタプラットフォームなのに、MRI開発陣は昔のノリから変わってない
0137デフォルトの名無しさん
2015/01/03(土) 09:22:14.99ID:GfFN59Kr0138デフォルトの名無しさん
2015/01/03(土) 09:34:27.81ID:C22WgX+v0139デフォルトの名無しさん
2015/01/03(土) 09:44:34.29ID:GfFN59Kr0140デフォルトの名無しさん
2015/01/03(土) 09:55:38.05ID:LTCoqF4Z0141デフォルトの名無しさん
2015/01/03(土) 10:36:40.76ID:2FQDAXp5「RubySpecに協力してCRuby開発者に何のメリットがあるわけ?
受益者であるJRubyやRubiniusの開発者が勝手に頑張れば?
まあ俺等は思いつきで仕様変更するけど告知はしないから頑張ってテスト直せよwww」
0142デフォルトの名無しさん
2015/01/03(土) 10:40:46.71ID:ZfusUSn5過去のCRuby 自身との互換性のなさ。
最新のCRuby では、過去のCRuby のコードは走らないかもしれない。
明確な仕様の変更が宣言されていない部分の互換性のなさで、ということ。
0143デフォルトの名無しさん
2015/01/03(土) 10:48:25.98ID:2FQDAXp5テキトーに仕様変更かますCRuby開発者にとっては都合が悪い
RubySpec消滅は彼らにとっては嬉しいだろう
0144デフォルトの名無しさん
2015/01/03(土) 11:13:27.86ID:ZfusUSn5あると思います。
Java だってある程度の仕様変更をしてきたわけで。
けれども、仕様変更を明確に宣言することなく、『その場の思いつき』で
やっちゃダメですよね。
それやったら、過去に書かれたコードが走らなくなるかもしれないんだから。
そういう意味で、RubySpec はやはり貴重な存在です。
CRuby がいかにテキトーに『その場の思いつき』で仕様変更しているかを
これ以上ない形で示してくれたんだから。
なんとかして RubySpecを今後も維持していってほしいものです。
Ruby のために。
0145デフォルトの名無しさん
2015/01/03(土) 12:48:55.83ID:Ugze3nnnRubySpecを維持する(=MRIに合わせてテストを修正し続ける)のは
MRI開発陣へ「我々は容易に仕様変更に追従できる」という誤ったメッセージを与え、
MRIの勝手な仕様変更を助長することにしかならないよ
0146デフォルトの名無しさん
2015/01/03(土) 12:59:45.09ID:ZfusUSn5だからって、カオスがいいって話にはならんでしょ。
少なくとも、仕様変更の明確化にはなる。
いまの問題は、仕様変更の明確な宣言なしに思いつきで仕様を変えてしまっているってことだから。
RubySpec の変更が仕様変更の条件としておけば、それの更新履歴によって、
なにをどう変えたのか他人にも分かることになる。
なにしろいま、どこをどう変えたのか、
思いつきで変えた本人以外、誰も知らないという状態だから。
0147デフォルトの名無しさん
2015/01/03(土) 13:01:52.95ID:ZfusUSn5ああ、そうか。
だから、git に移行せよ、という話になってるわけだ。いま分かった。
0148デフォルトの名無しさん
2015/01/03(土) 14:33:44.47ID:noPSPcOO互換性を破壊した側がテストを書いた側を責める
それがMRI開発陣クオリティ
0149デフォルトの名無しさん
2015/01/03(土) 17:29:43.85ID:aK+7ExlvだったらRubySpec開発者はバグ報告をMRIに上げればいいだけなんじゃ?
ここはこんな仕様変更が入ってるけどどういうことなんだ?と
その上で「ごめん、実装上の都合」と言われたんならいくらでもキレたらいいけど、
それもしてないのにただ「俺らがこんないいもん作ってんのに使わないとは何事だ」と
言ってるだけなら「んなもんそっちで勝手に作っておいていちゃもんつけんなよ」と
なるだけだろうに
0150デフォルトの名無しさん
2015/01/03(土) 17:34:30.72ID:ZfusUSn5過去のバーションとの動作の互換性の検証はどうすんのさ。
いま問題になってるのは、明確な変更の宣言もなしの動作の変更は
マズイでしょ、て話じゃないの?
過去に書いたコードが動かなくなるかも、という問題だからね。
RubySpec なしでは、そもそも動作の互換性の検証が出来ないでしょ?
思いつきの仕様変更は弁護出来ないと思う。
0151デフォルトの名無しさん
2015/01/03(土) 17:40:20.64ID:aK+7Exlvだから、バグ報告すりゃいいじゃん
MRIにはバグ報告の窓口があるんだからさ
RubySpecっちゅー超いいもん作ってバグ報告してあげるなんて、ボランティアベース満載で
オープンソースぽくていいじゃん
0152デフォルトの名無しさん
2015/01/03(土) 17:47:04.48ID:ZfusUSn5(いま見たら、ホントにもう閉鎖されてたwww)
Java の互換性テストと同じ位置づけじゃなかったの?
だから、互換性テストは一つ。(であるべき。いくつもあっちゃダメ)
CRuby(MRI)、JRuby、Rubinius は(その他も)すべてこのテストを
互換性のチェックに使う。
仕様の変更は、RubySpec の変更をともなう。
というのが建前のはずだったと思うんだが・・・
現実はまったく違った。最新の公式Ruby2.2 はテストに不合格www
もともとどういう位置づけだったんだ? 公式の互換性キットじゃなかったの???
0153デフォルトの名無しさん
2015/01/03(土) 17:48:46.47ID:7oFSdzeuいい加減な開発体制に由来する互換性問題が分かって
良かったと思う
0154デフォルトの名無しさん
2015/01/03(土) 17:55:56.77ID:ZfusUSn5やっぱ Javaて偉大だな。信頼感が月とスッポン・・・ www
0155デフォルトの名無しさん
2015/01/03(土) 18:05:28.78ID:ZfusUSn5MRI で引き取ってやるしかないんじゃないの???
でないと、ホントにそのまま廃止だよ。
Java が互換性テストなくなったら、Java はたぶん破滅する。
同じことだと思うけどな。
0156デフォルトの名無しさん
2015/01/03(土) 18:21:18.88ID:aK+7Exlvhttps://gist.github.com/nateberkopec/11dbcf0ee7f2c08450ea
Brianが目指したものは良かったんだけど、その手法がところどころ間違っていたり、Brian自身が
エキセントリックだったりしてRuby界には受け入れ難かった、ということろかな
0157デフォルトの名無しさん
2015/01/03(土) 18:31:53.90ID:7oFSdzeu少し流し読みしたけど、最初の方に
「Rubyに仕様が無いというのは間違い。ISO規格がある」
とか書かれてて吹いたw
あれは所詮1.8のサブセットでしょ
これ読む価値あるの?
0158デフォルトの名無しさん
2015/01/03(土) 19:45:51.86ID:ZHoaygaCJavaはIBMのJVMがAIXでバリバリ動いてたりして、ヘタすりゃ一国の経済に大きく影響するようなシステムもザラにあるわけで
それとRubyを一緒にするなよw
MRIもたいがいオモチャみたいなもんなのにその互換実装なんてほんとどうでもいい
0159デフォルトの名無しさん
2015/01/03(土) 20:04:03.43ID:ZfusUSn5RubySpec 使わんのよ? それが分からん。
それぞれが互換性テストを勝手に作ったら、
それはもう互換性テストにならん。
互換性テストの種類が二つ = 仕様が二つ
互換性テストの種類が三つ = 仕様が三つ
互換性テストの意味がない。当たり前の話だと思うんだが。
0160デフォルトの名無しさん
2015/01/03(土) 20:11:41.81ID:ZHoaygaCMRIの仕様を確認して、他の実装がそれを真似するためのテストだから。
MRIがそのテストに通らないってことはテストが間違ってるの。
仕様=テストであるならRubyの唯一の仕様はMRIのテスト。
互換実装を作ってる連中は文句垂れてないでMRIのテストを使用すればよい。
0161デフォルトの名無しさん
2015/01/03(土) 20:24:52.31ID:ZHoaygaCMRIがRubySpecをパスしないということは、
元々MRIのテストに含まれていない(=未定義)挙動を誤って仕様としていたか、
もしくはMRIのテストが変更されたということ
MRIのテストの変更は即ち仕様変更であり、テスト変更は実装変更とは違って誰の目にも明らかだ
どちらにせよ、「MRIが互換実装開発者の与り知らないところで勝手な仕様変更を行った」という批判には当たらない
MRIのテストが不十分であるというRubinius開発者の主張を信じるなら、責められるべきはRubuの仕様変更ポリシーではなく
テストの品質だ
0162デフォルトの名無しさん
2015/01/03(土) 20:26:18.09ID:ZfusUSn5では、その MRIのテストを改めて RubySpecと名付けなさいよ。
いずれにしても、互換性テストはJava と同じく絶対に一つじゃないといけないよ。
互換性テストが複数あったら、それは仕様が複数あるのと同じだから。
0163デフォルトの名無しさん
2015/01/03(土) 20:30:58.20ID:ZfusUSn5互換性テストは一つにしてくれ。互換性テストが複数あっちゃダメだ。
でないと、Ruby の仕様が一つにならん。
結論。 Java はなんて偉大なんだ!
0164デフォルトの名無しさん
2015/01/03(土) 20:35:18.48ID:2FQDAXp5Ruby2.2でRubySpec走らせるとSegmentation faultになるんでしょ?
MRIが仕様っていうのは良いけど、かつて動いてたコードが
落ちるような仕様変更して「仕様です」ってカッコ悪いねw
0165デフォルトの名無しさん
2015/01/03(土) 22:45:56.34ID:aK+7ExlvRubySpecはRuby公式の互換性テストを目指したけどなれなかった
それだけの話だよね
それをRubySpecを閉鎖においやったRuby開発陣はクソだというのは違うんじゃね?
RubySpecがRuby開発陣に受け入れられなかった理由について何も述べてないよね
0166デフォルトの名無しさん
2015/01/03(土) 23:07:16.09ID:ZfusUSn5当初、明らかに Rubyの公式互換性テストの扱いだったよね。
yugui氏とかが顔きかしてたころ。2009年ころかな?
なにがどうしてこうなったんだろう???
MRI のテストが新たな RubySpecでもいいけど、
セグメンテーションフォールトで落ちるの見抜けないとか、
しっかりしてほしい。
Rubiniusの人、切れやすいんだよね。
JRubyのナッターさんはCRubyともうまくいってんのに。
Rubiniusの人、CRuby のコアチームにねじこんだ方がいいじゃない?
でないと、あとで必ずもめると思うよ www
0167デフォルトの名無しさん
2015/01/03(土) 23:14:49.57ID:aK+7Exlvそういう「扱い」の時期もあったけど決して公式的にそうなってたわけじゃなかった
そして、時が経るにつれて軋轢が生じて仲違いしてしまった
別々のプロジェクトなのだからよくあること言ったら言い過ぎかもしれないが、珍しいことでもない
> セグメンテーションフォールトで落ちるの見抜けないとか、
この件もMRIのバグチケットとして登録することをBrianが拒否したとか?
で、結局別の人が登録して、MRIでは解決したとか?
てなことを俺の紹介したリンクには書いてたね
BrianはRubySpecが自動的にRuby全体のSpecとして認知されることを期待したのだが
MRI開発者としたらバグ窓口はあるんだからそっち経由でされないと管理しきれん、という
感じだったんだろうな
0168デフォルトの名無しさん
2015/01/03(土) 23:49:31.32ID:2FQDAXp5> > I already committed tests in RubySpec, which I believe is where they
> > are the most useful.
>
> Adding tests to RubySpec is not enough.
> You should also add tests to CRuby's test-all.
MRIの日本人コア開発者という立場を利用して、こういうことを他の開発者に強制してたんだから
RubySpecが上手く行くはず無かったね
RubySpecの人もフラストレーション溜まったと思うよそりゃ
0169デフォルトの名無しさん
2015/01/04(日) 00:01:15.18ID:TsLBdsfXみんなどうしているの?
変数や構造体のマーシャリングはどうしてるの?
0170デフォルトの名無しさん
2015/01/04(日) 00:02:35.42ID:oAitY7sDC#ならそんなもん一発よ
0171デフォルトの名無しさん
2015/01/04(日) 00:18:25.59ID:4AdveR22RubySpecが完璧じゃなかったのは事実じゃないか
RubySpecにテストを追加したからそれで十分じゃないか、なんて言われたら、そりゃMRI開発者は
カチンとするだろうよ
RubySpecが通ればMRIテストがなくても完璧だというなら話は別だが、実際はそうじゃなかったんだし
0172デフォルトの名無しさん
2015/01/04(日) 00:27:09.25ID:PafXKnQsで、MRIのテストには追加を強制するけど、仕様変更してもRubySpecに追加するのは断固拒否w
0173デフォルトの名無しさん
2015/01/04(日) 00:29:43.73ID:4AdveR22RubySpecに追加するのは勝手にどうぞ?でしょ
だって別プロジェクトなんだから拒否する権限はMRI開発者にはないわけだから
0174デフォルトの名無しさん
2015/01/04(日) 00:35:06.71ID:PafXKnQsああごめん、もしかしてMRIのテストを責めてると思った? いやいや全然責めてないよ
ただRubySpec哀れだなーってだけでw
だって最初から負け戦でしょ?
仕様変更できるのはMRIだけで、そのテストもMRIに書く事強制されるんだから
二重にテスト持つなんて面倒というか害悪なレベルなんだから、そりゃRubySpec死ぬでしょ
0175デフォルトの名無しさん
2015/01/04(日) 00:37:37.66ID:4AdveR22そういうの承知でRubySpec始めてるんだと思ってたよ
だってMRI独自の実装があるわけだから、MRI用のテストは必須なわけだし、MRIの修正にはMRI用のテストが
セットなのは当たり前でしょ
それを「RubySpecにテスト書いたから十分じゃーん」なんて言われたら「そんな独自テストの話なんかしらねーよ」
ってなるだけなのは、ちょっと考えたらわかる話じゃん
0176デフォルトの名無しさん
2015/01/04(日) 00:44:31.98ID:PafXKnQs上手く行った可能性も多少あったかもね、って感じだね
日本語も話せないIRCにも来れない外国人が
Rubyの仕様をどうこうなんて何様だよってのが
MRI開発者の本音だからね
0177デフォルトの名無しさん
2015/01/04(日) 00:44:58.10ID:x+sstHNqそこまで言われたら、そりゃおかしいとなるよ。
仕様の変更は、そんな軽いもんじゃないでしょって。
Java を見ろ。明確に変更を宣言したもの以外は、動作は絶対に変えない。
仕様を変えた場合は、仕様のテストの変更を要する。
それが出来ないなら、仕様の変更はするな。
当たり前の話じゃん。
なんでCRuby はころころ仕様をお気軽に変えるわけ?
そんなに変えてるもの、ほかにある? Rails はそれ以上に気まぐれに
変えるのは知ってるけど、ほかにないよね?
Java 見習ってよ。Java はそんなこと絶対にしない。
0178デフォルトの名無しさん
2015/01/04(日) 00:46:47.89ID:4AdveR22だったらRubySpecの方からこんなバグあるよって登録すりゃよかっただけじゃん
それすら拒否したんでしょ?Brianって奴は
(結局別の人が登録したおかげで当該バグは潰せたみたいだが)
そりゃ廃れるわ
0179デフォルトの名無しさん
2015/01/04(日) 00:47:13.91ID:oAitY7sDお前はRubyで書かれた銀行システムに金を預けられるか?
お前はRubyで書かれた病院システムに命を預けられるか?
0180デフォルトの名無しさん
2015/01/04(日) 00:49:42.50ID:4AdveR22それは言語の優劣に拠らない話
そのプロジェクトのテスト品質がどうかという話
0181デフォルトの名無しさん
2015/01/04(日) 00:52:52.50ID:x+sstHNqだから、仕様のテストは実装のテストと違うだろって。
実装のテストなんぞ、好きにしろっての。
仕様は動作を定義する。
俺が言ってるのは、気まぐれに動作を変えるなっての。
はっきり言えば、みんなRuby が勝手きままに動作変えるので
怒ってる。
ruby1.8 から ruby1.9 のころなんぞ、ひどいもんだった。
明確な変更を宣言したものはいいんだ。それ以外。
もうメチャクチャに近かったぞ。
0182デフォルトの名無しさん
2015/01/04(日) 00:54:10.12ID:oAitY7sD逆に、利用のされ方が言語の開発スタイルに影響を与えるのは当然だろ?
品質軽視、いい加減な自動テストさえ通ってりゃOKというWeb文化をそのまま言語に持ち込めばこうなる
0183デフォルトの名無しさん
2015/01/04(日) 00:54:17.59ID:x+sstHNq違う。君はJava が分かってない。
Java7 で書いたコードがJava8 じゃ動かないかもしれないと、
誰が心配するのか!
Rubyとは桁違いの信頼性だ。本物とおもちゃの違い。
0184デフォルトの名無しさん
2015/01/04(日) 00:55:34.08ID:4AdveR22まぁ、1.8->1.9は正直しゃーないと思うぞ
あれはメジャーバージョンアップと言ってもいい内容だったし
で、きまぐれに内容変えるなというなら、そういうのを見つけ次第バグ報告すりゃいいんだよ
それがオープンソースってもんだろう
0185デフォルトの名無しさん
2015/01/04(日) 00:56:45.59ID:4AdveR22それで心配しなくてよくてまともなテストしてないというのなら、それこそ銀行や医療で
使ってはいけないシステムだと思うぞ
0186デフォルトの名無しさん
2015/01/04(日) 00:59:27.86ID:x+sstHNq君に Javaを語る資格はない。
Ruby は Javaに比べたらおもちゃにすぎん。
0187デフォルトの名無しさん
2015/01/04(日) 01:00:30.25ID:PafXKnQsいやー、そんな穴の空いたバケツ(MRI開発者)に水注ぐ(バグ報告)なんて
時間が幾らあっても足りないでしょ
安定性が欲しいなら素直に別の言語を使うべき
0188デフォルトの名無しさん
2015/01/04(日) 01:03:56.53ID:4AdveR22どんな言語にだって穴はあるさ
それも含めて埋めるのがシステムってものだろう
特に銀行とか医療とかならな
(Web系は適当でいいんだろうけど)
>>187
MRI開発者にリソースが足りてないのはMRI開発者が一番分かってる話だよ
それでも使いたいって人なら、それなりの貢献をMRIにしてくださいよって話
オープンソースってそういう文化でしょ?
それすら嫌ならJava使ってればいいじゃん
0189デフォルトの名無しさん
2015/01/04(日) 01:09:01.76ID:x+sstHNq互換性テストは一つにしろってことで。
そして、仕様をお気軽に変えれば、その時点で、過去のコードは
動かなくなるかもしれないよって話で。だから、
明確に仕様変更しますと宣言したもの以外は、
仕様は変えるなと。
たかがこれぐらいの話で、なぜにまとまらない。泣ける www
0190デフォルトの名無しさん
2015/01/04(日) 01:09:05.21ID:PafXKnQs議論もしてないしドキュメントも無く勝手に変えたけど、ChangeLogは書いときました
こんなレベルで仕様変更できるのはRubyくらいだけどね
0191デフォルトの名無しさん
2015/01/04(日) 01:09:59.02ID:4AdveR22それをRubySpecが目指したけどそうはなれませんでした
それだけのことでしょ?
0192デフォルトの名無しさん
2015/01/04(日) 01:12:24.39ID:4AdveR22ちゃいますね
それでバグったなら報告すればちゃんと直してくれるよ
0193デフォルトの名無しさん
2015/01/04(日) 01:15:11.94ID:PafXKnQs探したら見つけたw
ttps://bugs.ruby-lang.org/issues/8941
Rubyって折角バグ報告してもこんな返しされるの?www
0194デフォルトの名無しさん
2015/01/04(日) 01:19:53.93ID:x+sstHNq結局のところ、CRuby開発陣は、気ままに仕様変更できる手段を
手元に残しておきたいってことだ。
それが、互換性テストは一つにしろっていうことと、
明確に仕様変更しますと宣言したもの以外は仕様を変えるな
という要求に抵抗する理由だ。
よくも悪くも、それがRubyということ。
俺もRuby を捨てはしないが、軸足はなるべく Java などの他の言語に
置くようにする。
0195デフォルトの名無しさん
2015/01/04(日) 01:22:57.74ID:cj3MqVPNJavaやPerlならまだ分かるけどPythonだよ?
メジャー番号でちゃぶ台返しちゃうか
マイナー番号ですらちゃぶ台返しちゃうか
という違いしか無いじゃん
50歩100歩ってやつですわ
0196デフォルトの名無しさん
2015/01/04(日) 01:24:58.75ID:4AdveR22RubyにはMRI用のテストがあるわけだし、なによりMatzがバックワードコンパチビリティを
重要視していることは色々なチャネルを使って発信している
RubySpecは、単純にMRI開発と相容れなかっただけで、それだけをもってRubyの
仕様変更に対するリアクションに対する評価にするのは正しくない
0197デフォルトの名無しさん
2015/01/04(日) 01:31:57.14ID:e2nwmsfXPythonもJavaに比べりゃダメだが、3系で互換性壊すまでに20年かかってる
しかもまだ2系の保守もしてる
流石にRubyと一緒には出来んわ
0198デフォルトの名無しさん
2015/01/04(日) 01:36:02.15ID:x+sstHNqRubySpec は閉鎖してしまったようだから、
それが MRIのテストでもいいけど、Rubyの仕様を決める
互換性テストをきっちり一つに決めてほしい。
一つじゃないとダメです。一つの仕様には一つの互換性テスト。
言語の進歩には、仕様変更が不可欠というのは理解できます。
しかし、明確な仕様変更の宣言をしてから変更して下さい。
勝手気ままな仕様変更を繰り返せば、みんな Rubyを捨てますよ。
しっかりしてほしい。
0199デフォルトの名無しさん
2015/01/04(日) 01:42:43.80ID:4AdveR22MRIテストで足りないというなら、MRIテストをカヴァーするようなテスト体系を作り上げてくれよ
RubySpecを継承する形でもいいからさ
で、RubySpecで見つけたバグはMRI本体へバグ報告する
多分、明確な仕様変更の宣言をしてないものはバグなんだろうから、報告すれば直してくれる
そういう精神があってこそオープンソースというのはうまくいくんだからさ
さっきも言ったようにMatz自身はバックワードコンパチビリティを壊す仕様変更は基本的によしと
してないんだから、そうじゃないなら、ただのバグ
ただのバグは報告してつぶしてもらうべき
RubySpecはその「報告」という部分をサボろうとしたためにポシャっただけのプロジェクト
0200デフォルトの名無しさん
2015/01/04(日) 01:49:44.29ID:x+sstHNqそこがひっかかるんだよなぁ。
RubySpec からどうして報告が必要なんだ?
さっきから、その発想がまったく理解できない。
一つの仕様には、一つの互換性テストと言ってるじゃないの。
二つ互換性テストがあれば、それは仕様が二つということにほかならない。
RubySpec は報告しちゃダメでしょ。
報告したら、互換性テストを二つにしてしまう行為だ。
全然理解できない。
互換性テストは一つだけ。二つあったら、もうそれはどちらも互換性テストじゃない。
0201デフォルトの名無しさん
2015/01/04(日) 01:51:35.47ID:PafXKnQsttps://bugs.ruby-lang.org/issues/9898
ttps://bugs.ruby-lang.org/issues/10016
まあバグ報告しても直してもらえないし(>>193)、
バグ報告してもサボったことにされちゃうのがMRIってことだね
0202デフォルトの名無しさん
2015/01/04(日) 01:51:46.22ID:cj3MqVPN何年保守すれば満足なの?
5年?10年?30年?
年数の問題じゃないでしょ?
後方互換を捨てた時点で50歩100歩ですよ。
0203デフォルトの名無しさん
2015/01/04(日) 01:53:05.80ID:x+sstHNqそれはそれでいい。
だが、互換性テストは絶対に一つじゃないといけない。
だから、絶対にほかに互換性テストを作るような行為はしちゃいけない。
ほかへは絶対に報告するな。それは絶対条件だ。
つまり、RubySpec がそうしようとした行為を
そのようにしろということ。それは絶対に必要な行為だ。
0204デフォルトの名無しさん
2015/01/04(日) 01:55:27.14ID:4AdveR22RubySpecはMRI開発のためのテストじゃないからだよ
あくまで別のプロジェクトなんだ
RubySpecのテスト自体が間違ってるかもしれないし、MRIの方が間違ってるかもしれない
そこの切り分けをするのはMRIの開発者じゃなくて、RubySpecのメンテナであるべきだからだよ
で、RubySpecのメンテナが切り分けた結果、MRIの問題だと分かったらMRIにバグ報告する
これが別々のプロジェクトのありかただよね
RubySpecがMRIの上位にあるとオフィシャルに位置づけられたならともかくとして、さ
0205デフォルトの名無しさん
2015/01/04(日) 01:57:38.22ID:4AdveR22両方とも、「Applied in changeset ...」 って書かれてるけど…
直されてないの?
0206デフォルトの名無しさん
2015/01/04(日) 01:59:58.68ID:bZBwgO8Fプロジェクトやめればいいだけのことにエキセントリックな反応しただけだよね。
そりゃ関わりたくないのわかるわ・・・
0207デフォルトの名無しさん
2015/01/04(日) 02:00:09.41ID:k+m5c6UWPerlも4と5で後方互換なんて無いじゃん
50歩100歩ですよ
0208デフォルトの名無しさん
2015/01/04(日) 02:01:26.85ID:PafXKnQs違うよ>>193の方だよ
スルーするなよ傑作なんだから
0209デフォルトの名無しさん
2015/01/04(日) 02:04:39.30ID:4AdveR22いや、君はBrianが報告したバグがさも放置されたかのように言ってたからさ
Biranが報告したバグはきっちり直されてるけどね
ちなみに>>193の方はPythonの挙動に合わせる必要はない、って却下しただけだけど
0210デフォルトの名無しさん
2015/01/04(日) 02:14:33.71ID:G1a4c7Jjそれでテスト体系を作ったら、せっせとバグ報告を繰り返せよ。バグ報告に対処するか否
かはこっちの勝手だがな。
こんなことを言われたら、テスト体系を作った本人はぶち切れるわ。
なんで MRI の連中は RubySpec を取り込むように動かないのか。その価値がないのな
ら、早い段階で そのように宣言しておくべきだろう。二つのテスト体系が並存するのを
放置していたのか。そんな村社会のような open community なのか。
0211デフォルトの名無しさん
2015/01/04(日) 02:15:01.25ID:PafXKnQs# %Y - Year with century (can be negative, 4 digits at least)
# -0001, 0000, 1995, 2009, 14292, etc.
って「Rubyの」ドキュメントに書いてあるのに、Rubyで Time.strptime("1", "%Y") が通るから
「これ本当に意図通り?エラーにした方が良いんじゃない?話は違うけどPythonではエラーになるね」
って報告に対する返答が「Pythonのバグ報告は要らない」だよ?
これがマトモな返答だと思ってるの?凄いねw
0212デフォルトの名無しさん
2015/01/04(日) 02:22:07.03ID:4AdveR22> こんなことを言われたら、テスト体系を作った本人はぶち切れるわ。
うん、それでもいいと思ってやってるもんだと思ってたがな
それでブチ切れるぐらいならはじめっからやるなよって話だよ
> なんで MRI の連中は RubySpec を取り込むように動かないのか。その価値がないのな
> ら、早い段階で そのように宣言しておくべきだろう
なんでいちプロジェクトのために宣言しなきゃならないのか
あくまで一時期サブプロジェクトとして利用したにすぎないだろうに
(それとて果たして何年前なのか)
まぁ、その点ではRubySpecを公式と扱いかけたYuguiさんにも責任はあるかもしれん
かの人はRubyプロジェクト内でも(技術力はともかくリリースメンテナとしては)黒歴史化
してる部分はあるので
0213デフォルトの名無しさん
2015/01/04(日) 02:30:07.23ID:x+sstHNq放棄されるという結果になる可能性が高いように俺は思うけど、
あれ、惜しいんだよなぁ。
Ruby 自身によってRuby を実装しようというの。
残念だな。
とはいえ、Ruby自身じゃなくて、システム開発用に
静的型のRuby のサブセットを作って、それでRuby を実装する
とかいう方向に向かわないかな。
そうすると、
Ruby の遅いという重大弱点の解消につながると思うんだけどな。
Mirah みないなRubyライクな静的型のRuby のサブセット。
0214デフォルトの名無しさん
2015/01/04(日) 02:32:18.42ID:4AdveR22想定外の文字列が与えられた場合にエラーになりますと明言されてるんならそのとおりだけどさ
Rubyの場合、単純にstrptime(3)に投げてるだけだから、想定外の文字列が与えられた場合は
そっちの仕様によるわけよ
そこまでRubyが面倒みる必要ないよね?がRubyのポリシーなわけで
0215デフォルトの名無しさん
2015/01/04(日) 02:36:25.40ID:4AdveR22そこはしょうがない
Brianという人物がオープンソースに向いてなかったとしか言い様がない
0216デフォルトの名無しさん
2015/01/04(日) 02:44:06.32ID:x+sstHNq彼は相当な覚悟をもってやったはずだ。
たぶん Rubiniusは終わる。引き継ぐ人がいない限り。
誰か、静的型のRuby のサブセット作ってよ。
遅いとき、そこだけそれで書けばいいようなヤツ。
0217デフォルトの名無しさん
2015/01/04(日) 02:44:49.71ID:PafXKnQsいやー、そういう理由を書いてrejectなら笑ったりしないんだわw
(本当はrejectせずドキュメントの方を直すべきだけど)
しかし、あれ読んでも「Pythonの挙動に合わせる必要はない、って却下しただけ(>>209)」って解釈になるのがMRIの文化なのか
本当に凄い
0218デフォルトの名無しさん
2015/01/04(日) 02:48:18.87ID:4AdveR22> 誰か、静的型のRuby のサブセット作ってよ。
それはRuby3.0で実現するかもしれませんよ
Matzがそういう構想を見せてましたしね
0219デフォルトの名無しさん
2015/01/04(日) 02:49:18.19ID:k+m5c6UWなんだよ、やっぱりCythonのrubyバージョンが欲しいんじゃねーか
0220デフォルトの名無しさん
2015/01/04(日) 02:50:48.47ID:bZBwgO8Fやっぱ母国語でないならネイティブの表面的なマネなんかしないで、出来るだけ丁寧に書いた方が
いいよな。
0221デフォルトの名無しさん
2015/01/04(日) 03:07:16.92ID:x+sstHNqCython ていうかさ、ruby にはruby 特有の事情があるんだわ。
CRuby と Jruby という二つの実装があって、その互換性は
99.9パーセントくらいかと思うけど、共通の高速化手段がない。
それぞれ、C言語で書くかJava言語で高速化したい部分を書くという
ことになると思うけど、そうしたら互換性が台無しになる。
それに、Rubiniusというプロジェクトがあって、それはRuby を
Ruby自身で書くというものだけれど、やっぱ遅いRuby でそれを
やるのはいかにも無理があるよね。
そのすべてを解決するのは、Ruby Jruby のどちらからも呼び出し
可能な 静的型のRuby のサブセットだと思う。
それを CythonのRuby 版じゃないかと言うなら言えよというか、
Cython なんてよう知らんが、いま Mirah というモデルとなるような
のがあって、あんな感じのをRuby JRuby 共通のツールに出来たら
いいなぁと。
ホント、そんなの出来たら最高なんだけどな。
0222デフォルトの名無しさん
2015/01/04(日) 03:28:29.08ID:PafXKnQsMRIとJRubyの共通ツールを頑張って作っても幸せになれない気がするわ
仕様変更に追従するのに疲れ果てたりとかで
そして最後に「不満持つぐらいならはじめっからやるなよって話だよ」って言われてEND
0223デフォルトの名無しさん
2015/01/04(日) 03:33:12.96ID:x+sstHNqそんなことないよ。
JRuby のナッターさんはCRuby のコミッタのはずだよ。
CRubyの仕様に文句いうためだけになってるんだと思うよ。
だって、C言語で組むわけないからね www
だから、Rubiniusの人もナッターさんのようにそうすればよかったのに。
0224デフォルトの名無しさん
2015/01/04(日) 07:25:04.59ID:oAitY7sD技術的にはnative extensionを共通化できない理由は特にない。
そして、それに関してMRIに特に何か仕様変更を求める必要もない。
JRubyがnative extensionのサポートを諦めたのは純粋に開発リソース不足のため。
native extensionのサポートがMRIとの互換性において非常に重要であるのは>>221の言う通りであるが、
それすらも維持できない貧弱なプロジェクトだということ。
0225デフォルトの名無しさん
2015/01/04(日) 10:22:31.20ID:x+sstHNqnative extension?
そんなもん、いらんだろって。jvm で動いてないもの、どこがありがたいのか???
動かなくてせいせいしたぜ。
Javaでこっちが書いたら、それはruby で動かないのが残念だなってだけで。
要するに、mirah の完成度が上がって Java(かJavaのバイトコード)と
C言語の両方を吐き出せるようになってほしいなって話なんだな。
print文で、Java かC を構文組み上げて吐くようにすりゃいいだけだ。
誰かやりゃいいのに・・・
0226デフォルトの名無しさん
2015/01/04(日) 10:27:41.54ID:oAitY7sD0227デフォルトの名無しさん
2015/01/04(日) 11:20:51.33ID:PQ1/DFwuくらいの扱いが一番楽なんじゃないの
昔のBASICやLISP的なノリでさ、その内Schemeみたいな派生が出てくるよ
0228デフォルトの名無しさん
2015/01/04(日) 11:57:30.28ID:4LHzAbdWその人が単にキレやすかっただけに見える
ML読み返すと英語でも日本語でも些細なことでキレまくり
彼にせよBrianにせよ、コミュニケーションを軽視する人はこういう活動に向いてないという例では
0229デフォルトの名無しさん
2015/01/04(日) 12:50:56.63ID:FkvmMkr7Rubyは品質と機能の安定性の面で、他と比べて一歩劣るという結論でいいじゃない
0230デフォルトの名無しさん
2015/01/04(日) 13:06:34.19ID:+Td8x07pPythonは3移行に失敗
PerlはPHPに取って代わられ
PHPは言語仕様がクソ
Nodeは分裂
0231デフォルトの名無しさん
2015/01/04(日) 20:13:29.76ID:mDqV+MlIけなっしーか?
ダメだと考える理由くらい書けよ。
0232デフォルトの名無しさん
2015/01/04(日) 20:20:27.59ID:w9Cj0tkOecho 'ところで?>を省略しちゃう奴なんなの?'
?>
0233デフォルトの名無しさん
2015/01/05(月) 00:25:16.12ID:3qqCgoQ1.phpファイル末尾の ?> は省略するべき
?>の後ろに、改行・空白があると、ブラウザに表示されたり、
レイアウトが崩れたりする場合があるから
>>220
文章では表情までわからないから、
すぐ相手は気を悪くするもの
それに英語がネイティブじゃないものは、
おかしい英語を使う
この間、日本人の官僚か大使が、国連の会議で、
シャラーップって言って、
世界中で大馬鹿者として放送された
0234デフォルトの名無しさん
2015/01/05(月) 07:04:52.45ID:KQNQflUfこれか
ttp://php.net/manual/ja/language.basic-syntax.phptags.php
ただ、HTMLタグ中に組み込む場合は、もちろん省略できんな
0235片山博文MZ ◆T6xkBnTXz7B0
2015/01/05(月) 23:09:42.06ID:ZGGJRGXG0236デフォルトの名無しさん
2015/01/06(火) 00:26:06.82ID:YQPZRkv+シェルスクリプト総合 その24(c)2ch.net
http://peace.2ch.net/test/read.cgi/unix/1415634843/
専用スレで聞いたほうがいいよ
0237デフォルトの名無しさん
2015/01/06(火) 00:47:06.50ID:7Rp7KoRa変数名には、英数字,_ が使える
ただし、変数名の先頭には、数字は使えない
変数の作成。$は付けない
変数名=
値の設定、または変数宣言と同時に、値を代入する
$は付けない。=の前後に、空白などを入れてはいけない
代入すると、文字列に変換される
変数名=値
値の参照
$変数名
${変数名}
{}を使った方が、変数名の切れ目が明確
0238デフォルトの名無しさん
2015/01/06(火) 12:14:33.94ID:Cpl3B7oz0240デフォルトの名無しさん
2015/01/07(水) 01:36:55.90ID:IbCBqkxUすべて大文字で変数宣言したら、
定数と扱うような、暗黙のルールがある
Rubyでは、大文字で始まる変数は定数
JSでは、const
Pythonでは、比較を簡単に書ける
if 10 < a < 20
0241デフォルトの名無しさん
2015/01/07(水) 02:03:39.00ID:OR0Xay6Fどれだけ面構えが醜くてもそれだけで許せる。
5年やそこらで既存コードをパーにされたらたまったもんじゃない。
0242デフォルトの名無しさん
2015/01/07(水) 03:08:11.75ID:grCXKxRm0243デフォルトの名無しさん
2015/01/07(水) 05:20:42.86ID:SuGFpl1Qそこに雇用が生まれるメリットはあるよね
0244デフォルトの名無しさん
2015/01/07(水) 08:09:22.38ID:HKXqxXwW開発者がレベル低くてperl6がろくに完成しなかったのが
結果的に功を奏した形になったよね
0245デフォルトの名無しさん
2015/01/07(水) 14:13:26.73ID:ADXOWNsB当時からブロックスコープだったし
PythonとかRubyとか今更型が必要とか言い出してるし
基本線は良かったのに、僕の考えた最強のスクリプト言語とか中二的な機能を山盛りにしようとして大失敗
obj->fooの代わりにobj.fooとか、文字列連結演算子を変更するとか、全くどうでもいい仕様変更考えたのって誰なんだろう
0246デフォルトの名無しさん
2015/01/07(水) 18:56:02.12ID:5+edpXUl0247デフォルトの名無しさん
2015/01/08(木) 16:17:15.70ID:SnsO6Hw40248デフォルトの名無しさん
2015/01/08(木) 18:23:31.25ID:nx8fIEJ5それは便利なんだけど一方、printみたいに関数になっちゃったのが多くて、昔のライブラリ書き換えが面倒。
聞いた話じゃ、filter、map、reduceを活用するためとか、・・・意味分からんw
0249デフォルトの名無しさん
2015/01/09(金) 08:57:03.72ID:rN687hyH0250デフォルトの名無しさん
2015/01/10(土) 09:18:16.79ID:x/aYCkcH"print(s)" を "print s" とか "p s" にする簡単な方法ってないかな
この点だけで言えばRubyはいいな〜
0251デフォルトの名無しさん
2015/01/10(土) 09:28:44.06ID:kTT0/GFrPython使うときはprint使わないでファイルに直接書いちゃうことが多いかな
0252デフォルトの名無しさん
2015/01/11(日) 01:47:07.24ID:BNezyC0M0253デフォルトの名無しさん
2015/01/11(日) 02:19:40.22ID:D8UjnNuz0254デフォルトの名無しさん
2015/01/11(日) 06:24:41.86ID:+g1taGc50255デフォルトの名無しさん
2015/01/11(日) 08:05:57.92ID:V5MgNSbe日本だとRubyが右肩上がり
0256デフォルトの名無しさん
2015/01/11(日) 12:37:55.41ID:I5t5eddkもっと良い言語無いの?
0257デフォルトの名無しさん
2015/01/11(日) 18:50:24.94ID:CYF8relGRubyみたいな楽しい(笑)言語と一緒にするなよ
0258デフォルトの名無しさん
2015/01/11(日) 19:02:57.25ID:iJxxEC6M今後の需要。
wordpressを追いやるものができたら、オワコン
0259デフォルトの名無しさん
2015/01/11(日) 19:11:37.12ID:oFld/Oyi遊びとしてRustがベスト
0260デフォルトの名無しさん
2015/01/11(日) 20:11:05.65ID:tVi6wPxYとりあえず、特定のサイトのクッキー削除とかやってみたいんだけど・・・
0261デフォルトの名無しさん
2015/01/11(日) 20:29:23.11ID:BkMuWsUGPHPは終わらんよ。新人を中級上級に育てるのに便利だから。
RubyやPythonじゃそうはいかない。いきなり中級レベルが要求される。
0262デフォルトの名無しさん
2015/01/11(日) 20:35:41.52ID:5YX1qxcz日本語が十分に使えなくてi18n版とかいうのを使ってたような気が。
0263デフォルトの名無しさん
2015/01/11(日) 21:05:07.42ID:8e7vlna2クッキー削除ってブラウザの?
それブラウザのエクステンションとかになるから初心者向けの課題としては全くもって不適
他のアプリを操作したいというのは極めて狭い特定の問題領域に特化した知識が必要なので
はっきり言って何の勉強にもならん
0264デフォルトの名無しさん
2015/01/11(日) 22:37:19.57ID:jQsmpaL2regedit でIEのレジストリから、
そのサイトのクッキーを消したら?
0265デフォルトの名無しさん
2015/01/12(月) 02:33:31.50ID:SfE3hKbl互換性の首を締める方向に全力疾走の言語モドキをperlの代替と言われても
冗談にすらなんねーよ。PHPはさっさとApacheと心中して欲しい。
PHPに比べてperlに依存したソフトウェアがどれだけ出回ってるか。
PHPを初心者向けにと強いられる新人がいくらなんでも可哀想だわ。
Pythonは3にする必要なかった。2で良かった。
3になってなんでユニコードリテラル復活してるのか意味分からん。
Mercurialを負け犬にしたのはpy3kのせいだと思ってる。
PythonはPHPなんかと違って本物の初心者向けのいい言語だと思う。
まずエディタの設定を変更して、ハードタブをソフトタブに
切り替えなきゃならないあたりが絶妙な初心者向けのハードルで、
それすらできない出来損ないがコミュニティを腐らせる隙を与えなかった。
0266デフォルトの名無しさん
2015/01/12(月) 05:48:56.65ID:+xl7KGyMニッチな用途で他の言語も使われていくだろうけど
0267デフォルトの名無しさん
2015/01/12(月) 08:23:20.60ID:v02+vhqU意識高い系(笑)は関数型に手を出そうとしてるが、
不変のメリットを享受できるほどの複雑なモデルを持ち
かつ内製で完結できる程度の規模のサイトなんかまず存在しない
0268デフォルトの名無しさん
2015/01/12(月) 08:48:07.46ID:N3htatRUこれをやったらハクがつく、みたいなのを嗅ぎ取ることに夢中で
やれLISPだのSICPだのね
自分を飾るためのアクセサリーなんだね
0269デフォルトの名無しさん
2015/01/12(月) 09:29:39.75ID:OOvwNMe1そりゃあまあ、今まで自分がやってきたことが無に帰したら悲しいからなw
0270デフォルトの名無しさん
2015/01/12(月) 10:19:44.13ID:KOXsuD1D許容出来ないレベルでゴミ過ぎる
それが無ければ我慢出来なくも無いのに
0271デフォルトの名無しさん
2015/01/12(月) 10:32:32.62ID:mp+hxBsF0272デフォルトの名無しさん
2015/01/12(月) 10:49:22.54ID:yKw+EUpnまじでこれ。言語にこだわってるのはバカ。
仕事では大事なことが他にある。
0273デフォルトの名無しさん
2015/01/12(月) 10:57:03.69ID:Il3tkbbbそのニッチじゃない用途ってのがWebのことなら、この板で話す理由は全くないけどな
0274デフォルトの名無しさん
2015/01/12(月) 11:15:56.52ID:KOXsuD1D言語も大事だよ
ドカタには分からないだろうけど
0275デフォルトの名無しさん
2015/01/12(月) 11:52:42.85ID:LpPMJZpp些細な言語の違いに影響を受けるのは、プログラミングの本質を理解せずにサンプルのコピペを繰り返してるだけだから
0276デフォルトの名無しさん
2015/01/12(月) 12:27:25.00ID:KOXsuD1Dドカタ仕事のWebなんてどんな言語使っても大差ない
それだけのことよ
0277デフォルトの名無しさん
2015/01/13(火) 04:58:28.74ID:9nbZCc5w0278デフォルトの名無しさん
2015/01/13(火) 07:29:00.61ID:fFU9OuRsデータ解析なんか基本的にスクリプトだし
サーバー管理なんてそれこそ無数のスクリプトが動いてる
世の中がWebばかりに見えるのは情報媒体がWebだからだよ
0279デフォルトの名無しさん
2015/01/13(火) 08:27:23.85ID:zKLcexwt業務系クラサバシステム開発 … この世界の底辺
スマフォアプリ開発 … 中身のレベルはWebと大差なし
とかだから、どう見ても高度なレベルじゃなくね
デスクトップアプリ(ゲーム含む)開発も最近はLuaとかシェーダー言語だしなあ
0280デフォルトの名無しさん
2015/01/13(火) 08:30:03.90ID:fFU9OuRsクソ高い実験機器の制御・データ解析ツールなんて
Pythonで書かれてるのたまにあったよ
0281デフォルトの名無しさん
2015/01/13(火) 08:30:50.94ID:JSzG7Hub意識高い系が手を出すのは、Lisp(特にcommonlisp)じゃなくて、
Haskellだと思うけどな。
0282デフォルトの名無しさん
2015/01/13(火) 08:42:34.76ID:/zWkSKJ0それ、ゲーム含むじゃなくてゲームのみの話じゃん…
ゲーム以外のデスクトップアプリにPython使われたりしてんだぜ?
0283デフォルトの名無しさん
2015/01/13(火) 09:19:30.34ID:uUqmuISFPythonつーても中身はほぼCだからなぁ
0284デフォルトの名無しさん
2015/01/13(火) 19:07:09.77ID:fFU9OuRsLuaはユーザーによる拡張用ではなくスクリプトごと固定で組み込んでしまう使い方が主だし
0285デフォルトの名無しさん
2015/01/13(火) 19:20:57.98ID:9boVeRRQPythonってアプリ同梱で配布するやり方がよくわからんのよね。
Python環境自体を別途インストールするなら問題ないのだけど。
Luaは最初からexe埋め込みだから、その点は明確で、環境依存はしづらいな。
0286デフォルトの名無しさん
2015/01/13(火) 19:39:04.28ID:fFU9OuRshttp://docs.python.jp/3.3/extending/windows.html
やっぱりPythonのドキュメントは別格だと思う
MSに勝るとも劣らないレベル
0287デフォルトの名無しさん
2015/01/13(火) 21:16:48.11ID:9boVeRRQ拡張と埋め込みまでは知ってる。
その後、 exe と python.dll と *.py を同梱して配布するには? の資料が見つからないんだ。
レジストリを見に行くようで、ファイル単体では動かないんだよ。
0288デフォルトの名無しさん
2015/01/13(火) 21:38:33.21ID:/ApZh3CF0289デフォルトの名無しさん
2015/01/13(火) 21:55:12.64ID:/zWkSKJ00290デフォルトの名無しさん
2015/01/13(火) 21:55:13.36ID:QfRKSulC0291デフォルトの名無しさん
2015/01/13(火) 22:54:26.25ID:Jo6K+xXL今のバージョンはどうか知らんが、1.*の頃試したときはインストールしたpython環境に
べったり依存していたように思う。luaやmrubyなんかの組み込みと違って単にCの
プログラムからpythonを呼び出せるというだけだったような。
ドキュメントを見る限りではそのへんあんまり変わってないんじゃないかな。
0292デフォルトの名無しさん
2015/01/14(水) 02:25:27.00ID:T2Sy5zuG6.2.1. モジュール検索パス
http://docs.python.jp/2/tutorial/modules.html#tut-searchpath
Py_Initializeの前にsetenv,putenv等で環境変数PYTHONPATHを設定すればいい
0293デフォルトの名無しさん
2015/01/16(金) 09:07:33.90ID:G+UBMH+X覚悟しとけよ。
知らんけど…。
0294デフォルトの名無しさん
2015/01/16(金) 15:44:01.15ID:49OvZmoVRails次第とういかRailsしか無いというか。
Pythonが無ければもっと・・・でもPython有るから。
0295デフォルトの名無しさん
2015/01/16(金) 16:15:47.25ID:2bPtIKnKRails にはみんなうんざりしてるが、
Sinatra はいいんじゃないか?
0296デフォルトの名無しさん
2015/01/16(金) 16:21:58.95ID:2bPtIKnKしかし、そのapi の命も次のバージョンが出るまで www
ころころapi を変えたがるのはもう病気のレベルだものな。
いまRails を必死になってやってるヤツに言いたい。
その知識、2年後3年後にどれほど役に立つか考えろ。
Rails のapi覚えるなら、次のバーション出てからにした方がいいよ。
どうせすぐ変わるから www
0297デフォルトの名無しさん
2015/01/16(金) 18:40:34.25ID:EFhovs02使ってると飽きる
0298デフォルトの名無しさん
2015/01/16(金) 22:15:42.86ID:VyuSK5Aq俺も飽きた感があったんだが、最近になってまた好きになってしまった
スクリプト界では一番守備範囲広いし、使えるんだよなー
地味なのは認める
0299デフォルトの名無しさん
2015/01/17(土) 07:25:54.87ID:f1EDoQ/5Railsで作ったサイトを作り直すときに、Raisの新しいバージョンに合わせて大幅に書き直す位ならいっそのこと別の言語にしようってなる
0300デフォルトの名無しさん
2015/01/17(土) 07:48:59.08ID:OhSrciBgもう言語の記述性なんて大した問題じゃないしな
そこまでするなら静的言語使う
0301デフォルトの名無しさん
2015/01/17(土) 08:01:04.96ID:SbteLaC50302デフォルトの名無しさん
2015/01/17(土) 08:41:07.14ID:OhSrciBg0303デフォルトの名無しさん
2015/01/17(土) 12:51:14.09ID:lr/+xWwFウォーターフォールでがっちりやりたいなら静的言語だろうけど
0304デフォルトの名無しさん
2015/01/17(土) 23:47:30.50ID:sLyYJJKP0305デフォルトの名無しさん
2015/01/18(日) 00:09:17.45ID:UJDOWW1C実際にアジャイルは多いよ
ちょっと前まではバズワード扱いだったのが、最近では開発現場でも当たり前になってきた
もちろん、ウォーターフォールが必要な場面ではそっちがまだまだ使われてるけどね
0306デフォルトの名無しさん
2015/01/18(日) 06:52:15.36ID:64baGbNBary = [10, 11]
Rubyなら、
p ary, pp ary
[10, 11]
Pythonなら、
print(ary), pprint(ary)
0307デフォルトの名無しさん
2015/01/18(日) 07:00:28.07ID:Xi2ZNgHc0308306
2015/01/18(日) 07:11:36.31ID:64baGbNB漏れはWin8なので、TeraPadで書いて、
ttps://paiza.io/
にコピペして、実行している
0309デフォルトの名無しさん
2015/01/18(日) 08:34:37.78ID:YQ/T1PKNどうでもいい判断を毎回する必要があることが馬鹿馬鹿しい
そういうどうでもいいことに拘った最低最悪の形がRSpecだね
0310デフォルトの名無しさん
2015/01/18(日) 08:46:11.18ID:mY3wllRf0311306
2015/01/18(日) 09:04:56.71ID:64baGbNBただし、処理が1行なら、{}を使う
0312デフォルトの名無しさん
2015/01/18(日) 09:12:45.90ID:YQ/T1PKNたとえばRSpecでletを使うとき、大抵一行で済むし、
処理(do)ではなく返す値に興味があるわけだから俺は{ }を使うことにしてる
before(:each)はその逆だからdo end
でも時々letが複数行になることがあって、そういうとき悩む
0313デフォルトの名無しさん
2015/01/18(日) 13:59:10.61ID:mY3wllRf0314デフォルトの名無しさん
2015/01/18(日) 23:38:08.91ID:g9CLYO+zRubyがWindowsに弱いっていつの話だよ
1.8の時代はともかく、最近じゃほとんどの機能は全プラットフォームで使えるよ
それいうならPerl、Python、NodeだってWindowsでは…となるぞ
0315デフォルトの名無しさん
2015/01/18(日) 23:44:24.32ID:YQ/T1PKN0316デフォルトの名無しさん
2015/01/18(日) 23:51:42.07ID:g9CLYO+z0317デフォルトの名無しさん
2015/01/19(月) 00:00:18.75ID:UWF/Jaigネイティブなライブラリに依存してるのは地獄だぞ
0318デフォルトの名無しさん
2015/01/19(月) 01:48:25.96ID:wzv4NESB何を言いたいのかさっぱり意味が分らん
0319デフォルトの名無しさん
2015/01/19(月) 12:23:41.10ID:yRlyh47C0320デフォルトの名無しさん
2015/01/19(月) 12:58:48.34ID:Sno3rMdn0321デフォルトの名無しさん
2015/01/19(月) 21:49:04.56ID:qpn2CGqA俺俺
0322デフォルトの名無しさん
2015/01/19(月) 21:52:28.91ID:kiiRsxmr全く動作確認されてないんだから、まともに動くわけない
0323デフォルトの名無しさん
2015/01/19(月) 23:03:34.62ID:l9JevSUURubyと同じじゃないよ
0324デフォルトの名無しさん
2015/01/19(月) 23:13:15.51ID:i0MAuzuq0325デフォルトの名無しさん
2015/01/20(火) 03:50:44.66ID:tR2SZl1M非営利財団だろ。経営もしっかりしている
Rubyは財団か?
それとも、Matzの個人商店か?
0326デフォルトの名無しさん
2015/01/20(火) 06:35:51.88ID:quI2Cspp0327デフォルトの名無しさん
2015/01/20(火) 10:13:39.35ID:hB3oeRgV0328デフォルトの名無しさん
2015/01/20(火) 13:21:05.10ID:3IYipDbKJSは単に進化停止していただけだし、Perlも6に以降失敗したようなもんだ
0329デフォルトの名無しさん
2015/01/20(火) 13:25:29.78ID:3IYipDbK後方互換ガーなんてのはPHPとPythonだけ
0330デフォルトの名無しさん
2015/01/20(火) 14:39:34.02ID:VllN2WvmRubyは国が支援してるというね
0331デフォルトの名無しさん
2015/01/20(火) 16:56:50.32ID:hB3oeRgVこのスレの120辺りを読んでくれ
Rubyの場合は別質
0332デフォルトの名無しさん
2015/01/20(火) 18:04:44.73ID:RY//z8fgLLの中だとRubyがダントツで互換性低いのは間違いない
0333デフォルトの名無しさん
2015/01/20(火) 18:40:33.91ID:2oWi77PzIronRubyの目的はIISでRailsを動かすこと
頓挫したけどね
向こうの人にとってのRubyは完全にRailsのDSLであって、
もう汎用言語とは言い難いレベル
0334デフォルトの名無しさん
2015/01/20(火) 19:59:34.52ID:2rttaZJW国産言語ってことで行政が推してるからまあ安泰だは
0335デフォルトの名無しさん
2015/01/20(火) 20:03:25.90ID:gCw9cvtQ日本人がPythonやってますとか聞くと非国民かよって思う。
0336デフォルトの名無しさん
2015/01/20(火) 21:50:32.68ID:FOHiryvxOSSには相応しくない
多様性は善ではなかったんかい!?
だから嫌われるんだよ
0337デフォルトの名無しさん
2015/01/20(火) 21:51:26.48ID:quI2Cspp0338デフォルトの名無しさん
2015/01/20(火) 22:13:59.84ID:LYCYgqf6どうせRubyなんてTRONと同じく白人様に潰されて消えていくんだから
Rubyみたいな糞言語は死んじまえ、Python万歳!!
...... こんな感じですかね?
0339デフォルトの名無しさん
2015/01/20(火) 22:58:10.49ID:LYCYgqf6--
91 名前: デフォルトの名無しさん Mail: 投稿日: 2014/09/13(土) 19:33:59.26 ID: NXGUPkMv
LINEにインターンに行った人のブログ読んだ時、そこの社員さんの本が写ってる画像があって
その中にPython関係のハングル翻訳本があったのであーやっぱりと思った
92 名前: デフォルトの名無しさん Mail: sage 投稿日: 2014/09/13(土) 20:35:34.26 ID: OsadxY4P
エンジニアブログでも登場してたよ
日本語バリバリっぽいが
110 名前: デフォルトの名無しさん Mail: sage 投稿日: 2014/09/16(火) 18:17:53.70 ID: exxayQq9
>>91
これか
http://cdn-ak.f.st-hatena.com/images/fotolife/c/cocodrips/20140829/20140829091202.jpg
0340デフォルトの名無しさん
2015/01/20(火) 23:16:50.64ID:7gfbI4nvこんなのがいるからRubyはダメになっていくんだろうな
0341デフォルトの名無しさん
2015/01/21(水) 00:00:06.86ID:8ggEF+FJ0342デフォルトの名無しさん
2015/01/21(水) 01:00:03.40ID:Tr7NsjzJ0343デフォルトの名無しさん
2015/01/21(水) 01:31:54.70ID:Jm/vxooP海外での評価は逆みたいだね ....
「Rubyコミュニティはnewbieに対して親切でフレンドリーだ」
--
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RubyPeople
foocampにいたとき、rubyを好きな理由がもうひとつ見つかった。
それは自分では認識していなかったものだった。
誰かがテーブルで(ごめん名前忘れた)PythonコミュニティとRubyコミュニティの
違いについての彼なりの意見を述べていた。
彼曰く、「Rubyコミュニティはnewbieに対して親切でフレンドリーだ」と。
(彼はまた、これはRubyに日本の血が流れているからではないか、とも言っていた。)
Pythonコミュニティに参加したことはないので、彼の言うことが本当かどうかは分からない。
しかし、rubyコミュニティは、私が今まで見てきたどんなオンラインコミュニティよりも
ナイスだということは言える。 なんたって、あのAndy HuntとDave Thomas
――私が非常に尊敬する2人だ――が、私をRubyの世界に連れてってくれたんだから。
Rubyコミュニティには、才能と実用主義と楽しさとがうまくミックスされていると何度も思ってきた。
0344デフォルトの名無しさん
2015/01/21(水) 01:39:05.34ID:+axw7Pvyそれ、突っ込みどころ違うよ。
Q:何故ハングルに翻訳するとそんなに分厚くなるのか?
A:発音記号だから。
0345デフォルトの名無しさん
2015/01/21(水) 03:16:07.49ID:75gh2GfD0346デフォルトの名無しさん
2015/01/21(水) 03:51:36.09ID:wB45Fkqgが率いる組織は、成功することが多い
Linus, Ubuntuの Shuttleworth,
Pythonの Guido, Rubyの Matz など
0347デフォルトの名無しさん
2015/01/21(水) 12:05:43.46ID:ZLZJY6VkPythonとかRuby辺りのライブラリで出来ないかな?
0348デフォルトの名無しさん
2015/01/21(水) 13:45:53.87ID:JmHeT0ceUNIXと全く互換性がなくていいんならWinRMとPowerShellでも使っとけばいい
0349デフォルトの名無しさん
2015/01/21(水) 21:46:32.46ID:ZLZJY6Vk全部Windowsで、古〜いOSもあるLAN環境
とりあえずWinコマンド程度が使えればOK
0350デフォルトの名無しさん
2015/01/21(水) 22:11:05.18ID:e6Du7UL/telnetでも十分なレベル
0351デフォルトの名無しさん
2015/01/22(木) 21:19:29.56ID:LKYj/LZs0352デフォルトの名無しさん
2015/01/22(木) 22:25:34.82ID:96GHEWiSゴチャゴチャと環境弄らなきゃいけないんなら誰が好き好んでJSなんか使うかよ
あれは組み込みみたいなもんだと考えるから許せるんだ
0353デフォルトの名無しさん
2015/01/22(木) 23:52:07.17ID:LKYj/LZs0354デフォルトの名無しさん
2015/01/23(金) 00:16:00.35ID:pP0GMZce0355デフォルトの名無しさん
2015/01/23(金) 11:55:55.76ID:5/kO6ZiG大抵の人にとっては仕方なく使うものなんじゃないの?
0356デフォルトの名無しさん
2015/01/23(金) 12:08:20.53ID:pP0GMZcepythonやrubyのイケてた時代を終わらせるのがjs
0357デフォルトの名無しさん
2015/01/23(金) 19:02:18.94ID:6Afq+GYy0358デフォルトの名無しさん
2015/01/23(金) 19:10:11.25ID:pP0GMZce0359デフォルトの名無しさん
2015/01/23(金) 20:00:14.55ID:uMcR+6pK0360デフォルトの名無しさん
2015/01/23(金) 21:47:22.88ID:xpfPJLS+http://blog.livedoor.jp/cartan0216/archives/55106852.html
初心者が学ぶべき最も適切なプログラム言語は何でしょうか?
http://blog.livedoor.jp/cartan0216/archives/55045634.html
とりまSwiftとRuby(Rails)で十分ぽいな
0361デフォルトの名無しさん
2015/01/23(金) 22:25:03.62ID:pP0GMZce0362デフォルトの名無しさん
2015/01/23(金) 22:43:40.65ID:hQrxvFHx0363デフォルトの名無しさん
2015/01/23(金) 22:49:19.54ID:xpfPJLS+0364デフォルトの名無しさん
2015/01/23(金) 23:35:24.96ID:OPE+Wqmbaltjsがこんだけある背景みてみれば
0365デフォルトの名無しさん
2015/01/23(金) 23:37:18.88ID:OPE+Wqmb0366デフォルトの名無しさん
2015/01/24(土) 00:54:48.95ID:NZHw0tw6崩壊している現状に嫌気がさしてもう撤退しているだろ
>>364
ES6っていまだV8にすら採用されていないんだけど、いつ登場するの?
それに加えて、IE9/10/11、iOS678、Android45とか自動更新機能がないもので今後10年は
生き残りそうなのものがあるから、サーバーサイドという分野でのみES6は使われることになりそう
0367デフォルトの名無しさん
2015/01/24(土) 01:46:56.28ID:j5NTd6720368デフォルトの名無しさん
2015/01/24(土) 04:27:36.09ID:JKeamxrrというかVBSに処理を部分的に投げているライブラリは普通にあると思う。
# というかIEならWindowsの設定次第でPerlでもRubyでも使えるが、まあ、これは別の話だな。
0369デフォルトの名無しさん
2015/01/24(土) 08:10:51.72ID:jAZ3+1Kv別途コンパイラを用意すれば良いのであって、人間が直書きする必要は無い
0370デフォルトの名無しさん
2015/01/24(土) 08:38:52.61ID:wENwJ1MHNode.jsも決して使いやすくはないし、
alt.jsがたくさんあるのも、みんなが現状のjsにNoって言ってるよう
jsを汎用言語と混同している人ってなんなんだろう
webの世界だけしか見えてないってこと?
0371デフォルトの名無しさん
2015/01/24(土) 09:04:28.74ID:sa+x1XzyWebはフレームワークやプラットフォームに極めて強く依存する書き捨てコードばかりで
純粋に言語処理系を単体で動かすことってあんまりないからね
0372デフォルトの名無しさん
2015/01/24(土) 11:22:18.67ID:eqZeKpyolessでいいじゃん
>>370
汎用言語だよ
0373デフォルトの名無しさん
2015/01/24(土) 11:26:10.65ID:eqZeKpyo0374デフォルトの名無しさん
2015/01/24(土) 17:00:35.12ID:W3y8Uzfq客に納品する仕事に使えるレベルではない。
0375デフォルトの名無しさん
2015/01/24(土) 18:10:27.07ID:j5NTd672今度のSpartanとか
JSしか共通して使える言語はない
0376デフォルトの名無しさん
2015/01/24(土) 18:21:30.79ID:4gU3kMxY古めのブラウザだとライブラリも切り捨てるところ多いし
IE8とかまだまだシェアがあるから簡単には切れないけど、ライブラリ側からすれば
余計なメンテコストを払いたくないからと言ってざくざく切り捨ててる
0377デフォルトの名無しさん
2015/01/24(土) 18:25:39.00ID:VbrrutVHまあいまだにIE6-8使っている奴は氏ねと思うけど
IE9ですらモダンブラウザとは呼びにくい
0378デフォルトの名無しさん
2015/01/24(土) 18:27:46.67ID:4gU3kMxYIE67はさすがに死ねと思うが、IE8はまだシェア15%ぐらいあるからねー
さすがに切れないね
0379デフォルトの名無しさん
2015/01/24(土) 18:47:53.83ID:DiKxWDitそれをアップグレードできない
0380デフォルトの名無しさん
2015/01/24(土) 18:49:11.27ID:DiKxWDitいったいなにがしたいの。お客さんへってもしょうがない
0381デフォルトの名無しさん
2015/01/24(土) 18:55:48.32ID:7JjHOFlk0382デフォルトの名無しさん
2015/01/24(土) 23:05:39.53ID:1ANpaCAoダサいページだと客が離れることもある
それくらい想像しろ
0383デフォルトの名無しさん
2015/01/24(土) 23:14:45.75ID:4gU3kMxYできることに差はあまりないよ
できることをやろうとしたときの面倒臭さに差があるだけで
0384デフォルトの名無しさん
2015/01/25(日) 00:01:14.94ID:Jr53LPhmワンページとかなんとか浮かれているような人たちは、もし彼らが只の雇われに過ぎないなら、極めつけのバカか狂信者だな。
0385デフォルトの名無しさん
2015/01/25(日) 00:06:29.92ID:rMImkPL5派手でダサいだけのWebサイトをjQueryで作るのとは別物だよね?
0386デフォルトの名無しさん
2015/01/25(日) 00:18:12.96ID:6mma36Hgデスクトップアプリの真似というよりはむしろ、Webらしいナビゲーションを
シングルページでどう実装するかみたいなアホらしい話が中心
0387デフォルトの名無しさん
2015/01/25(日) 02:24:32.33ID:i0uaKtn8帰ってきたFlashっていうのはその通りで、SEOだったり、フルFlashサイトの悪いところもそのまま
開発者の自己満足で作られてることが多いと思う
0388デフォルトの名無しさん
2015/01/25(日) 09:24:05.61ID:kfeufnFV0389デフォルトの名無しさん
2015/01/25(日) 09:45:05.35ID:jBwEQ7VSそのレベルの事を態々書き込みに来る奴が絶えないんだから、十分成功しているな。
0390デフォルトの名無しさん
2015/01/25(日) 09:56:04.07ID:nUXVFEqA2chは早くからアプリベースのサービスだ
しかしそれにも関わらずユーザー離れは進んでるんじゃないのか?知らんけど
もっともダサい云々以前に質の問題だろうが
0391デフォルトの名無しさん
2015/01/25(日) 13:08:38.69ID:rMImkPL52chのデザインとユーザビリティほど優れたものは見たことがないよ。
0392デフォルトの名無しさん
2015/01/26(月) 08:43:53.57ID:sJiCscnb本来は切り捨てていいんだけど、
まだシェアがあるってのが問題だよなぁ…。
0393デフォルトの名無しさん
2015/01/26(月) 14:22:23.94ID:ltDG8o77目下Win7+IE10へ移行中といったところ
0394デフォルトの名無しさん
2015/01/26(月) 14:23:09.30ID:ltDG8o77いや今の業務PCのデファクトスタンダードはWin7+IE8だよ
の間違い
0395デフォルトの名無しさん
2015/01/27(火) 12:37:13.90ID:P+J9yA8hどちらがプロジェクトとして長く続くんだろう
node.jsがv8へ依存している以上、googleの都合次第ってのが気持ち悪いよね
0396デフォルトの名無しさん
2015/01/27(火) 18:59:29.53ID:/zylpgwD0397デフォルトの名無しさん 転載ダメ©2ch.net
2015/01/27(火) 20:44:25.03ID:Ss3Wg0Gz0398デフォルトの名無しさん
2015/01/27(火) 22:01:33.73ID:w1lsmrbKここが言語でケンカしたい人のために建ったスレだからだよ
0399デフォルトの名無しさん
2015/01/27(火) 22:02:54.21ID:43M4HaDn0400デフォルトの名無しさん
2015/01/27(火) 22:14:29.76ID:43M4HaDn拳固でケンカしたら痛いじゃないですか…
の方が語呂がよかったかな?
0401デフォルトの名無しさん
2015/01/28(水) 02:12:53.90ID:PL/8mck00402デフォルトの名無しさん
2015/01/28(水) 02:22:02.15ID:6X1GPWd9Javascriptは方言が酷いし、C++もややそう。
PHPはビルド済み基本セットだけでなかなか行ける。
0403デフォルトの名無しさん
2015/01/28(水) 09:59:37.04ID:UquNrg64wiresharkやnmapだったりのバインドもあるし
皆が大好きなZed A. Shawもいる
0404デフォルトの名無しさん
2015/01/28(水) 18:17:14.77ID:XvHvrKVb0405デフォルトの名無しさん
2015/01/28(水) 21:03:48.62ID:UquNrg64Webって、wordpressだけで大抵のものは既に出来上がっているよね
0406デフォルトの名無しさん
2015/01/29(木) 21:34:40.31ID:b+mFhtm4メジャーなスクリプトの中ではPythonが組み込みに強い方だと思うけど、
組込みって消費電力とかハードの値段とか設置場所の環境とか考えて
最小構成で作るようなものだから、スクリプトを乗っけれるような大げさな
機器だけしか選べないようだと困る
0407デフォルトの名無しさん
2015/01/29(木) 23:45:11.53ID:KZZvYgK5電気代よりもデバッグとメンテに掛かる人件費の方がコスト掛かる
0408デフォルトの名無しさん
2015/01/30(金) 00:11:57.10ID:medIcPe3見た目はjsに近いほうが良いだろうが、型チェックなりソース解析向きのアノテーションを付与する方向に行くんじゃないか
0409デフォルトの名無しさん
2015/01/30(金) 00:12:30.08ID:dK03mtQo利便性は商品の売れ行きに影響するので非常に重要で無視はできない
0410デフォルトの名無しさん
2015/01/30(金) 00:34:02.97ID:UnBDdYg/もともと早いころから関数型やオブジェクト指向を取り込んでる先進的言語だったんだろうが。
昔はそこにはそれほど触れなくても良かった気が。
0411デフォルトの名無しさん
2015/01/30(金) 01:29:24.90ID:hYN/wnHV組込み機器の生産数、利用者が多い場合にだけ考えれば良いことだよね
IoTで使われるような機器って多くても300個ぐらいじゃないの?
0412デフォルトの名無しさん
2015/01/30(金) 02:15:31.33ID:M7MVDaI0逆に大昔はお遊び言語な扱われ方だったからな
ヤリタカッタダケのユーザビリティ無視の効果に使われてる例が多かったし
解説サイトとかもページの効果の実装方法を説明するものがほとんどだった
0413デフォルトの名無しさん
2015/01/30(金) 06:08:23.77ID:cIbmwoHp全く意味がわかってないようだね
先に言語ありきじゃなくて、ハードに合わせて言語が決まってくるんだよ
jsとかが使える組み込みなんてホンの一部だけで、jsだけに縛られていたら
ほとんど何もできないということ
0414デフォルトの名無しさん
2015/01/30(金) 08:30:02.04ID:medIcPe3機器がどうなるかはともかく、jsを書ける人間は安価で調達できるってことが言いたかったんでしょ。
jsがインタプリタされるか、出荷時にコンパイルされるかのような違いは出るだろうが。
jsが「共通言語」になることを望んでいる経営陣やエンジニアもいるだろうし、逆の立場もいるだろう。
0415デフォルトの名無しさん
2015/01/30(金) 09:08:58.93ID:5giSaP+20416デフォルトの名無しさん
2015/01/30(金) 11:31:24.89ID:hYN/wnHVは?パッと見た限りじゃ、c/c++の次にjsが多いだろ
>>414
それって、何処のガラパゴス諸島のmruby族?
0417デフォルトの名無しさん
2015/01/30(金) 14:02:07.30ID:0aDLuZP40418デフォルトの名無しさん
2015/01/30(金) 16:52:48.61ID:0d0GTcRJ0419デフォルトの名無しさん
2015/01/30(金) 22:32:55.03ID:kaeZrbim0420デフォルトの名無しさん
2015/01/31(土) 05:43:09.65ID:Klh2e7Hk0421デフォルトの名無しさん
2015/01/31(土) 06:42:16.39ID:Z3jRhN0n0422デフォルトの名無しさん
2015/01/31(土) 09:26:59.04ID:Va9Rs2Sh0423デフォルトの名無しさん
2015/01/31(土) 09:51:52.43ID:OzkgovrmWindows Embedded上のC#アプリみたいな超高級ソフトウェアでも普通に組み込みと呼ばれるから
0424デフォルトの名無しさん
2015/01/31(土) 11:22:31.14ID:UNlAycVBIoTで使われる機器って、こんなのだよね?
0425デフォルトの名無しさん
2015/01/31(土) 13:07:18.54ID:s9u0xaETjsが使えるかどうかなんて、ハード要件に比べればどうでもよい小さいこと
0426デフォルトの名無しさん
2015/01/31(土) 13:45:45.72ID:UNlAycVB0427デフォルトの名無しさん
2015/01/31(土) 15:25:12.05ID:SGXpRP2C0428デフォルトの名無しさん
2015/01/31(土) 17:37:10.24ID:mU9tRz2Q0429デフォルトの名無しさん
2015/01/31(土) 22:46:49.00ID:aqNl2FBk好きなのを使えば良いんじゃないですか?
そんなことより静的型付け関数型言語の決定版が欲しいです
0430デフォルトの名無しさん
2015/01/31(土) 23:35:12.71ID:3hGQPgsJ0431デフォルトの名無しさん
2015/02/01(日) 04:18:10.85ID:5fvWjY1M0432デフォルトの名無しさん
2015/02/01(日) 04:44:09.34ID:XrVkn0mu0433デフォルトの名無しさん
2015/02/01(日) 04:56:17.91ID:gVGAq1OKメジャーな関数型として他を駆逐してしまうかもしれん。
CoffeScriptをさらに書きやすくしたLiveScript - webネタ
http://r-h.hatenablog.com/entry/2014/02/23/114659
0434デフォルトの名無しさん
2015/02/01(日) 07:58:59.10ID:FFIHicXXそれJavaScriptとは言わないだろ。 JVMを言語と呼ぶようなものだ。
型付きで冗長なjs方言と、型無しでタイプ数を減らせるjs方言に二極化しているというのはある。
素のjsは駆逐されてしまうかもしれない。
0435デフォルトの名無しさん
2015/02/01(日) 08:00:27.40ID:idWDCOsc0436デフォルトの名無しさん
2015/02/01(日) 08:12:40.69ID:gVGAq1OK主流なJavascriptが先行版を取り込んでいくと見てる。
JavaScriptのクロージャ入門とECMAScript 6のletキーワードによる変数宣言
http://developers.linecorp.com/blog/ja/?p=3428
JavaScript - ECMAScript 6thで導入される機能 - Qiita
http://qiita.com/paulownia@github/items/1e0dce0bfee7c7d1c5aa
0437デフォルトの名無しさん
2015/02/01(日) 09:30:26.03ID:FFIHicXX全体的に日本語がおかしいぞ。
各種AltJSの実験的な機能を本家として取り込んでいく、という意味なら同意するが。
ライブラリごとに独自実装されている部分が共通化されるのは良いことだろう。
とはいえ、他の言語では当たり前のようにできていたことに追いついただけなんだがな。
0438デフォルトの名無しさん
2015/02/01(日) 10:17:47.97ID:9dLdzSODRun Script -> Daemonの起動制御
AppleScript -> OSAX
ActionScript -> Flush
TypeScript -> Web browser
JavaScript -> Web browser
JScript -> WSH(WScript)
VBScript -> WSH(WScript)
PostScript -> 印刷機
VIMScript -> VIM
Drawscript -> Illustrator
AutoCAD Script(Lispとは別) -> AutoCAD
MaxScript -> FinalRender
TeleScript -> MagicCap
NewtonScript -> MessagePad
SQL Script -> OracleDB
Script-Fu -> GIMP
0439デフォルトの名無しさん
2015/02/01(日) 11:09:35.52ID:5haBzf74至る所にtypoと大小文字の間違いがあってイライラする
書き直せ
0440デフォルトの名無しさん
2015/02/01(日) 13:25:44.86ID:q+dQr7ghRUN SCRIPT -> DAEMONの起動制御
APPLESCRIPT -> OSAX
ACTIONSCRIPT -> FLUSH
TYPESCRIPT -> WEB BROWSER
JAVASCRIPT -> WEB BROWSER
JSCRIPT -> WSH(WSCRIPT)
VBSCRIPT -> WSH(WSCRIPT)
POSTSCRIPT -> 印刷機
VIMSCRIPT -> VIM
DRAWSCRIPT -> ILLUSTRATOR
AUTOCAD SCRIPT(LISPとは別) -> AUTOCAD
MAXSCRIPT -> FINALRENDER
TELESCRIPT -> MAGICCAP
NEWTONSCRIPT -> MESSAGEPAD
SQL SCRIPT -> ORACLEDB
SCRIPT-FU -> GIMP
0441デフォルトの名無しさん
2015/02/01(日) 14:35:08.24ID:XrVkn0muS-lang -> JED
0442デフォルトの名無しさん
2015/02/01(日) 14:39:30.49ID:3vNkahG1ブラウザ開発者間の綱引きが激しいのでJavaScriptは基本的に成長が遅いよ
だからAltJSみたいな発想になるんだから
0443デフォルトの名無しさん
2015/02/01(日) 17:29:09.76ID:G8dOBwxPLiveScript? Elm?
0444デフォルトの名無しさん
2015/02/01(日) 19:04:29.52ID:OM+Gcdnkあとは一ヶ月したら話題にも上らなくなるゴミ
0445デフォルトの名無しさん
2015/02/01(日) 19:16:29.57ID:OM+Gcdnkそれらが将来性を担保する要素として足るかどうかはともかくとして、
他のカス共は本当に全く「何も無い」からな
0446デフォルトの名無しさん
2015/02/01(日) 20:01:42.99ID:XrVkn0mu実はcoffee script使った方が、ecma scriptの仕様が改訂されてもソフトウェアを保守できる
github製のatomなんて、長期に渡って保守する必要があるだろうから、
素のjsで書くよりもトランスレーターを介した方が良い
0447デフォルトの名無しさん
2015/02/01(日) 20:12:43.27ID:fftftPwM互換性に厳しいMSならJSの仕様変更を回避するためにコード生成ルールを弄るなんてこともやりかねないが、
coffeeがそんなことするのはまず考えられない
0448デフォルトの名無しさん
2015/02/01(日) 20:39:38.47ID:XrVkn0mutsみたいな複雑なものよりも、csのような単純なトランスレータの方がバグは見つけやすいのに
csって、配列末尾の","みたいな瑣末な違いを吸収してくれるんでしょ。たしか。
0449デフォルトの名無しさん
2015/02/01(日) 20:56:47.79ID:FFIHicXXjs → かため → TypeScript
どちらも需要は理解できるし、勝ち負けの話じゃないだろう
個人で手早く書きたいときは やわめ のほうがいいし、
企業で品質を客観的に保証する場合は かため のほうがいい
ただ、ES6がまともにリリースされた時には、残る利点もあるけど
js本体に吸収されてしまう部分もあるだろうなとは思う
0450デフォルトの名無しさん
2015/02/01(日) 20:56:52.31ID:OM+GcdnkとてもTypeScriptを触ったことがあるとは思えないな…
0451デフォルトの名無しさん
2015/02/01(日) 21:10:47.31ID:N0psPGkl型検査やMSお得意のIDEサポートのために処理系は超複雑だけど、
MSのコンパイラに品質の心配は無用だろう
0452デフォルトの名無しさん
2015/02/01(日) 22:04:10.69ID:6s+kHcjQECMAScriptは後方互換性を壊すような変更は絶対に入らないし
そもそも新しい仕様が追加されてもそれでコード書き直すなんてことはないからな
0453デフォルトの名無しさん
2015/02/01(日) 22:09:19.86ID:G8dOBwxP動かなくなる心配は無用ってことだから、
現時点で純粋に優れている言語処理系を選べば良いわけだね?
0454デフォルトの名無しさん
2015/02/02(月) 01:54:49.49ID:y5FxlOHY0455デフォルトの名無しさん
2015/02/02(月) 02:24:19.59ID:dbiG94geC#のdynamic objectは静的型言語の不便さを解消するために後付けで作られたものであって、
そこには動的型言語のメリットであるお手軽さはカケラも存在しない
むしろC#のdynamic objectは静的型言語の限界が露呈した結果でしかない
0456デフォルトの名無しさん
2015/02/02(月) 03:33:09.70ID:DUKz3NUwある規模越えると型は宣言できた方がよい
0457デフォルトの名無しさん
2015/02/02(月) 05:42:55.18ID:KT6cnHtOと透過的にやりとりするためのものだから静的型が不便だから動的型入れたというのとはちょっと違うかと
0458デフォルトの名無しさん
2015/02/02(月) 09:17:03.61ID:k5HPKynxスクリプト側に追い出すこと自体を「静的型言語の限界」と言えなくも無いが、
昔ながらの設定ファイルにロジックを埋め込めるようなったという解釈もできる。
既にあるかどうか知らないけど、 .ini やJSONを扱うだけの DynamicObject も作れるんだろう、きっと。
0459デフォルトの名無しさん
2015/02/02(月) 19:26:54.98ID:c9njyYRW多くの古いプロジェクトがリポジトリーやイシュートラッカー複数作りたくないからGitHubはミラーにするかGitHub1本に乗り換えてるつーのに、
Rubyみたいに複数サイトにまたがって行うバカどもがいて、MSも同じ轍を踏んだw
0460デフォルトの名無しさん
2015/02/02(月) 20:04:51.35ID:fZV+sQg00461デフォルトの名無しさん
2015/02/02(月) 21:23:59.49ID:SB3qw3g70462デフォルトの名無しさん
2015/02/03(火) 11:18:53.29ID:z5+/oPds0463デフォルトの名無しさん
2015/02/04(水) 04:00:11.44ID:C0cjHUM9なんだかんだでPythonが最強っぽい感じになってない?
0464デフォルトの名無しさん
2015/02/04(水) 07:04:27.18ID:WTybUqd60465デフォルトの名無しさん
2015/02/04(水) 07:33:40.61ID:WOsZt1fm0466デフォルトの名無しさん
2015/02/04(水) 07:50:20.63ID:WOsZt1fm0467デフォルトの名無しさん
2015/02/04(水) 08:14:40.16ID:Y0NwCTkvLinuxとかMac使っているやつらは現実にもかかわらず自分達が世界の中心とか言い出すけど
0468デフォルトの名無しさん
2015/02/04(水) 10:44:30.48ID:ATulzAusPHPは簡易なウェブサイト専用で当分残るだろうけど、その他はニッチな用途のみだな
0469デフォルトの名無しさん
2015/02/04(水) 11:02:33.76ID:/nd+Eifb> LESSはWindowsでは使えないからな
え?
0470デフォルトの名無しさん
2015/02/04(水) 13:41:49.68ID:5pZRcUKP0471デフォルトの名無しさん
2015/02/04(水) 16:16:09.91ID:c4EOMpPG0472デフォルトの名無しさん
2015/02/04(水) 16:43:47.77ID:WOsZt1fm0473デフォルトの名無しさん
2015/02/04(水) 16:52:40.49ID:WOsZt1fmttp://winless.org/
やっぱ、メインストリームは違うよね
0474デフォルトの名無しさん
2015/02/04(水) 19:15:37.21ID:QyQt1ecu0475デフォルトの名無しさん
2015/02/04(水) 20:42:47.74ID:q5FZ4bIm0476デフォルトの名無しさん
2015/02/04(水) 21:13:54.40ID:VI4sqCnu0477デフォルトの名無しさん
2015/02/04(水) 21:23:06.19ID:/nHBasUE0478デフォルトの名無しさん
2015/02/04(水) 21:52:21.03ID:CnaU1BYI新興言語の中ではJavaScriptっぽいから、比べる人が多いのか?
GoやRustは癖が強いから人を選ぶのかもしれない。
0479デフォルトの名無しさん
2015/02/05(木) 00:11:45.13ID:nfd6byLK0480デフォルトの名無しさん
2015/02/05(木) 00:20:17.23ID:dGetvNcgスクリプト言語が数値計算に使われるわけ無いじゃんって
空気を露骨に出したのが失敗だった
あれでnumpy的ライブラリが出現する可能性が無くなった
コア開発者達の先見の明が無さ過ぎたね
0481デフォルトの名無しさん
2015/02/05(木) 00:29:18.33ID:nfd6byLK設定面倒だし、Rかoctaveでいいよ。バカみたい。
0482デフォルトの名無しさん
2015/02/05(木) 01:35:30.99ID:dGetvNcg第一numpyがインストール出来ないレベルじゃRもインストール無理だ
0483デフォルトの名無しさん
2015/02/05(木) 07:16:12.21ID:fR0tiRnOこういうのはデフォルトじゃパフォーマンス出ないんだぜ
行列計算は年季の入った定番のクソ速いライブラリ群があるので、それを環境に合わせてビルドし直す必要がある
0484デフォルトの名無しさん
2015/02/05(木) 08:24:30.09ID:dGetvNcgOpenBLASあたりを入れるのが若干面倒なのはまた別の話
それに、そのレベルじゃRでもリンクできねーって
0485デフォルトの名無しさん
2015/02/05(木) 10:47:53.02ID:nfd6byLKnumpy使うのってラッパーのラッパーみたいに幾つもレイヤーを跨いでいて気持ち悪いし
python自体が行列演算に向いた言語だとも思えないから使うだけのメリットないお
0486デフォルトの名無しさん
2015/02/05(木) 12:14:09.88ID:4O3ODdxu数値計算というのは基本的に配列に対してループぶん回して単純な計算するだけだから、
FORTRANですらそれほど不自由はないんだよね
0487デフォルトの名無しさん
2015/02/05(木) 12:31:22.12ID:nfd6byLK0488デフォルトの名無しさん
2015/02/05(木) 17:30:58.22ID:zRse6YN5C++やfortranでは大袈裟すぎるが動的なスクリプトじゃ遅すぎる状況は意外と多い
0489デフォルトの名無しさん
2015/02/05(木) 21:36:53.62ID:e89xCkjtオマケでjsくらい
0490デフォルトの名無しさん
2015/02/05(木) 23:26:20.73ID:uJ7a95fpCython
0491デフォルトの名無しさん
2015/02/06(金) 00:20:57.86ID:Nt6ZZwBi0492デフォルトの名無しさん
2015/02/06(金) 00:40:06.17ID:gG9kNFKc0493デフォルトの名無しさん
2015/02/06(金) 02:07:01.32ID:gG9kNFKcPythonにケチをつけたいだけの奴等の
批判が浅過ぎて笑える
0494デフォルトの名無しさん
2015/02/06(金) 06:56:42.13ID:xsYLlG/o>>493
同意
0495デフォルトの名無しさん
2015/02/06(金) 07:45:46.52ID:COrbG8Gpmatlab, octaveでいいじゃん
0496デフォルトの名無しさん
2015/02/06(金) 08:30:35.40ID:gG9kNFKclistとnumpy.ndarrayを間違える頻度は
strとintを間違えて演算する頻度と同じか、もっと少ないくらい
それを多いと感じるか少ないと感じるかは
当人のヘボさによって変わるから何とも言えない
0497デフォルトの名無しさん
2015/02/06(金) 08:38:21.80ID:VJ9IpT0aうまく巨大な行列計算に落とし込めないような処理をすることが多い人にとっては実際クソ遅いだろうね
0498デフォルトの名無しさん
2015/02/06(金) 08:51:59.42ID:060Dq3Vc本当これ
C++だと一秒で終わる計算を10分以上もかけててワロタ。遅すぎて使えない
0499デフォルトの名無しさん
2015/02/06(金) 09:15:16.65ID:COrbG8Gpデータの出力にだけ、gnuplotかmatplotlib使え
0500デフォルトの名無しさん
2015/02/06(金) 09:57:14.48ID:taJLh7vA無駄にループで書いてるタイプ
0501デフォルトの名無しさん
2015/02/06(金) 12:26:38.48ID:WBuwIxnd多数の三次元ベクトルが与えられていて、それぞれは空間上の点を表している
その全ての点に対して、各点を中心とした半径Rの球内に含まれる他の点の数を数えよ
粒子のシミュレーションでありがちなケースだ
0502デフォルトの名無しさん
2015/02/06(金) 12:30:49.46ID:MGKB6HFr3次元上の点、座標とどこが違う?
0503501
2015/02/06(金) 14:01:55.13ID:rUn5aUO6もちろん各成分は単なる数値としてバラバラに扱って構わない
点の位置について法則性などの前提知識は特に無いものとする
0504デフォルトの名無しさん
2015/02/06(金) 19:38:56.10ID:y3riaJcs>無駄にループで書いてるタイプ
ってのは「適切な処理方法が分からず非効率な処理方法を選んでしまうタイプ」という意味にしか読めないんだが
行列って字面だけ額面通り受け取ってどうすんだよ…
例えば「8分木で解く問題」を全検索ループで解こうとするのは全く同じことだと思うの
0505デフォルトの名無しさん
2015/02/06(金) 22:05:06.57ID:n3qvAmTdわざわざ空間分割してまでスクリプトでやるのが賢明か?
そもそもスクリプト言語の有用性は「パフォーマンスよりもコーディング効率が重要な場面は多い」という仮定に保証されてるんだから、
複雑でも常に効率的なアルゴリズムを選ぶべきだというのはそれを否定してるようなもんだ
0506デフォルトの名無しさん
2015/02/06(金) 22:36:41.76ID:COrbG8Gp0507デフォルトの名無しさん
2015/02/07(土) 00:08:14.54ID:dy/8sxAQhttp://portal.nifty.com/kiji/150203192687_1.htm
http://portal.nifty.com/2015/02/05/b/img/sp/000.jpg
なんだこれ
0508デフォルトの名無しさん
2015/02/07(土) 00:17:55.83ID:SMMsK3cL主張するなんて、PythonはFORTRANの後釜でも狙ってるというのだろうか?
0509デフォルトの名無しさん
2015/02/07(土) 00:34:25.50ID:SrqoFgB2盲目的にCで二重ループ回せば終わるような計算は
Cythonを使えばCと完全に同等のパフォーマンスが出せる
ボトルネック以外は普通のPythonコードで書けるから開発効率も抜群
0510デフォルトの名無しさん
2015/02/08(日) 09:01:34.52ID:0Aue6GB7理論やアルゴリズムがわかっていれば使えるものがいっぱいあるからね。
自分でプログラミングできない人達には最適だよ。
0511デフォルトの名無しさん
2015/02/08(日) 12:15:50.47ID:zszX/URa0512デフォルトの名無しさん
2015/02/09(月) 00:48:25.32ID:Sty7eEquRubyが20位
消え去りそう
0513デフォルトの名無しさん
2015/02/09(月) 12:45:08.52ID:Mur7opE40514デフォルトの名無しさん
2015/02/09(月) 20:29:26.48ID:NdEO3stp2014年、プログラム言語の人気はユーザーが如何にお金を落としてくれるかに再定義された。
0515デフォルトの名無しさん
2015/02/09(月) 21:20:12.66ID:30EEw8FKRuby頑張ってくれよ
0516デフォルトの名無しさん
2015/02/09(月) 21:23:51.32ID:7lZ37zN30517デフォルトの名無しさん
2015/02/09(月) 21:28:26.64ID:wJXH/6RL感慨深いものがあるね
0518デフォルトの名無しさん
2015/02/09(月) 22:39:15.68ID:NdEO3stpもうじき、WordPressもPHPも時代の流れと共に過去の遺物として姿を消すんだろうね。
だけど、Railsなんて使う人たちは最初から闇に属していたんじゃないかな
脚光を浴びなくなったところで、闇は彼らを優しく包んでくれる
0519デフォルトの名無しさん
2015/02/09(月) 22:58:53.13ID:cOqDGthB0520デフォルトの名無しさん
2015/02/09(月) 23:04:56.73ID:NdEO3stp当時、作られた遺物の保守・改修があるんじゃないの
0521デフォルトの名無しさん
2015/02/10(火) 00:54:10.14ID:pMPiEmrc0522デフォルトの名無しさん
2015/02/10(火) 07:08:11.45ID:w6L2FJ5J0523デフォルトの名無しさん
2015/02/10(火) 10:20:32.21ID:PFEl66/kまだredmonkのほうが参考になる
0524デフォルトの名無しさん
2015/02/10(火) 21:10:52.64ID:cmxjOyHSそう考えると、スクリプトが上位を占めてる
0525デフォルトの名無しさん
2015/02/11(水) 05:02:09.85ID:8epm/hYr0526デフォルトの名無しさん
2015/02/11(水) 09:00:08.58ID:XzdqNrdaこの中じゃ開発サイドの利益率は一番高いんじゃないかなw
0527デフォルトの名無しさん
2015/02/11(水) 09:13:26.97ID:1xR6PXTFじゃあブログは何が取って変わるの?
node.jsでブログ作るの?無理でしょ
0528デフォルトの名無しさん
2015/02/11(水) 09:28:37.74ID:XzdqNrdaはてななんかPerlだよね
ブログ書く人にとって開発言語なんてどうでもいいことだし
0529デフォルトの名無しさん
2015/02/11(水) 09:29:36.93ID:5YrTgD1Zぜんぜん問題ないだろ。ウェブサーバになれてファイルアクセスもできるんだから。
というか、ソケットとファイルを扱えるならどんな言語だって可能だ。
無理なことと、無駄なこと(既存のものがあるから)を混同していないか?
0530デフォルトの名無しさん
2015/02/11(水) 12:25:28.83ID:ja9ixH6yghost, keystone, cody, ...
node.js cmsでググれば、もう1ダース近く出てくるよ
どのぐらい堅牢か分からないし、しばらくはwordpressが続くだろうけど
0531デフォルトの名無しさん
2015/02/11(水) 12:28:47.63ID:ja9ixH6yebay,myspace,microsoft,yahooと、既にnode.jsに以降した後だよ
railsやwordpressがmeteorに取って代わられるのは時間の問題だよね
0532デフォルトの名無しさん
2015/02/11(水) 14:32:01.76ID:XzdqNrdaやることが決まりきってるんだし、
ブログだとクライアント側で凝ったことするのには向かないし、
それほどnode.jsに比べて開発コストがかかるとも思えん
0533デフォルトの名無しさん
2015/02/11(水) 14:54:26.49ID:ja9ixH6y0534デフォルトの名無しさん
2015/02/11(水) 19:36:41.53ID:HJK17V0f主要メンバーio.jsに移ったのに
0535デフォルトの名無しさん
2015/02/11(水) 20:49:55.62ID:n4ocOWkcちなみに
ttps://www.google.co.jp/trends/explore#q=meteror%2C%20rails%2C%20%2Fm%2F02vtpl&cmpt=q&tz=
ttps://www.google.co.jp/trends/explore#q=meteror%2C%20rails&cmpt=q&tz=
0536デフォルトの名無しさん
2015/02/11(水) 20:50:10.94ID:mLFUUH4O0537デフォルトの名無しさん
2015/02/11(水) 21:23:39.11ID:ja9ixH6yxemacs,plan9,golang,rubinus,cakephpやcodeignitorの派生と失敗しか思い当たらない
0538デフォルトの名無しさん
2015/02/11(水) 21:39:57.84ID:cr1RHjCTmeteror を meteor とスペルミスしてるのはワザトかと思ったが、
訂正して再検索しても結果は同じだった(Meteor 息してないよ >>536)
https://www.google.co.jp/trends/explore#q=JavaScript%20Meteor%2C%20Ruby%20Rails%2C%20Python%20Django%2C%20PHP%20CakePHP&cmpt=q&tz=
なおキーワードが "Rails" だけでは鉄道関係も含まれて不公平なので、"Ruby Rails" とし、
WordPress はアプリケーションであってフレームワークではないので、"PHP CakePHP" とした
同様に他の LL についてもそれぞれ "JavaScript Meteor" "Python Django" としている
目立つのは 2006..2008 近辺における Rails への爆発的なトレンド
それだけ Rails の登場は Web フレームワークにおける革新的な存在であったのだろう
その後、緩やかに Rails のトレンドは低下しつつあるが、
それでも Rails と比較すれば他のフレームワークのトレンドは誤差(ゴミ)に等しい
3年や5年そこらで逆転するとは、とうてい予測できない
データは冷酷だね
0539デフォルトの名無しさん
2015/02/11(水) 21:46:58.29ID:ja9ixH6y0540デフォルトの名無しさん
2015/02/11(水) 21:55:28.07ID:hnLG61Dmスルー推奨
0541デフォルトの名無しさん
2015/02/11(水) 22:36:27.12ID:00aeaMNoDjangoみたいなオワコンとRailsで3倍くらいしか差がないやんけ
思ったよりRails落ちて来ててワロエナイ
0542デフォルトの名無しさん
2015/02/12(木) 00:40:34.90ID:69w0QsPUhttp://www.google.com/trends/explore#q=Python%20programming%2C%20PHP%20programming%2C%20Perl%20programming%2C%20Ruby%20programming%2C%20Javascript%20programming&cmpt=q&tz=
0543デフォルトの名無しさん
2015/02/12(木) 06:12:21.21ID:T7x78rd/python>>>>>>js>>>>>ruby>php
グダグダいうよりデータ
0544デフォルトの名無しさん
2015/02/12(木) 06:20:38.24ID:FId2UG9Cpython が増えてるのは、他が落ち込んだ影響だね。
PHP や Perl は減ってるけど、資産があるだろうから検索が減ってるからと言って利用が減っているとは限らない。
2007年ごろに Ruby なども上昇してきたけど、その時に Python が選ばれたっぽい。
しかし、Phthon は 2.x と3.x で分かれてるから・・・
0545デフォルトの名無しさん
2015/02/12(木) 08:15:29.78ID:5oB/LYoT0546デフォルトの名無しさん
2015/02/12(木) 09:54:09.00ID:GGx2leqC> 主張するなんて、PythonはFORTRANの後釜でも狙ってるというのだろうか?
流石、バカは物事の技術的背景を全く考えない発想をするんだなwwwww
0547デフォルトの名無しさん
2015/02/12(木) 15:11:52.88ID:vBHOZlzGもうJSで"use python"とかできるようにすればこの論争は終結じゃね
0548デフォルトの名無しさん
2015/02/12(木) 15:28:52.08ID:hBWmgXOxウェブブラウザというサンドボックスしか与えられなければ、Pythonの利点は無くなっちゃうよ
0549デフォルトの名無しさん
2015/02/12(木) 17:58:55.98ID:jNVy0++O教科書に載ってるような擬似コードがほとんどそのまま動く
そして、関数型やRubyの世界と違って平易なコード=良いコードという共通認識がある
それがプログラミングを専門としない人達に好まれる理由だよ
0550デフォルトの名無しさん
2015/02/12(木) 21:12:25.78ID:T7x78rd/可読性とシンプルさを重視してる分、いろんな分野の人がとっつき易いし
紹介する側も楽なんだろね
Pythonて地味にいいんだよな
0551デフォルトの名無しさん
2015/02/12(木) 21:32:51.86ID:33UytghA国産言語で国が行政が後押ししてるんで安心なんすょぶっちゃけ^^
0552デフォルトの名無しさん
2015/02/12(木) 21:45:52.37ID:gp/f22S8まぁRubyに限らず、IT業界だけは日本製に慣れ親しんじゃダメだと思う
0553デフォルトの名無しさん
2015/02/12(木) 21:58:07.22ID:yDIkiztOJavaやCOBOLでもやってたほうがよっぽど効率良く稼げるよ
0554デフォルトの名無しさん
2015/02/12(木) 22:33:08.80ID:HWARCNzZ日本より使われてるというねw
0555デフォルトの名無しさん
2015/02/12(木) 22:42:18.84ID:JBmu40/2いや、逆に窮屈に感じる。ライブラリとしては、スタイルが重要ですが…
むかし、Cがはやりだしたころ、Cのよさとして、自由なスタイルでかけるというのがあった(よめない!)
製品は、高価でかえなかった。フリーソフトウェアは、自由にかかれていた
0556デフォルトの名無しさん
2015/02/12(木) 22:44:54.86ID:SyYc68M10557デフォルトの名無しさん
2015/02/12(木) 22:47:19.67ID:EO8I/82g日本以上に使われてるのか
Ruby最強じゃん
0558デフォルトの名無しさん
2015/02/12(木) 22:50:42.47ID:G7IOQrQS0559デフォルトの名無しさん
2015/02/12(木) 23:42:15.05ID:5oB/LYoT0560デフォルトの名無しさん
2015/02/13(金) 00:04:06.38ID:2jzWkgw0プログラミングするってかAPIの使い方ばっかり探してる
0561デフォルトの名無しさん
2015/02/13(金) 00:13:25.14ID:yrnbMcTJ大量の約束を丸暗記しなきゃいけない
0562デフォルトの名無しさん
2015/02/13(金) 00:14:43.35ID:SVZa3gOzその「平易なコード」が「手続き型プログラミングによるコード」を指すのならば、主旨に同意する
実際、(>>549 にもあるように)「教科書に載ってるような擬似コード」の多くは、
(常識的な)手続き型プログラミングのスタイルで書かれている
そして手続き型プログラミング言語として Python は簡潔な言語仕様で設計されているから、
初心者へのプログラミング教育に最適である
くわえて「プログラミングを専門としない人達」が道具として扱うプログラミング言語としても適している
彼らは道具がもたらす結果が重要であって、道具そのものの優劣には無関心であることが多い
実際、ビジネス分野では COBOL や VB、技術計算分野では FORTRAN や C が未だに現役である
そんな人達がスクリプト言語に手を出すとしたら、Python が最も違和感無く短期間で習得できるだろう
こうした Python への高評価が、>>542 のトレンドに表れたと言えるだろう
そして、この傾向は今後も継続し、少なくとも3年や5年といったスケールで Python が凋落することはない
0563デフォルトの名無しさん
2015/02/13(金) 01:01:51.01ID:SVZa3gOz> でも国内で飯食うならRuby一択なんすよね
いや、Ruby は Rails への求人は比較的多いが、Ruby そのものへの求人や案件はほとんど無い
しかも Rails 求人が比較的多いといっても、Webアプリ求人の大半は PHP(および Java)であって、
意外性で(ごく少数の) Rails が目立っているにすぎない
またシステム運用管理の求人であれば、(Ruby よりも)Perl のほうがずっと多い
> 国産言語で国が行政が後押ししてるんで安心なんすょぶっちゃけ
いや、国や行政が後押ししてるという事実は、残念ながら存在しない
まれな例外として島根県の松江市が Ruby 案件を扱う地元企業を支援しているけれど、
これは(Ruby 発祥の地である)松江市という地方自治体による後押し or 町おこしの一つにすぎない
類似のケースとして、長崎県では Open COBOL 案件を扱う地元企業を支援している
そして(現在のメンテナは海外へ移転しているが)Open COBOL の開発者は日本人であり、
しかもその開発の過程では IPA という国の機関から支援を受けている
http://ossipedia.ipa.go.jp/doc/14/ -- オープンソースCOBOLコンパイラの開発
しかし、これだけの類似性があっても:
Open COBOL は、国産言語で国が行政が後押ししてるんで安心なんすょ
などと語る人はいないし、マジで主張しているなら妄想扱いされるだろう
0564デフォルトの名無しさん
2015/02/13(金) 01:33:56.26ID:txMLsUSz> いや、国や行政が後押ししてるという事実は、残念ながら存在しない
刑務所作業で Ruby が選択されている。
刑務所を運営するのは国。
0565デフォルトの名無しさん
2015/02/13(金) 06:03:45.76ID:3tmdVICORailsからのRuby界隈の流れは何だか複雑な気持ち
RoRが出た当初ぐらいはまだ良かったけど、Rubyで便利にRoR、じゃなくて
まずRailsありき、の人がやたらと増えちゃった、ここの評価もそうだし
0566デフォルトの名無しさん
2015/02/13(金) 06:09:41.97ID:WO6/InYqデータとかない?
道具としてはpythonだな
0567デフォルトの名無しさん
2015/02/13(金) 06:14:14.21ID:3tmdVICORailsってカルトでRuby信奉されても正直困るし、そんなカルトを基準にRuby叩かれてもって感じ
0568デフォルトの名無しさん
2015/02/13(金) 06:36:28.52ID:txMLsUSz0569デフォルトの名無しさん
2015/02/13(金) 06:42:56.81ID:6he/hkSxフィリピン 100
アメリカ合衆国 73
ニュージーランド 61
オーストラリア 52
トリニダード・トバゴ 51
ブルネイ 46
香港 45
http://www.google.co.jp/trends/explore#q=Ruby&date=today%2012-m&cmpt=q&tz=
Python 地域別人気度
中国 100
アイスランド 39
アメリカ合衆国 31
イギリス 24
イスラエル 23
セントヘレナ 23
シンガポール 22
http://www.google.co.jp/trends/explore#q=Python&date=today%2012-m&cmpt=q&tz=
COBOL地域別人気度
インド 100
日本 68
フィリピン 63
南アフリカ 51
スペイン 30
アメリカ合衆国 28
ブラジル 24
http://www.google.co.jp/trends/explore#q=COBOL&date=today%2012-m&cmpt=q&tz=
0570デフォルトの名無しさん
2015/02/13(金) 10:21:53.67ID:RWhE8JtRこれって、phpやjavascriptにも当てはまるよね
0571デフォルトの名無しさん
2015/02/13(金) 10:34:45.99ID:3tmdVICORails時代になるまではカルトと言われることはほぼ無かったよ
(作者がカルト信者、と言う人は居たけど)
しきりにそう呼ぶ人が出たのもまたRailsのイメージで語られるようになってから
0572デフォルトの名無しさん
2015/02/13(金) 11:01:09.39ID:GTODBIzqJavaの次に学習したいんだけど、学習コストの面で似ている方の勉強をしたい。
0573デフォルトの名無しさん
2015/02/13(金) 11:21:59.68ID:HbIw8MAUJavaやった後にRubyさわるとおしっこ漏らす
0574デフォルトの名無しさん
2015/02/13(金) 11:38:13.83ID:txMLsUSzウソだろと思ったらウソだった。
Python に Windows か Linux をくっつけて検索したら、インドが上位に入ってくる。
Ruby に Windows をつけると、4つしか出てこない
日本 100
インド 72
アメリカ合衆国 54
イギリス 42
ttp://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%93%E3%83%BC
> 天然ルビーは産地がアジアに偏っていて欧米では採れない
Perl と違って Ruby や Python は 有名な現物と同じ綴りだから、検索は絞り込みしないとおかしくなる。
宝石の Ruby で検索すると、プログラミング言語の Ruby や Python はないに等しい
ttp://www.google.co.jp/trends/explore#q=Ruby%20%20windows%2C%20Ruby%20%20%20%20%20linux%2C%20Python%20windows%2C%20Python%20linux%2C%20Ruby%20-windows%20-linux&date=today%2012-m&cmpt=q&tz=
0575デフォルトの名無しさん
2015/02/13(金) 11:48:59.46ID:txMLsUSz100 日本
59 アメリカ合衆国
Ruby+Windows
100 日本
72 インド
54 アメリカ合衆国
42 イギリス
railsを開発した Jason Fried 氏がアメリカで広めただけか。
広がっていく可能性はあるけど。
ttp://www.ted.com/talks/jason_fried_why_work_doesn_t_happen_at_work?language=ja
0576デフォルトの名無しさん
2015/02/13(金) 12:23:45.61ID:RWhE8JtR木の側をひっぺがしてみよ。シリコンバレーは、そこにある。
0577デフォルトの名無しさん
2015/02/13(金) 12:23:48.46ID:yrnbMcTJ明らかにPython
3つとも使っててどの信者でもない人に聞けばほぼ満場一致だと思う
細かい根拠を挙げればキリがないが、
Pythonは開発陣がJavaをリスペクトしてるし、Javaを参考にして作られたライブラリも多い
Ruby世界ではJavaはいわゆる楽しくない言語の最大派閥であり
憎むべき敵だからね
0578デフォルトの名無しさん
2015/02/13(金) 13:08:50.79ID:WMAmgE3Iありがとう!とても参考になったよ。
派閥という観点は興味深いですね。
0579デフォルトの名無しさん
2015/02/13(金) 14:00:50.03ID:txMLsUSz"ruby on rails"
100 インド
66 アメリカ合衆国
58 台湾
57 フィリピン
52 カナダ
52 ウクライナ
48 ポーランド
46 オーストラリア
42 ロシア
41 日本
なんで日本はフィリピン以下なんだ?
0580デフォルトの名無しさん
2015/02/13(金) 14:09:01.13ID:txMLsUSz2005 100 アメリカ合衆国
2006 82 アメリカ合衆国
67 オーストラリア
64 カナダ
61 日本
2008 100 インド
44 日本
41 アメリカ合衆国
2011 100 インド
66 ロシア
58 アメリカ合衆国
47 日本
2013 100 インド
62 中国
60 アメリカ合衆国
53 フィリピン
0581デフォルトの名無しさん
2015/02/13(金) 14:14:37.19ID:1K6tPySGそうなの?
おれにとってもRubyはツールだよ
Rubyでちょこちょこ小銭稼いでるけどそれはwebにすら関係ないし
Railsはではじめのころからまったく他人事、いまも他人事、まったく関係がない
0582デフォルトの名無しさん
2015/02/13(金) 14:32:14.42ID:v5btlO/2Pythonが似てるというのならJavaScriptでさえ似てると言えるだろう。
0583デフォルトの名無しさん
2015/02/13(金) 15:20:53.07ID:txMLsUSzインデント構造は珍しいけど
C言語にインラインで組み込む MASM では普通にあんなインデント使うし
GOTOのラベルと制御文のコロンが一緒。
0584デフォルトの名無しさん
2015/02/13(金) 15:48:14.79ID:VTAHyJPfinstance.method で self がバインドされた関数オブジェクトが返るところとか。
演算子も同じようにオーバーロードできたし。
JavaScriptはLuaにPerlの悪いところを取り込んだ劣化版にしか見えなかったが、
ブラウザでもサーバーサイドでも動くから、学習 / 教育コストを減らすために
どうしたって今後はjsが増えていくのは確実だろうな。
0585デフォルトの名無しさん
2015/02/13(金) 16:01:44.18ID:RWhE8JtR最初、schemeを載せるつもりだったのに猛反発うけたわけ
0586デフォルトの名無しさん
2015/02/13(金) 16:42:44.20ID:v5btlO/2もうほかの言語と余り変わらないと思うよ。
0587デフォルトの名無しさん
2015/02/13(金) 16:45:50.03ID:C4JgJ2AoRubyは英語みたいなもんだから、日本人には不利。
一方、英語人には自然と話すように、
簡単にプログラミングできる
でも、日本のコミュニティは世界一。
Rubyistが優しいのは、日本人が多いから。
他の言語では、自己虫が多いし、もっとギスギスしている
0588デフォルトの名無しさん
2015/02/13(金) 16:57:26.30ID:v5btlO/20589デフォルトの名無しさん
2015/02/13(金) 17:06:03.75ID:UES1FkLe0590デフォルトの名無しさん
2015/02/13(金) 17:37:30.85ID:VTAHyJPf0591587
2015/02/13(金) 18:09:36.17ID:C4JgJ2Ao優しくてすばらしい人が多いと言っている
他のコミュニティとは違うらしい
0592デフォルトの名無しさん
2015/02/13(金) 18:11:13.20ID:v5btlO/20593デフォルトの名無しさん
2015/02/13(金) 19:57:24.72ID:QIyK5jlp新顔か?とりあえず●●さんに挨拶しとけよ、みたいな
0594デフォルトの名無しさん
2015/02/13(金) 20:16:30.46ID:t5R17Dpzっ福岡
福岡はメチャンコRubyとmRubyに力入れている
0595デフォルトの名無しさん
2015/02/13(金) 20:32:46.04ID:WO6/InYqRuby以外は認めないっていう矛盾したことを平気でいう人が多い
0596デフォルトの名無しさん
2015/02/13(金) 20:41:56.21ID:SVZa3gOzたとえば、こんな人達のことかな?
>Ruby世界ではJavaはいわゆる楽しくない言語の最大派閥であり
>憎むべき敵だからね
(>>577 から引用)
0597デフォルトの名無しさん
2015/02/13(金) 21:36:00.18ID:mwNVsHPSRubyistはPythonなんてなんとも思ってないのに・・・。(むしろそこが気に喰わないのか?)
0598デフォルトの名無しさん
2015/02/13(金) 21:49:29.77ID:WO6/InYq信者の方
0599デフォルトの名無しさん
2015/02/13(金) 22:32:50.16ID:SVZa3gOz坊主(ぼうず)憎けりゃ袈裟(けさ)まで憎い
>>598 みたいなのは典型的な島国根性気質だから、ほっとけばいいw
0600デフォルトの名無しさん
2015/02/13(金) 23:15:26.30ID:1kPxT1PpJava使いの次の選択肢として悪く無いんだけど、
Rails以外の理由でRubyを選ぶような人は意識高い系なので
Clojureとかに行ってしまいがち
0601デフォルトの名無しさん
2015/02/13(金) 23:30:14.20ID:qAadHGJaかつては永久凍土問題とも言われてたし、そういう文化が根強い感じ
0602デフォルトの名無しさん
2015/02/13(金) 23:34:59.46ID:EnDK8K4aRu厨は知識がない。まるでお山の大将。
0603デフォルトの名無しさん
2015/02/13(金) 23:39:03.69ID:yrnbMcTJ×意識高い系 ⚪︎手段が目的化してる系
0604デフォルトの名無しさん
2015/02/14(土) 00:49:11.35ID:2E82eAgoPython と言うすぐれた言語があるのに国策で無理やり Ruby をやらされるからだよ
0605デフォルトの名無しさん
2015/02/14(土) 04:13:13.09ID:nG6FExp8Rubyist以外が意識高いとわざわざRubyを選択する理由があるかねぇ。
0606デフォルトの名無しさん
2015/02/14(土) 07:28:47.19ID:yiZhsGHz>>564
ワロタ
0607デフォルトの名無しさん
2015/02/14(土) 09:11:45.05ID:iwIxxWwWちょっと趣向を変えて......
分野別
www.google.co.jp/trends/explore#q=Ruby%20web%2C%20python%20web%2C%20javascript%20web%2C%20node.js%20web&cmpt=q&tz=
www.google.co.jp/trends/explore#q=ruby%20scraping%2C%20python%20scraping%2C%20javascript%20scraping%2C%20node.js%20scraping&cmpt=q&tz=
www.google.co.jp/trends/explore#q=ruby%20embedded%2C%20python%20embedded%2C%20javascript%20embedded%2C%20node.js%20embedded&cmpt=q&tz=
www.google.co.jp/trends/explore#q=Ruby%20science%2C%20python%20science%2C%20javascript%20science%2C%20node.js%20science&cmpt=q&tz=
国別
www.google.co.jp/trends/explore#q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js&geo=JP&cmpt=q&tz=
www.google.co.jp/trends/explore#q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js&geo=US&cmpt=q&tz=
www.google.co.jp/trends/explore#q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js&geo=CN&cmpt=q&tz=
結構意外な結果も多い
0608デフォルトの名無しさん
2015/02/14(土) 09:37:13.48ID:2E82eAgoRuby science に関してだけど
Ruby laser と少し同期してるんだけど
ttp://www.google.co.jp/trends/explore#q=Ruby%20science%2C%20Ruby%20%20laser%2C%20Ruby%20science%20laser&cmpt=q&tz=
Ruby science
100 アメリカ合衆国
Ruby laser
100 インド
19 アメリカ合衆国
17 イギリス
Ruby laser windows
0
そういえば Python の実物がいるのもインドだっけ。
0609デフォルトの名無しさん
2015/02/14(土) 09:46:18.13ID:3EPsJ3bRJRubyとJSってかなり方向性違うと思うのだが、なぜ代替になると思った?
0610デフォルトの名無しさん
2015/02/14(土) 09:48:24.19ID:2E82eAgoPython がわずかにあるだけ
ttp://www.google.co.jp/trends/explore#q=Ruby%20mathematics%2C%20python%20mathematics%2C%20javascript%20mathematics%2C%20node.js%20mathematics%2C%20%22Scientific%20computation%22&cmpt=q&tz=
科学技術計算の英訳は Scientific computation (Google翻訳)だけど、一件も出てこない。
0611デフォルトの名無しさん
2015/02/14(土) 10:07:39.54ID:KJLqYxlYscientific computing の方が良く使われるから、そっちなら出るかも
0612デフォルトの名無しさん
2015/02/14(土) 10:10:56.61ID:ISQup94Gどれも出なかったけど
0613デフォルトの名無しさん
2015/02/14(土) 10:15:39.00ID:KJLqYxlYNumerical analysisなら使う
0614デフォルトの名無しさん
2015/02/14(土) 10:46:10.71ID:8mcoyf2I0615デフォルトの名無しさん
2015/02/14(土) 10:52:23.46ID:NBsm4vmvゾンビプロセスとか
Guile(腹黒い[陰険な]ずるさ,悪知恵,狡猾(こうかつ); 二枚舌,二心.)とか
Unix系は、悪趣味だな!
悪の権化
0616デフォルトの名無しさん
2015/02/14(土) 11:11:54.44ID:mF11qe4Iとマジレス
0617デフォルトの名無しさん
2015/02/14(土) 11:52:27.31ID:VmodTSHNそうだよ。Windowsがキリストの十字架に見立ててるんだ。XPなんてまさにそれ。
Gnashなんて、M$の楽園の提供する楽園に入れず、傲慢、無精、怠惰だけが取柄の地獄で歯ぎしりしてる連中だね。
0618デフォルトの名無しさん
2015/02/14(土) 11:56:04.42ID:b89lMdY8デーモン「君」なのだからFreeBSDのマスコットキャラクターのことだろ
0619デフォルトの名無しさん
2015/02/14(土) 11:59:38.96ID:VmodTSHN高価な真珠を豚に与えてはならないっていう預言が実現するためのものだったんだ。
0620デフォルトの名無しさん
2015/02/14(土) 12:05:55.81ID:O6svWQnE0621デフォルトの名無しさん
2015/02/14(土) 13:27:44.64ID:cVw0KtML0622デフォルトの名無しさん
2015/02/14(土) 13:57:47.57ID:iwIxxWwW"プログラミング"
www.google.co.jp/trends/explore#cat=0-5-31&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&cmpt=q&tz=
アメリカ
www.google.co.jp/trends/explore#cat=0-5-31&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&geo=US&cmpt=q&tz=
日本
www.google.co.jp/trends/explore#cat=0-5-31&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&geo=JP&cmpt=q&tz=
中国
www.google.co.jp/trends/explore#cat=0-5-31&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&geo=CN&cmpt=q&tz=
"ネットワーク"
www.google.co.jp/trends/explore#cat=0-5-311&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&cmpt=q&tz=
アメリカ
www.google.co.jp/trends/explore#cat=0-5-311&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&geo=US&cmpt=q&tz=
日本
www.google.co.jp/trends/explore#cat=0-5-311&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&geo=JP&cmpt=q&tz=
"インターネット ソフトウェア" アメリカ
http://www.google.co.jp/trends/explore#cat=0-5-32-807&q=Ruby%2C%20python%2C%20JavaScript%2C%20node.js%2C%20php&geo=US&cmpt=q&tz=
やっぱりアメリカが先を行ってて他が後追いしてる感じがする
0623デフォルトの名無しさん
2015/02/15(日) 00:34:50.80ID:j9FQDFlJこのぐらいならperlの方がマシ
0624デフォルトの名無しさん
2015/02/15(日) 09:12:01.10ID:DmYD2Sag0625デフォルトの名無しさん
2015/02/15(日) 09:18:50.88ID:lHovhrIXperlってC/C++の実行ファイルへの組み込みってできるの?
luaの利点ってそこでしょ?
0626デフォルトの名無しさん
2015/02/15(日) 09:29:33.19ID:ABT28a22ユーザーにスクリプト書かせる用途では、luaでは少;々不便なのでPythonなどもっと豪華な言語が好まれる
0627デフォルトの名無しさん
2015/02/15(日) 09:51:32.38ID:lHovhrIX一昔前は確かに組み込みといえばPythonだったけど、最近でもPythonを組み込んだものって開発されてる?
Pythonの豪華さって、ライブラリの豪華さであって、
アプリ内の環境とファイルに多少触れれば十分な用途では、そこまでの差を感じられるのかね?
0628デフォルトの名無しさん
2015/02/15(日) 15:40:11.60ID:j9FQDFlJunix系鯖に使われる設定スクリプトにluaってのが文化的に気持ち悪い。文法も冗長
ついでに、思い付くようなことは大抵は誰かがやってるよね
ttp://perldoc.perl.org/ExtUtils/Embed.html
0629デフォルトの名無しさん
2015/02/15(日) 15:56:31.03ID:SSlwb3yD使われていると思うが。自分が使ってるアプリだとWireSharkなんかもそうだな。
逆に、Pythonを組み込んだアプリってどんなのがあるかな?
パスを指定して自分でビルドするようなのしか思いつかない。
0630デフォルトの名無しさん
2015/02/15(日) 16:46:36.71ID:lHovhrIXhttps://ja.wikipedia.org/wiki/Pythonを使っている製品あるいはソフトウェアの一覧
GIMP, Blender の辺りは有名だろうか。
個人的にはシヴィライゼーション4でMODを手直ししたときにPythonだったのが印象に残ってる。
Luaも拡張用途でよく聞くが、アプリ全体がほぼLuaってのは少ないかも。
PerlやRubyを組み込んだアプリは聞いたことがない。 逆に、全体がってのは多いだろうけど。
0631デフォルトの名無しさん
2015/02/15(日) 16:48:18.88ID:bvDjJpB+RPGツクールはRubyで、Ren'PyはPython
0632デフォルトの名無しさん
2015/02/15(日) 16:55:32.68ID:SSlwb3yDで、見てみたらやっぱりPython環境一式まるまる抱え込んでるんだね。
0633デフォルトの名無しさん
2015/02/15(日) 16:57:27.86ID:bWgf/6Xs0634デフォルトの名無しさん
2015/02/15(日) 17:27:07.08ID:5TXODXhX0635デフォルトの名無しさん
2015/02/15(日) 18:25:48.78ID:LLTklK8qAruduinoと連携できるしクリエイティブになれる
0636デフォルトの名無しさん
2015/02/15(日) 18:43:01.84ID:DmYD2Sag数年ズレてるし初心者丸出し
0637デフォルトの名無しさん
2015/02/15(日) 18:51:47.85ID:xJHWsHas0638デフォルトの名無しさん
2015/02/15(日) 19:19:56.41ID:LLTklK8q>>624
wwwwwただの社畜コーダーが偉そうにょwww
0639デフォルトの名無しさん
2015/02/15(日) 19:47:32.84ID:LLTklK8q0640デフォルトの名無しさん
2015/02/15(日) 19:56:50.94ID:Fti/aEnS0641デフォルトの名無しさん
2015/02/15(日) 20:00:18.10ID:ABT28a22JavaならJavaで変に弄らないで普通にJava書かせろよ
Processing.jsの方が良いわ
0642デフォルトの名無しさん
2015/02/15(日) 20:13:50.62ID:dIIwrjWA違う
PythonライクなC#
Booで書いた自作ライブラリはC#と共用できる
見た目はPythonだけど中身はC#
0643デフォルトの名無しさん
2015/02/15(日) 20:16:53.76ID:pg1XKTVq0644デフォルトの名無しさん
2015/02/15(日) 20:19:46.75ID:dIIwrjWAまぁつまりPythonの書き方で.Net資産を使い放題
0645デフォルトの名無しさん
2015/02/15(日) 20:23:07.99ID:ABT28a220646デフォルトの名無しさん
2015/02/15(日) 20:44:51.72ID:bWgf/6XsSharpDevelop3系+WinForms+Booは重宝したなぁ
0647デフォルトの名無しさん
2015/02/15(日) 21:10:22.86ID:DPVLi1TCironPython/ironRubyは使えそう?
0648デフォルトの名無しさん
2015/02/15(日) 22:34:53.22ID:lHovhrIXIronPythonはメンテが続いてるように見える。
IronRubyのほうは2年ほど放置中。
そういえば、Boo⇔ Python の関係って、JavaScript ⇔ TypeScript の関係に似てるかもな。
0649デフォルトの名無しさん
2015/02/15(日) 22:42:31.21ID:bWgf/6Xs0650デフォルトの名無しさん
2015/02/15(日) 23:34:05.23ID:/SOxeOnw芸大かそれ以外じゃない?多摩美は普通に美大って言うと思うが
0651デフォルトの名無しさん
2015/02/15(日) 23:38:50.63ID:bWgf/6Xs0652デフォルトの名無しさん
2015/02/16(月) 00:31:01.87ID:fv9TRfXf0653デフォルトの名無しさん
2015/02/16(月) 00:55:16.65ID:MMcpdm+Ethnx
最近はWebFrameworkばっかりで遠ざかってたんだが、
今からWindows(XP〜7)の業務用GUIを作る場合で無難な選択ってC#.Netなんだろか?
0654デフォルトの名無しさん
2015/02/16(月) 00:57:11.02ID:1hmF6S/zGimpは起動したらすっげー長い時間pyスクリプト流してるじゃん
0655デフォルトの名無しさん
2015/02/16(月) 18:30:17.65ID:NxVOoQZuぶっちゃけV8を改造すればいいんじゃね?
0656デフォルトの名無しさん
2015/02/16(月) 18:58:48.99ID:4BaVTJq20657デフォルトの名無しさん
2015/02/16(月) 19:35:56.07ID:DbIQDT9LCythonとかが既に有るが?
0658デフォルトの名無しさん
2015/02/16(月) 20:25:49.19ID:fc395IJE0659デフォルトの名無しさん
2015/02/16(月) 20:32:12.98ID:yzFhOePD他の言語を組み合わせることができる環境だとボトルネックを追い出せば済むから、
わざわざ労力をかけてスクリプト言語自体を高速化したいと思わないんだろう
0660デフォルトの名無しさん
2015/02/16(月) 20:41:41.22ID:/dxaPFxYMRIなんか特にそうだろう
0661bti
2015/02/16(月) 20:46:26.30ID:KKpFX0J71000円分のビットコインがもらえます!
https://bitflyer.jp/gift/fn0tlipl
とにかく一応もらっておくといいです。
0662デフォルトの名無しさん
2015/02/16(月) 21:01:54.75ID:dTbuNMm+>「今のところPythonの中の人たちは高速化する気が無い。だからRubyは高速化で優位に立てる」みたいな記事
この記事のソースはどこ?
どこかの誰かがblogに書いた妄想だろ
0663デフォルトの名無しさん
2015/02/16(月) 21:26:45.38ID:dTbuNMm+>わざわざ労力をかけてスクリプト言語自体を高速化したいと思わないんだろう
Ruby に限定した話であれば、Ruby のバージョンアップはインタプリタ高速化の歴史そのものだよ
・〜Ruby 1.8: MRI (Matz Ruby Implementation)とも呼ばれ、Ruby のオリジナル実装で遅かった
・Ruby 1.9:仮想マシン YARV (Yet Another Ruby VM) の採用によって、他のスクリプト言語並の性能に改善
・Ruby 2.0:Ruby 1.9 のリファクタリング版
・Ruby 2.1, 2.2, ...:Ruby 2.0 の性能改善版
* 64bit環境では、浮動小数点オブジェクトのメモリ割り当てをヒープから(整数等と同じ)スタックへ変更
* 有理数/複素数を組込みクラスとして実装(Ruby -> C への移植)
* 世代別GCの採用
0664デフォルトの名無しさん
2015/02/16(月) 21:28:13.66ID:nT8bWWvG0665デフォルトの名無しさん
2015/02/16(月) 21:29:53.38ID:ObiwWRJ7そんな丹精込めたインタプリタがお遊びで作ったJRubyやIronRubyに一瞬で抜かれるのがジャップクォリティ
0666デフォルトの名無しさん
2015/02/16(月) 21:32:06.36ID:/Le2iIgb未だに、RubyだのPythonだの言ってたの?
0667デフォルトの名無しさん
2015/02/16(月) 21:58:15.48ID:yzFhOePDちょっと前にベンチマークを取ったら、RubyはLuaの2割くらい遅いだけだったから、確かに結構速くなったなとは思った。
その後、Chakra (IE11のJSエンジン) を試したら1桁速くて、JITには勝てないなと痛感した。
おそらくv8でも同等以上の速度が出るだろうね。
0668デフォルトの名無しさん
2015/02/16(月) 23:19:11.10ID:1hmF6S/z0669デフォルトの名無しさん
2015/02/17(火) 00:07:43.31ID:p+M358voこれです。
「Pythonの実行処理系は、現在では最適化にあまり力を入れていない。そのため、言語設計のレベルではRubyよりもPythonの方が有利であるものの、処理系の性能ではRubyの方が勝っている」
ttp://www.ipa.go.jp/files/000006385.pdf
0670デフォルトの名無しさん
2015/02/17(火) 00:51:45.17ID:U3SYBhrh「Ruby側」からの発言だから、眉唾だな。
0671デフォルトの名無しさん
2015/02/17(火) 01:01:35.92ID:L1u57SQV最終的には熱心に高速化するかどうかより実測だろう。
0672デフォルトの名無しさん
2015/02/17(火) 01:02:54.90ID:Sx05C5wV0673デフォルトの名無しさん
2015/02/17(火) 01:05:39.35ID:119eewUpCythonが何か分かってたら、そういう発言は出ないと思うんだけど
CythonはPythonに極めて酷似した構文(型を書かなければPythonそのもの)で
CPythonのC言語拡張モジュールを記述できるライブラリなので、
当然Pythonが無かったら意味ありません
0674デフォルトの名無しさん
2015/02/17(火) 01:18:25.18ID:8pmBcFLkdynamic型でダックタイピングできるし、
ExpandoObjectで
http://www.atmarkit.co.jp/fdotnet/csharp4/csharp4_08/csharp4_08_01.html
こーんなことまでできるし。
C#で静的型と動的型を必要に応じて使い分ければいんじゃね?
実行速度の話が挙がっているが、これもJust in timeで速いし。
0675デフォルトの名無しさん
2015/02/17(火) 01:26:48.93ID:4ypmtgKv0676デフォルトの名無しさん
2015/02/17(火) 02:00:33.27ID:uUznwSJxGoは普及してきてるんかいな?
0677デフォルトの名無しさん
2015/02/17(火) 03:03:12.93ID:Q2g81oZ1削除されたけどまた追加された
0678デフォルトの名無しさん
2015/02/17(火) 04:05:06.53ID:fin6oyP+わざわざCythonだと意識して書かないといけないのならそれはPythonと分けて考えられるべき。
0679デフォルトの名無しさん
2015/02/17(火) 06:29:36.59ID:og8h0gXePyPyは大して速くない
寄付集めて本家と協調しないで無駄な再発明をやってる馬鹿野郎として
Pythonコミュニティからも嫌われてるよ
0680デフォルトの名無しさん
2015/02/17(火) 09:19:00.16ID:119eewUpそりゃあボトルネックを高速化するために書くんだから意識はするよ
でもCythonも所詮はPythonのライブラリのひとつに過ぎない
0681デフォルトの名無しさん
2015/02/17(火) 09:31:31.35ID:g880Oypa0682デフォルトの名無しさん
2015/02/17(火) 09:49:43.67ID:Q2g81oZ1ruby で秒(またはシステムタイム)を取得するループの最適コードを書き込んでくれたら試してみるよ
0683デフォルトの名無しさん
2015/02/17(火) 09:55:14.55ID:fs6T0wjHどれ使ったって一緒だよ
0684デフォルトの名無しさん
2015/02/17(火) 09:57:30.83ID:7OammkspまたCython無双がはじまるよー
0685デフォルトの名無しさん
2015/02/17(火) 09:59:13.89ID:U3SYBhrhPythonは素直に整数1個1個でもヒープオブジェクトを生成しているから遅いという話を聞いたことがある。
0686デフォルトの名無しさん
2015/02/17(火) 10:33:58.36ID:Q2g81oZ1以下コード
def myinc(i)
return i + 1
end
puts "abc"
puts Time.now
puts Time.now.sec
prev = Time.now.sec
while prev == Time.now.sec do
end
prev = Time.now.sec
cnt = 0
while prev == Time.now.sec do
cnt += 1
end
puts cnt
prev = Time.now.sec
while prev == Time.now.sec do
end
prev = Time.now.sec
cnt = 0
while prev == Time.now.sec do
cnt = myinc(cnt)
end
puts cnt
0687デフォルトの名無しさん
2015/02/17(火) 11:11:35.35ID:Q2g81oZ1CPU 時間のループは半分近くになっちゃったから
やっぱり Python の方が速いんじゃないかな。
ttp://peace.2ch.net/test/read.cgi/tech/1378978504/53+330+358
> JS chrom 777203 736391
Chrome の JavaScript より遅い結果になった。
0688デフォルトの名無しさん
2015/02/17(火) 12:27:45.18ID:4qghq42Tあのさ…
元スレでも
> >>53
> >時刻を取って秒が変動するまで
>
> よく意味がわからない…
と突っ込まれてたように
そんなの計測しても何の意味もないんだよ…
> prev = Time.now.sec
> while prev == Time.now.sec do
> end
prev取得時の秒未満の値次第で結果が変わるでしょ?
> pp (1..5).map{sleep 0.3;[Time.now.sec,Time.now.nsec]}
[[25, 895178162],
[26, 195322889],
[26, 495487005],
[26, 795643036],
[27, 95801409]]
0689デフォルトの名無しさん
2015/02/17(火) 12:44:30.42ID:e3sUk8Nwそれこそasm.jsはLLVM系のコンパイラ、clangでCをコンパイルしたものといい勝負してるし、
マクロベンチでは抜いてる項目だっていくつもあるさ。
0690デフォルトの名無しさん
2015/02/17(火) 12:59:46.36ID:Q2g81oZ1> prev取得時の秒未満の値次第で結果が変わるでしょ?
だからコンマ00になった瞬間に次のループでカウント開始して
次にコンマ00になった瞬間にループを抜けるから
きっかり1秒でしょうが。
0.000001秒くらいの誤差はあるでしょうけどね。
意味がないと結果を否定するなら、意味のある結果を持ってきてよ。
ただね、>>686 のコードを実行した結果は疑いようのない事実なんだよね。
まあ、速いと思ったよ。
てっきりHSPくらいになるかと思ってたから
少なくとも僕の Ruby に対する印象はガラッと変わったから計測した意味はあったよ。
なんで Ruby で書かれた Web サイト(ツイッター)はあんなクソ重いんだろうね。
0691デフォルトの名無しさん
2015/02/17(火) 13:10:30.97ID:e3sUk8Nwハードとファームと、DBエンジンの実装の問題はあるかもしれないが、
言語の単純計算の速度は関係ないだろうよ。
0692デフォルトの名無しさん
2015/02/17(火) 13:12:22.36ID:Q2g81oZ1Google は速いんだけどね。サーバーの数の問題か。
0693デフォルトの名無しさん
2015/02/17(火) 13:14:04.09ID:e3sUk8Nw固定回数ループでも時には無視できないオーバーヘッドがあるっていうのに。
0694デフォルトの名無しさん
2015/02/17(火) 13:18:21.43ID:4qghq42Tあぁ勘違いしてたわ
でも、そのベンチのとりかたはおかしいわ
ベンチに不要なゴミ(毎ループでの時間取得)があるので
普通にN回試行して掛かった時間を測れば
時間取得のコストは除外できる
0695デフォルトの名無しさん
2015/02/17(火) 13:27:12.67ID:Q2g81oZ1>>691 が言うように、実際にはリソースへのアクセスが決め手になるんだから
時刻を使ったっていいはずだ。
そもそも、時刻って時計の時刻とCPUの時間とがあって
それぞれに限定して比較してるから結構参考になると思うんだけどね。
まあ、CPU時間はプロセスとシステムと別れてて直接比較はできそうにないけど。
0696デフォルトの名無しさん
2015/02/17(火) 13:37:31.99ID:e3sUk8Nwというか大抵SQLとか言事別れたDB使うでしょうよ。
0697デフォルトの名無しさん
2015/02/17(火) 15:27:17.15ID:Q2g81oZ1だから時刻と言うリソースにアクセスして比較してるでしょって言ってるでしょ?
0698デフォルトの名無しさん
2015/02/17(火) 15:50:23.53ID:gKCJmXEI例えば?
0699デフォルトの名無しさん
2015/02/17(火) 16:10:31.70ID:e3sUk8Nw0700デフォルトの名無しさん
2015/02/17(火) 19:08:16.81ID:4ypmtgKvTwitterはRubyじゃないし、そもそもレスポンス速いだろ
0701デフォルトの名無しさん
2015/02/17(火) 19:11:24.82ID:8pmBcFLk普通、1秒間にどれだけ処理できるか、じゃなくて、
特定の処理をするのに何秒かかるか、だろ。
まともではない。
0702デフォルトの名無しさん
2015/02/17(火) 20:57:57.01ID:Ixfu4YT2間違ってたら訂正してくれ
https://ideone.com/lE07gL
0703デフォルトの名無しさん
2015/02/17(火) 21:02:00.09ID:e3sUk8Nwこのスレの話題としてはおかしい。OpenCLスレでどうぞ。
0704デフォルトの名無しさん
2015/02/17(火) 21:08:28.35ID:Ixfu4YT2そうか?
これがシミュレーションのコアの処理ならスクリプトでやることじゃないけど
単発の統計処理だったらスクリプトも余裕でアリだと思うけど
0705デフォルトの名無しさん
2015/02/17(火) 21:41:32.44ID:fs6T0wjHv8, golang, hhvm, hacklang
0706デフォルトの名無しさん
2015/02/17(火) 22:09:41.12ID:Ixfu4YT2https://ideone.com/hovz8G
0707デフォルトの名無しさん
2015/02/17(火) 22:24:59.50ID:xDsIAAA2なんで、スクリプト言語同士の争いで、速度を競ってるの?
スクリプト言語を選ぶ意味は、速度ではないでしょ?
例えば、pythonなら統計処理系のライブラリが従事してるから、あえてjava使わずにpython選んだりするよね。
そういう便利さではなく、ただ言語の速度(これも謎な言葉だけど、インタプリタの性能?)を競いたいなら、ベンチ回せばすぐ結論がでるのでは?
0708デフォルトの名無しさん
2015/02/17(火) 22:28:25.64ID:fqc/IWR+0709デフォルトの名無しさん
2015/02/17(火) 22:31:06.53ID:119eewUpnumpyの使い方が素人すぎてドン引きだわ
Python
https://ideone.com/Dr6U8E
0710デフォルトの名無しさん
2015/02/17(火) 22:31:39.74ID:Ixfu4YT2客観的かつ信頼性の高い尺度がそれくらいしかないから。
Rubyの楽しさ(笑)とPythonの実用性をどうやって比較するの?
0711デフォルトの名無しさん
2015/02/17(火) 22:32:52.20ID:2h2vSy5L0712デフォルトの名無しさん
2015/02/17(火) 22:38:32.99ID:xDsIAAA2例えば、美についても、いまだ統一した客観的な尺度は発明されてないよね。
じゃあ、その辺のオタサーの姫と、ガッキーとで、客観的な美的比較は不可能だから、客観的な体重比べて軽い方の勝ちにしましょう、っていうのは適切なの?
体重を比べてわかるのは、どちらが重いか、という事実に過ぎない。
0713デフォルトの名無しさん
2015/02/17(火) 22:57:20.43ID:fs6T0wjH0714デフォルトの名無しさん
2015/02/17(火) 23:20:28.81ID:Q2g81oZ1DOSでは1秒未満の時間がわからないので誤差を100分の1秒以下に抑えるためにはループを100秒以上回さないといけない。
また、時間のループにする場合、時刻にアクセスするので他のスクリプトでも同じにしないと比較にならない。
そもそも、使用目的がまるで違うものに同じ処理をさせることこそ愚か。
0715デフォルトの名無しさん
2015/02/17(火) 23:35:33.34ID:U3SYBhrh突っ込みどころが満載なんだが……
その言語には1秒よりも精度の高いタイマーが無いのか?
どうせある程度の処理の分量がないと結果が暴れるから、そもそも100秒程度の時間をかけるのは妥当では?
もともと今回は、同じ処理をさせる場合の優位性を測ろうとしていたんだろう?
0716デフォルトの名無しさん
2015/02/17(火) 23:54:48.88ID:fs6T0wjHこのバブルの後には、wordpressとrailsしか残らないよ
0717デフォルトの名無しさん
2015/02/18(水) 00:11:12.22ID:V5eytjJ/HSPと同程度だと思ったと書いてるだろ。HSPと比較できる共通の処理を思いつくなら書いてくれよ。
0718デフォルトの名無しさん
2015/02/18(水) 00:25:26.47ID:04Uy6nsIHSPには1秒よりも精度の高いタイマーが無く、
HSPでは100秒以上の連続した処理ができないということ?
それなら仕方ないが、そうでなければ >>701 の通りだ。
個人的には、遅いのを待ちたくなくて時間で切るのはアリだと思うが、1秒は短すぎるな。結果が安定しないよ。
0719デフォルトの名無しさん
2015/02/18(水) 00:34:27.52ID:4jYEuEnn>>501>>702でもやってろ
0720デフォルトの名無しさん
2015/02/18(水) 01:09:19.69ID:V5eytjJ/書いてくれよ。DOSとHSPと PowerShell と UWSC のソースコードもよろしく。
0721デフォルトの名無しさん
2015/02/18(水) 01:28:14.51ID:V5eytjJ/ttp://www.mk-mode.com/octopress/2014/11/21/benchmark-c-cpp-m-java-scala-ruby-python/
> C < C++ < Java < Scala < Objective-C <<< Ruby < Python という結果となった。
Python vs Ruby vs Haskell(文字列検索deベンチマーク)Add Star
ttp://d.hatena.ne.jp/nshinchan01/20130126/1359197911
1.5313435s Haskell
1.116003s Python
1.1019912s Ruby
【PHP, RUBY, PYTHON, PERL】ベンチマーク対決【フィボナッチ数】
ttp://www.mixp.net/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E8%A8%80%E8%AA%9E/262
時間 言語 バージョン
54.57 sec Perl 5.16.3
34.27 sec Python 3.3.2
20.47 sec PHP 5.5.5
21.18 sec Python 2.7.5
9.21 sec Ruby 2.0.0p247
RubyとPythonとPerlで正規表現の速さを比べてみた(2013年版)
ttp://qiita.com/YamaguchiRei/items/408d4c88674cb0d3dd5d
ttps://qiita-image-store.s3.amazonaws.com/0/15830/817a682f-0c32-5e5a-ae6c-922f713efd41.png
なんだ、ギガバイト単位になると Python 圧勝か。・・・グラフが大げさだった。
Perl の正規表現は速いな。
0722デフォルトの名無しさん
2015/02/18(水) 03:58:17.52ID:qJod6Zoi年末に出た外人の翻訳本で、
Rubyの実装系、Ruby1.9のRuby仮想マシンの本。
内容は新しく、Ruby2.0のキーワード引数まで含む
今後は、JSみたいに数値型をクラスではなく、
primitiveにして、メソッドを呼ぶときだけ、
クラスに変換したら、メモリを食わないと思う
JITや実行時、徐々に最適化していく、
インクリメンタル・コンパイルも欲しい
0723デフォルトの名無しさん
2015/02/18(水) 07:28:36.27ID:4rX4OmauPythonスレならまだわかるけど、このスレにはそぐわない。
0724デフォルトの名無しさん
2015/02/18(水) 07:33:08.08ID:FJC9eT5Z0725デフォルトの名無しさん
2015/02/18(水) 07:44:22.53ID:V5eytjJ/僕がうpったスクリプトはなかなか好評だった。
半分は他人が書いたものだけど。
0726デフォルトの名無しさん
2015/02/18(水) 07:47:17.01ID:V5eytjJ/グランブルーファンタジー Part5(c)2ch.net
ttp://kanae.2ch.net/test/read.cgi/gameurawaza/1423672738/
0727デフォルトの名無しさん
2015/02/18(水) 07:51:33.66ID:FJC9eT5Z>>724を否定するだけならその2レス書いてる間に十分できるだろ?サンプルも出てるんだから
0728デフォルトの名無しさん
2015/02/18(水) 07:59:27.04ID:V5eytjJ/数学わからんし
Python も
Ruby も
JavaScript も知らん
ちょっと勉強してみたことはあるけどさっぱり覚えてないね。
まあ僕は Lua と Python の最初の実装をした人間だからかつては目をつぶってもコーディングできたけどね。
Python に実装された関数が間違っていると話題になったことがあったが
実際には常識の方が間違っていたということがあった。
当時の僕の数学知識と実装能力は常識破りではあった。
0729デフォルトの名無しさん
2015/02/18(水) 08:27:27.32ID:4rX4Omau0730デフォルトの名無しさん
2015/02/18(水) 08:29:35.07ID:V5eytjJ/0731デフォルトの名無しさん
2015/02/18(水) 09:18:01.20ID:gLfG5mWE0732デフォルトの名無しさん
2015/02/18(水) 09:20:08.12ID:0zeBm7tU反則
0733デフォルトの名無しさん
2015/02/18(水) 09:49:04.80ID:jAoHttfIPythonだけ覚えれば良いよね。
他にWebブラウザで簡単に動かすならJavaScript。
Rubyは他のスクリプト言語で書かれていたものを
Rubyで書き直しましたの集合体だから
はっきり言って避けて通れるw
0734デフォルトの名無しさん
2015/02/18(水) 10:09:03.38ID:YLGpxgrV0735デフォルトの名無しさん
2015/02/18(水) 10:18:12.56ID:04Uy6nsI0736デフォルトの名無しさん
2015/02/18(水) 10:53:29.17ID:6zAO9i/E0737デフォルトの名無しさん
2015/02/18(水) 12:29:24.25ID:/R9PZMCF0738デフォルトの名無しさん
2015/02/18(水) 14:09:53.90ID:YLGpxgrV0739デフォルトの名無しさん
2015/02/18(水) 16:29:22.72ID:6zAO9i/EPHPはframeworkそのものが乱立するし、入門に向いたCakePHPには
redmineやlocomotiveみたいなframeworkを基礎にしたアプリもない。
かといって、expressはApacheが不要だし、まだ無料で使いたいようなアプリもない。
node.jsでsessionやcookieって、どうやって管理するの?
0740デフォルトの名無しさん
2015/02/18(水) 18:08:59.50ID:4rX4Omau0741デフォルトの名無しさん
2015/02/18(水) 19:19:26.43ID:4s6swZE/実際は大して速くない
0742デフォルトの名無しさん
2015/02/18(水) 20:52:42.43ID:pYbmwIWw0743デフォルトの名無しさん
2015/02/18(水) 21:01:05.29ID:psJc2Mbv0744デフォルトの名無しさん
2015/02/18(水) 21:02:27.71ID:Xn+Iy9mD普及するようならjsが有利になるのか?
0745デフォルトの名無しさん
2015/02/18(水) 21:50:19.58ID:d+4bKGeK0746デフォルトの名無しさん
2015/02/18(水) 22:04:33.62ID:411wnb7o0747デフォルトの名無しさん
2015/02/18(水) 22:07:25.71ID:FJC9eT5Z0748デフォルトの名無しさん
2015/02/18(水) 22:55:57.84ID:pYbmwIWwAngularとかpolymerとか歴史を遅らせた汚点レベル
0749デフォルトの名無しさん
2015/02/18(水) 23:05:27.36ID:3cxEKPFmたしかに、そのとおりだね
欧米先進諸国に対抗して、アジアで唯一ジャップだけが孤軍奮闘するという構図は、
戦前から現在に至るまで、何ら代わりはない
さしずめ Ruby 1.8(MRI) は悲運の名戦闘機「ゼロファイター」といったところかな...
また MRI の後継機として開発された YARV ベースの Ruby 2.1 は、JRuby の性能を越えた
・Ruby vs Ruby JRuby | Computer Language Benchmarks Game
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=yarv&lang2=jruby
もし MRI がゼロファイターであるなら、YARV は米主力機ヘルキャットを圧倒できることを目標にして
計画されながらも遂には完成される事の無かった幻の戦闘機「烈風」になるのかもしれない....
まったくジャップの技術者はあきらめが悪いよね、これもまた日本民族の血に流れる伝統なのかな?
0750デフォルトの名無しさん
2015/02/18(水) 23:06:58.13ID:6zAO9i/E0751デフォルトの名無しさん
2015/02/18(水) 23:10:22.53ID:3cxEKPFmそのリンク先は「2004年度未踏ソフトウェア創造事業」の関連文書だよね
・IPA:2004年度「未踏ユース」開発成果:Rubyプログラムを高速に実行するための処理系の開発
https://www.ipa.go.jp/jinzai/esp/2004youth/mdata/98-02.html
確かに10年前であれば「今のところPythonの中の人たちは高速化する気が無い。(>>656)」という考察は
事実であったのかもしれない
しかし、10年前のソースであるにもかかわらず、
それを明かさずに現時点での情報であるかのように発言する行為(>>656)は不適切だよ
0752デフォルトの名無しさん
2015/02/18(水) 23:23:11.38ID:UXdCAeZK・有能な人間は上に立たない
・無能で厚顔無恥で傲慢な人間ほど上にたつ
というのがあるので、Rubyのコアメンバーの中に「Rubyの高速化は世界一ィィィィ」とか思ってる奴がいてもおかしくない
0753デフォルトの名無しさん
2015/02/18(水) 23:29:45.34ID:3cxEKPFmベンチマーク対象のコードによって速かったり遅かったりする
・Python 3 vs Ruby | Computer Language Benchmarks Game
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=python3&lang2=yarv
とりあえずベンチマーキングを実施したのは Debian.org 関係者みたいだから、
Python と Ruby、どちらからも中立な立場にあると思われる
ベンチマーク結果をざっと見たところ、こんな印象がある:
・単純な整数計算であれば、Python のほうが速い(?)
・小数を扱う数値計算、複雑なデータに対する計算、
あるいはマルチスレッディングであれば Ruby のほうが速い(?)
・メモリ効率は、圧倒的に Ruby 2.1 が優れている
なお「整数計算で遅くてメモリ効率が高い」という Ruby 2.1 の特性は、
Puthon との比較だけでなく、他のスクリプト言語との比較にも現れている
0754デフォルトの名無しさん
2015/02/18(水) 23:49:34.97ID:3cxEKPFm効果的な言語処理系の開発はソフトウェア工学における主要テーマであり、
中でも最適化は言語処理系の設計における重要な課題の一つである
>>684がその話をどこの誰から聞いたのか知らないけれど、
そんなことも知らずに「最適化は邪悪で愚直な設計は素直である」などと
語るような人物は、言語処理系開の常識に疎い素人なんだろうね
たしかに大昔にあった「CISC vs. RISC 論争」のように、命令セットの
単純性を追求することで結果的に性能競争で勝利した RISC という例外はある
けれども>>735のベンチマーク結果で分かるように、
かつては遅い遅いと言われ続けた Ruby にも追いつかれ、
多くのケースでは Ruby にすら追い抜かれているのが、
現在の Python が置かれている現実な訳だ
視点を変えれば、現在の Python には性能改善の余地が数多く残されているとも
言えるわけだから、「最適化は邪悪で愚直な設計は素直である」と語るような
お馬鹿者は相手にしないほうがいいと思う
0755デフォルトの名無しさん
2015/02/18(水) 23:50:36.78ID:gLfG5mWE高速化を頑張ってこれ?
0756デフォルトの名無しさん
2015/02/19(木) 00:00:12.45ID:/rXoqLFu>・有能な人間は上に立たない
>・無能で厚顔無恥で傲慢な人間ほど上にたつ
ナッツ姫事件を見るに、まるで血筋を重視し技術者を見下す韓国社会そのものだね
> Rubyのコアメンバーの中に「Rubyの高速化は世界一ィィィィ」とか思ってる奴がいてもおかしくない
おおいにけっこうだな
Mozila、Goggle、Microsoft にも同じ思いで戦国時代である JS 世界の覇権を争っている
奴等がワンザカいるはずなんだから、一人や二人、ジャップにいてもおかしくないね
0757デフォルトの名無しさん
2015/02/19(木) 00:14:02.07ID:kP+TkhZJC#やTypeScriptのような地に足の着いたものは当然として、
F#とかPowerShellみたいなマニアックなものまで成功させてしまうのは凄い
C#がメジャーな言語の中ではいち早く関数型に目を付け、関数型の市民権獲得に大きな役割を果たしたのも事実
ハッキングと統計しか能のないGoogleとは違って基礎研究を真面目にやってるのが活きてるんだろうね
0758デフォルトの名無しさん
2015/02/19(木) 00:15:49.13ID:/rXoqLFu限界といっても、>>501のお題に対する解答は
>>702 の Ruby と >>706 の numpy だけしかないのだから、
結論としては:
(Python ではなく) numpy は速い
でいいんじゃまいかと
numpy が高機能で高速な数値計算パッケージであることを
否定する人はいないだろうしね
0759デフォルトの名無しさん
2015/02/19(木) 00:17:48.44ID:AysI5U9Q0760デフォルトの名無しさん
2015/02/19(木) 00:43:55.85ID:YPPxC10EF#やパワーシェルがいつ成功したんだよ
あとC#やTypeScriptは他会社からの引き抜きだから育てたわけではない
つまりMSはVB
0761デフォルトの名無しさん
2015/02/19(木) 00:51:06.82ID:TS7jO9IzCython使ったコードの方が4倍くらい速い
0762デフォルトの名無しさん
2015/02/19(木) 01:03:43.67ID:TS7jO9IzやっぱCythonの方が10倍以上速いわ
0763デフォルトの名無しさん
2015/02/19(木) 02:17:15.01ID:RJ2nbfqi最新鋭の戦闘機がある現代に、ゼロ戦を持ち出すぐらいのクールジャパンだよね
もう第二次大戦は終わったんだ。こんな古い物を、父さん酸素欠乏症にかかって
0764デフォルトの名無しさん
2015/02/19(木) 03:45:42.90ID:F3U7fBS8>>717 > HSPと同程度だと思ったと書いてるだろ。
僕のこの思い込みは最近まで事実だったんだな
4 Aug 2003 Ruby 1.8.0 がリリース
25 Dec 2007 Ruby 1.9.0 リリース!
24 Feb 2013 Ruby 2.0.0-p0 リリース
25 Dec 2013 Ruby 2.1.0 リリース
25 Dec 2014 Ruby 2.2.0 リリース
>>538 >>580 のトレンドと合わせてみると、普及したのは
Rails のおかげもあるかもしれないが
高速化も理由の一つかもしれないな。
0765デフォルトの名無しさん
2015/02/19(木) 07:01:56.40ID:kP+TkhZJ利用者も開発者も増えたし、安易な仕様変更も前に比べたらしづらくなったからな
最近だとRailsのパフォーマンスが向上しましたとか平気でchangelogに書いてくるし
0766デフォルトの名無しさん
2015/02/19(木) 07:45:23.95ID:YLyFJjqR申し訳ありません。
Rubyが2.0で爆速になったと知ってPython3と比較してどうなのだろうと2.0、YARVなどのキーワードと一緒にググりまくってた時に発見した記事だったので当然ここ数年の記事なのだろうと勘違いしていました。
まさか10年前のものだったなんて…。
0767デフォルトの名無しさん
2015/02/19(木) 08:40:25.96ID:F3U7fBS8ttp://julialang.org/benchmarks/
julia が Fortran 並に速いらしい。
>>753
Ruby はメモリ効率がいいので大量のデータを扱うWeb向きって事か。
> あるいはマルチスレッディングであれば Ruby のほうが速い(?)
これは間違いだな。
x86 だと Python がだいぶ速くなり、 x64 だと Ruby がだいぶ速くなるが、傾向は変わらない。
> Python は早くから64bit版 Windows に対応した64bitの Python (amd64だけでなくia64も)を配布してきましたが、
> 一般的に使われる多くの拡張モジュールが64bit版のバイナリパッケージを配布していないこともあり...
0768デフォルトの名無しさん
2015/02/19(木) 08:55:03.72ID:F3U7fBS8↓よりは参考になる。誰だろうな、無意味だと言ったのは。
> >656 「今のところPythonの中の人たちは高速化する気が無い。だからRubyは高速化で優位に立...
> ├>657 Cythonとかが既に有るが?
> └>662 妄想だろ
> └>669 これです。
> ├>670 「Ruby側」からの発言だから、眉唾だな。
> └>751 そのリンク先は「2004年度未踏ソフトウェア創造事業」の関連文書だよね...
> └>766 申し訳ありません。 まさか10年前のものだったなんて…。
0769デフォルトの名無しさん
2015/02/19(木) 09:48:57.42ID:YKDWyqEz実際の速度はまた違う話だろう
0770デフォルトの名無しさん
2015/02/19(木) 10:34:02.24ID:yjdKd9wYだからCythonやSaneScriptみたいにサブセットで高速化したり、
SoundScriptや新Ruby構想みたいに付加情報で最適化することにシフトし始めた。
0771デフォルトの名無しさん
2015/02/19(木) 10:41:10.73ID:F3U7fBS8高速化すると言う話があって高速化した事実があるんだから、逆も真なりですよ。
でも、Python のバージョンごとのベンチマークが見つからない。
ttp://h-miyako.hatenablog.com/entry/2015/01/23/060000
高速
55 PyPy3
49 PyPy
17 Ruby 2.0
14 Ruby 1.9
8 Python 2
7 Python 3
低速
なるほど、バージョンアップで速度を落としてるから、高速化するつもりがないと言うのは本当かも。
しかし、CPython 2.7 と PyPy のバージョンごとの比較を見ると、PyPy がぐんぐん伸びてるのがわかる。
ttp://prog.hu/assets/site/text/quicknews/03672/pypy-performance--dyn--fullwidth.jpg
すごく、・・・Framework
ttp://www.techempower.com/benchmarks/
上位は Java がほとんどか。1位だけ C++ だけど。
Lua はマイナーだけど食い込んでるなあ
0772デフォルトの名無しさん
2015/02/19(木) 11:05:43.05ID:YKDWyqEzふむふむ。
・Ruby: 高速化すると言って、高速化した
・Python: 「高速化する気が無い」とは言ってはいないが、実際速くなってない
ってことだな。 予言の自己成就とまでは言わないが、近いものを感じた。
0773デフォルトの名無しさん
2015/02/19(木) 13:43:10.29ID:yjdKd9wYどこで差がついた?
0774デフォルトの名無しさん
2015/02/19(木) 13:52:03.79ID:kP+TkhZJオタクのオモチャluajitと違ってv8はセキュリティやら信頼性やら大人の事情があるのに
これほど健闘してるのは大したもんだよ
0775デフォルトの名無しさん
2015/02/19(木) 14:23:35.02ID:RJ2nbfqi以前は、性にまったく興味のなかったのに、いつの間にかRubyやPythonを突き放してる。
0776デフォルトの名無しさん
2015/02/19(木) 17:43:42.26ID:8vdG+l6Q0777デフォルトの名無しさん
2015/02/19(木) 21:51:27.29ID:TS7jO9Iz素直に静的言語を使った方がずっと楽だわ
CとかJavaでいいじゃん
0778デフォルトの名無しさん
2015/02/19(木) 21:56:35.44ID:iyHfikAq記述量はスクリプト言語と大差ないし
記号とか使いまくって黒魔術的気分に浸れるところはPerlそっくり
コンパイルはクソ遅いけど
0779デフォルトの名無しさん
2015/02/19(木) 22:36:46.45ID:/rXoqLFuとりあえず、>>758 を以下のように訂正しとくね
>結論としては:
>
> (Python ではなく) numpy と Cython は速い
>
>でいいんじゃまいかと
0780デフォルトの名無しさん
2015/02/19(木) 23:35:51.39ID:Xwd/TzPE書きやすさの点ではどれが優秀なの?
0781デフォルトの名無しさん
2015/02/20(金) 06:07:49.87ID:6HTifz1o読みやすさにすべきでは?
書きやすさだと書く人だけの自己満足
0782デフォルトの名無しさん
2015/02/20(金) 09:40:41.33ID:HooYvf2o0783デフォルトの名無しさん
2015/02/20(金) 09:48:44.63ID:ahptq4t6詳しい人間向けと、初見向けの差はあるとは思うが
それとも、書きやすさ=行数/タイプ数が少ないこと、なのか?
0784デフォルトの名無しさん
2015/02/20(金) 09:57:22.35ID:HooYvf2oそれだけが書きやすさの指標ではないと思う
例えばRubyの「書き下しやすさ」なんかは、その数字には現れにくいし
0785デフォルトの名無しさん
2015/02/20(金) 10:09:40.30ID:sjYVzcTZRubyはendばかりで読みづらいし、書きづらい
0786デフォルトの名無しさん
2015/02/20(金) 11:09:24.39ID:HooYvf2o似てるようで微妙に違う
0787デフォルトの名無しさん
2015/02/20(金) 12:09:36.33ID:EQCZo/vUPython: http://codepad.org/6M2KhlKR
Ruby : http://codepad.org/qvy2JbhP
0788デフォルトの名無しさん
2015/02/20(金) 12:13:10.51ID:ahptq4t6なんで urllib と urllib2 があるんだよ
0789デフォルトの名無しさん
2015/02/20(金) 13:30:29.04ID:JrxIWFmW0790デフォルトの名無しさん
2015/02/20(金) 13:48:47.39ID:qp4GkBdV0791デフォルトの名無しさん
2015/02/20(金) 20:56:06.86ID:P8+HoY+F今更Python2を使うなら汚さには目をつむらなきゃ
0792デフォルトの名無しさん
2015/02/20(金) 21:02:45.40ID:8OUkX7Zl・代入文の右辺式のインデントをそろえた
・空行を挿入することで、コードの意図に沿ってパラグラフとして構造化した
https://ideone.com/avrIKc
0793デフォルトの名無しさん
2015/02/20(金) 21:18:22.31ID:evlLTDtR0794デフォルトの名無しさん
2015/02/20(金) 21:23:30.72ID:KoZ8UZGe0795デフォルトの名無しさん
2015/02/20(金) 21:48:19.98ID:JrxIWFmWJavaScriptのも場合によってはブロック+ラベル文に見えるし、そう解釈されるときもあるからベストではないんだよな。
0796デフォルトの名無しさん
2015/02/20(金) 23:16:17.14ID:xeIHjzJzRubyのあれはPerlを真似しただけだからな
他にもPerlの真似した部分は数多い
0797デフォルトの名無しさん
2015/02/21(土) 01:15:36.09ID:HG3aqmPZRubyは普通のオブジェクトに[:hoge]でアクセスしたらエラーが出るし
そもそも文字列とシンブルがぐっちゃぐちゃになっていてto_sとかto_symとかいちいちカオス
0798デフォルトの名無しさん
2015/02/21(土) 01:30:39.42ID:1ts2mUR/それはRailsのせい
Ruby自体はSymbolとStringは厳密に区別されてるのでいちいち悩むことはない
0799デフォルトの名無しさん
2015/02/21(土) 02:59:08.94ID:zv91iaBv動作が速くなって、メモリも節約できるのか?
'abc'
:abc
0800デフォルトの名無しさん
2015/02/21(土) 04:38:15.73ID:qY4oi0dn慢心、環境の違い。
0801デフォルトの名無しさん
2015/02/21(土) 05:06:39.13ID:iT1er0RAC言語に例えるなら、文字列はchar[]で
シンボルはenum内で定義した数値定数
ハッシュのキーとして特定のものしか使わないなら、シンボルが適切だが
不定な文字列を扱うなら、文字列のが適切
0802デフォルトの名無しさん
2015/02/21(土) 06:09:28.01ID:NpkyWpndnode.jsのサンプル
http://codepad.org/zUrxEsx8
0803デフォルトの名無しさん
2015/02/21(土) 07:43:02.11ID:rbwsrojxシンボルを使うメリットは
・新しく文字列を生成しない分やや効率がよく、比較も高速。
・文字の意味がはっきりするのでコードが読みやすくなる
・immutable なので内容を書き換えられる心配がない
class Symbol
http://docs.ruby-lang.org/ja/2.1.0/class/Symbol.html
0804デフォルトの名無しさん
2015/02/21(土) 07:55:44.42ID:qhlX4NCN・リテラル文字列はインターンする
・:aaaは”aaa”と同じ意味
という仕様にすればよかった
初期の安易な実装がそのまま負債として残ってしまっている
0805デフォルトの名無しさん
2015/02/21(土) 09:11:35.26ID:D+IGPkVJ0806デフォルトの名無しさん
2015/02/21(土) 09:12:55.32ID:sa43Zcnrこのスレで存分にPowerShellをアピールしていいぞ!
0807デフォルトの名無しさん
2015/02/21(土) 09:25:27.54ID:b3TAXLfHJavaScriptやLuaはそんな感じじゃないの? obj.foo と obj["foo"] が同じ意味。
Rubyは文字列それぞれが文字コードを持っている関係で、現仕様になっているのでは。
0808デフォルトの名無しさん
2015/02/21(土) 10:01:44.96ID:qhlX4NCNMatz自身の馴染みのあるやり方を安易にそのまま言語自体に持ち込んじゃっただけだと思うよ
リテラルの文字コードはインタプリタのデフォルトを使うだけなんだから別に問題はない
0809デフォルトの名無しさん
2015/02/21(土) 10:04:19.62ID:aXQn6I9c> 持ち込んじゃった
?
シンボルあって誰がどう困るの?
0810デフォルトの名無しさん
2015/02/21(土) 10:13:36.73ID:qhlX4NCN文字列とシンボルを明確に区別して使っているなら結構だけど、
良い悪いはともかく、>>797-798の言ってるように、最近は文字列とシンボルをあまり区別しない傾向があるからね
そういうスタイルにおいて両者の違いは邪魔なだけというのはわかるでしょ?
0811デフォルトの名無しさん
2015/02/21(土) 10:15:34.06ID:ZVQQE9/A(´・∀・`)ヘー
そうなん
まずその傾向からして知らなかったわとんくす
0812デフォルトの名無しさん
2015/02/21(土) 10:21:47.58ID:XLU71/kIマジックナンバーやら文字列やらは定数に置き換えなさい
と言われてきたC言語の世代はどう思うんだろうか
0813デフォルトの名無しさん
2015/02/21(土) 10:22:52.51ID:1ts2mUR/それはRailsの世界の話であって、Rubyの世界の話じゃないね
0814デフォルトの名無しさん
2015/02/21(土) 10:24:08.31ID:/yFQNdkc0815デフォルトの名無しさん
2015/02/21(土) 10:26:00.55ID:1ts2mUR/ふつうにcoffeescriptだと思うよ
0816デフォルトの名無しさん
2015/02/21(土) 10:27:08.31ID:XLU71/kI柔軟に動的に切り替えられたりできるってことでしょ
リフレクションとかメタプログラミングとかそういうことが、余計な機能なしに
普通にお手軽に出来るってこと
でも安全性、バグチェックの観点からみると、間違いやすいよね
柔軟性をとるか、安全性をとるかってことじゃないかな
0817デフォルトの名無しさん
2015/02/21(土) 10:41:58.71ID:b3TAXLfHそれは正しいんだが、Rubyとの比較の文脈だと、どちらもダックタイピングできるからあまり意味が無い。
話にあがっているのは、設計思想の面だと思う。
・class/module と map/table は区別すべきなのか?
・文字列は、書き換え可能なべきか、immutableでよいか?
・ユニコードだけで良いのか、各種エンコードも扱えるべきなのか?
時間が経って、結局はシンプルで覚えることが少ない側に落ち着いちゃった感はある。
0818デフォルトの名無しさん
2015/02/21(土) 11:43:30.74ID:iT1er0RAいやLisp系からの借用だろ、あちらもシンボルを値として扱えるし
0819デフォルトの名無しさん
2015/02/21(土) 12:27:44.91ID:s76k4WVR>両者の違いは邪魔なだけ
シンボルあって誰がどう困るの?
0820デフォルトの名無しさん
2015/02/21(土) 12:44:21.23ID:HG3aqmPZただFirefoxがnoSuchMethod導入してV8にも入るんだっけ?
0821デフォルトの名無しさん
2015/02/21(土) 12:47:32.35ID:/yFQNdkc0822デフォルトの名無しさん
2015/02/21(土) 12:49:01.29ID:/yFQNdkc0823デフォルトの名無しさん
2015/02/21(土) 12:53:42.33ID:qY4oi0dnnoSuchMethodは廃止。
その代わりより汎用性の高いProxyが標準に入った。
余談だがProxyとwith文を組み合わせると、スコープアクセスを仲介することができて、魔法のようなことができる。
0824デフォルトの名無しさん
2015/02/21(土) 15:52:20.31ID:BwYNANap例えば?
0825デフォルトの名無しさん
2015/02/22(日) 01:45:38.69ID:vo1EKyKq引数にどっちでも受け取れるメソッドを作ろうと思ったら明示的に型チェックするか無条件にto_sしなきゃいけない
前者がクソなのはさすがに>>819の腐った目にも明らかだと信じたいが、
後者はシンボルと文字列以外でも何でも通ってしまってバグの原因になる
0826デフォルトの名無しさん
2015/02/22(日) 02:11:25.75ID:COKde7BBそれは型付の問題であってシンボルさんはとばっちりですよw
0827デフォルトの名無しさん
2015/02/22(日) 02:30:17.67ID:PAsRUe3jだったらスクリプト言語はPython以外いらんやん
0828デフォルトの名無しさん
2015/02/22(日) 02:34:06.40ID:XwM2xAPUPythonをjavascriptに変えたら一行目は正しくなる
二行目が正しくなるかどうかは知らんがw
0829デフォルトの名無しさん
2015/02/22(日) 02:34:59.98ID:edsPbehBオーバーロードがないからいろいろ仕方ない
0830デフォルトの名無しさん
2015/02/22(日) 05:21:37.13ID:eIsRhMfC引数がどっちでも良いようなユースケースでは、そもそも内部でも区別する必要のないことのほうが多いんじゃないかと思ってしまうが。
function getProperty( obj, strOrSym ) {
return obj[ strOrSym ]
}
みたいに。
0831デフォルトの名無しさん
2015/02/22(日) 07:54:50.02ID:vo1EKyKqRubyはStringとSymbolを明確に区別するので { :x => 1 }[“x”] や { “x” => 1 }[:x] はnil(null相当)になる
JavaScriptを知ってる奴が必ず一回はやらかすのは { x: 1 }[“x”] だな
{ x: 1 } は { :x => 1 } と同じ意味だから、結果はnilになってしまう
0832デフォルトの名無しさん
2015/02/22(日) 08:10:38.56ID:0rD0njW6少なくともなんでもできるはjavascriptは該当しないよね
あと、勢いもか >>622
0833831
2015/02/22(日) 08:19:14.17ID:vo1EKyKqインスタンスフィールドを名前で取得するobj.instance_variable_methodメソッドなどはシンボルでもメソッドでもどっちでもいける
意味的にはシンボルしか受け付けないのが正しいはずだが、このダブスタがRuby
0834デフォルトの名無しさん
2015/02/22(日) 09:56:46.91ID:6wlRzF4X細かいことを言い出すと該当しないけど他の言語と比べたら
該当するんじゃない?
ChromeOSやFirefoxOS、ChromeAppなどが出てきてるように、
今はブラウザでなんでもできるようになってきているし、
nodejsの登場でサーバーサイドも出来るようになったし、
nodewebkitなんかでデスクトップアプリも出来る
iOSやAndroidも作れる
あと、検索結果だとタイピング量が多い関係でPHPに及ばないかもしれないけど
勢いは間違いなくあるよ
たとえば、githubのトレンディングリスト
https://github.com/trending?since=monthly
ほとんどJavaScriptだ
0835デフォルトの名無しさん
2015/02/22(日) 10:29:43.21ID:YKNqpodFString型がto_sコールするとどれぐらいオーバーヘッドがあるの?
コンパイルできる言語ならそもそも呼ばないだろうけど・・・・
0836デフォルトの名無しさん
2015/02/22(日) 10:44:33.19ID:vo1EKyKqそうじゃなくて、無条件に全部to_sしたら全てのオブジェクトを受け入れてしまうでしょ
値の文字列表現としてto_sが適切に実装されてる型だけならそれでもいいけど、
デバッグ用に適当な実装になってるのも多いから予期せぬ動作の原因になる
0837デフォルトの名無しさん
2015/02/22(日) 12:00:36.13ID:QM9RthBG動的型付け言語に全てのオブジェクトを受け入れる事の文句を言っても仕方ないんじゃない
0838デフォルトの名無しさん
2015/02/22(日) 12:05:56.76ID:vo1EKyKq少なくとも、文字列が入るところにシンボルが来る可能性を常に考慮しなきゃいけないだけでも結構なストレスだよ
0839デフォルトの名無しさん
2015/02/22(日) 12:08:24.19ID:D7LwOPVYそれがRubyや!
0840デフォルトの名無しさん
2015/02/22(日) 12:24:56.69ID:/rkkmz870841デフォルトの名無しさん
2015/02/22(日) 12:25:48.92ID:2vzKbssH動的型は実行前には型エラーが分からないが、だからといって
間違った引数を与えたときに、その場でエラーが出るのと
その場では何となく通ってしまって、全然別の場所で予期せぬ動作をするのとでは
テストやデバッグの難易度が違いすぎる
だから無条件にto_sは悪手すぎる
0842デフォルトの名無しさん
2015/02/22(日) 12:29:41.28ID:vo1EKyKq>>833に書いた通り、Rubyのコアな部分でも意図的に混同した扱いをしているケースは多いし
ライブラリでもそうなってるのは多いぞ
特に { key: value } が使えないのは痛いしな
0843デフォルトの名無しさん
2015/02/22(日) 14:11:21.01ID:vP+G2tFu違うものなら受け入れる側で区別するのは当たり前じゃないの
0844デフォルトの名無しさん
2015/02/22(日) 14:19:20.41ID:vo1EKyKq大抵のユーザーはシンボルを文字列リテラルの書き方のバリエーションくらいにしか考えていなくて
多くのライブラリはそれに合わせている
客観的に見れば設計ミスだと言わざるを得ないね
0845デフォルトの名無しさん
2015/02/22(日) 14:25:54.55ID:TumPQPr4Ruby信者とApple信者は設計ミスに対する指摘と言語や製品全体に対するディスを区別して考えることを覚えろ
0846デフォルトの名無しさん
2015/02/22(日) 14:47:29.04ID:TumPQPr4Matzは以前SymbolをStringのサブクラスにしようとして大反対されて却下された
その時に直さなかったお陰で、今シンボルGCだとか馬鹿馬鹿しいことにものすごいコストかけてるわけ
0847デフォルトの名無しさん
2015/02/22(日) 17:29:55.93ID:vP+G2tFuSymbol って他の言語でいうと enum のような感じで使ってたんだけど、違うの?
enum は String じゃないよね?
ごめん、俺趣味でしか使ってないからわからない
0848デフォルトの名無しさん
2015/02/22(日) 18:09:12.30ID:2L0KeDxeオプショナルな型指定ってやっぱ便利だよねー
以上
0849デフォルトの名無しさん
2015/02/22(日) 18:12:50.46ID:UoVjPwO30850デフォルトの名無しさん
2015/02/22(日) 18:49:42.50ID:+WCHq4X5定数に限れば、Symbol が変数名で、String が文字列リテラルってことじゃねーの?
enum はまた違う概念だと思うが
0851デフォルトの名無しさん
2015/02/22(日) 19:08:16.83ID:vo1EKyKqそれStringじゃいけない理由もないだろ?
静的言語のEnumみたいに色ならColor列挙型の値でないとコンパイルエラーになれば意味はあるけど、
列挙型かそれ以外かなんて区別にはほとんど意味がないし、
その間違いですらも結局実行時にバグとして表れるまでは分からない。
Symbolは本来>>850の言う通りオブジェクトやハッシュのメンバ名として使うんだよ。
言語処理系作る人の感覚だとその方が文字列でメンバ検索するより綺麗だから。
0852デフォルトの名無しさん
2015/02/22(日) 19:29:08.23ID:0rD0njW60853デフォルトの名無しさん
2015/02/22(日) 20:43:06.38ID:1kQwXsuIPHP→技術力のないやつらが暴走してデスマ
Ruby, Python→技術力のあるやつらが暴走してデスマ
0854デフォルトの名無しさん
2015/02/22(日) 21:24:09.57ID:UN6erKiZ0855デフォルトの名無しさん
2015/02/22(日) 21:24:38.83ID:vP+G2tFuあーなるほど。名前の通り識別子として使うのね。それなのに文字列も受け取れるように書かなきゃいけなくて嫌だと
俺みたいな理解してない奴がいると、間違えそうだな
0856デフォルトの名無しさん
2015/02/22(日) 22:12:38.79ID:M6aE6xoBこれらから好きなものチョイスするか、ケースごとに3つを使いこなせばええんじゃないかな
0857デフォルトの名無しさん
2015/02/22(日) 22:17:06.17ID:vo1EKyKqWeb系は技術だけじゃなくビジネスセンスが無いと悲惨な奴隷
0858デフォルトの名無しさん
2015/02/22(日) 22:29:00.55ID:/rkkmz87かといってJavaは消えるわけでもないし、代わりにこれさえやっとけばOKなんて言語もない
結局のところ、「○○一択」なんて時代ではなく、複数の言語を使えるようにしておくのが
最も賢い選択肢
0859デフォルトの名無しさん
2015/02/23(月) 00:18:12.68ID:nBmgs1q6「StringとSymbol」なんてややこしい考え方は必要ない
0860デフォルトの名無しさん
2015/02/23(月) 05:19:13.12ID:2dcX2lQGメモリリークする
0861デフォルトの名無しさん
2015/02/23(月) 06:01:19.63ID:8G2/loTvPython一つで済むのに
0862デフォルトの名無しさん
2015/02/23(月) 06:09:14.28ID:2jyfM//F現実問題、Pythonだとdjangoの仕事しかないぞ
Webのクライアントサイドやモバイルアプリ開発、金融システム、組み込み開発は
Pythonなんて使ってるとこ聞いたことがない
0863デフォルトの名無しさん
2015/02/23(月) 06:56:47.06ID:4Mxvq81Kどう使って、どう役に立たせたらいいのか悩むよね。
ぶっちゃけ使い道は物凄く狭いんじゃないかと思ってる。
0864デフォルトの名無しさん
2015/02/23(月) 07:12:40.67ID:2dcX2lQG処理系の都合をプログラマに押し付けてるだけ
0865デフォルトの名無しさん
2015/02/23(月) 07:23:51.74ID:4Mxvq81K0866デフォルトの名無しさん
2015/02/23(月) 08:14:09.75ID:CW3xNlRiPythonじゃ国内で飯食えないんやで^^
0867デフォルトの名無しさん
2015/02/23(月) 11:07:37.43ID:THzeMFUz// Googleのスクリプトがエラー出しまくってるので一時的に対処
if (url.indexOf('https://apis.google.com/_/scs/apps-static/') === 0) {
if (Math.random() > 0.01) return;
}
// IE9がエラー出しまくってるので一時的に対処
if (message === "null" && line === 1 && window.navigator.userAgent.indexOf("MSIE 9.0") >= 0) {
if (Math.random() > 0.01) return;
}
// Safariがエラー出しまくってるので一時的に対処
if ((message === null || message === "null") && line === 0 && window.navigator.userAgent.indexOf("Safari") >= 0) {
if (Math.random() > 0.01) return;
頑張れ!
0868デフォルトの名無しさん
2015/02/23(月) 12:13:38.41ID:HCdngPjwこんなんでも国内ではそこそこでかいサイトだろ
0869デフォルトの名無しさん
2015/02/23(月) 12:18:23.46ID:nBmgs1q6メモリリーク…するか?
0870デフォルトの名無しさん
2015/02/23(月) 13:51:18.32ID:GeqniVAaPixivの運営会社の実態を調べたほうが良いよ
0871デフォルトの名無しさん
2015/02/23(月) 13:56:22.26ID:/tejiemrhttps://www.youtube.com/watch?v=cBFE2dWTVQg
日本はなぜ、「基地」と「原発」を止められないのか
出版社: 集英社インターナショナル (2014/10/24)
矢部 宏治 (著)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
日本の最高権力者は日米合同委員会です。
日米合同委員会は日本国憲法より上にあります。
だから原発が止められないし日本人の被害者を助けようとしないのです。
国連憲章では日本は敵国とされています。
日本は敵国なので、いまだにアメリカ軍が駐留して日本が再軍備しないか監視しているのです。
国連憲章で敵国とされなくなるにはアジア各国と仲良くする必要があります。
日本と中国と韓国が仲良くなれば、日本は国連憲章で敵国扱いされなくなります。
そうなればアメリカ軍が日本から出ていかなければなりません(アメリカの支配から脱する)。
そうさせないために「2ちゃんねる」「ニコニコ」で中国叩きや韓国叩きのアジア分断工作が行われているのです。
「2ちゃんねる」「ニコニコ」「自民党」「2ちゃんを転載してるブログ(ニコニコが運営してる)」は日米合同委員会の下部組織です。
「2ちゃんねる」「ニコニコ」「2ちゃんを転載してるブログ(ニコニコが運営してる)」の役割は東アジアの分断工作です。
0872デフォルトの名無しさん
2015/02/23(月) 14:31:58.49ID:2dcX2lQG"Symbol DOS"でググってみ
シンボル
0873デフォルトの名無しさん
2015/02/23(月) 14:33:21.46ID:2dcX2lQG最新版に入ったシンボルGCで対策されたけど、動的にシンボル作るのは基本的に御法度だよ
0874デフォルトの名無しさん
2015/02/23(月) 14:36:52.00ID:xos6Ur9w最初から 他の言語 on Rails にしておけばもっと楽だった可能性が?
0875デフォルトの名無しさん
2015/02/23(月) 15:33:24.53ID:HCdngPjwDOSする側もそもそもRubyかどうかすらわからないのに、そんなクソ処理が実装されているかもしれないフォームに大量のランダム文字列や辞書をPOST・・・
多分攻撃成功例はないと思うぞ
0876デフォルトの名無しさん
2015/02/23(月) 16:26:40.59ID:JQKxWn8HHTMLでは標準的な、文字のコード指定は
文字列を文字コードに変換しまくり
0877デフォルトの名無しさん
2015/02/23(月) 17:26:30.16ID:KfX94sTP国外でも食えねぇよ
0878デフォルトの名無しさん
2015/02/23(月) 19:09:53.40ID:zy+CPtpD「internやto_sym出来るものを受け入れる」≠「引数をinternやto_symする」
0879デフォルトの名無しさん
2015/02/23(月) 19:13:16.28ID:zy+CPtpD0880デフォルトの名無しさん
2015/02/23(月) 19:18:22.30ID:zy+CPtpD要するにシンボルを「文字列の亜種」と捉えちゃう人が
Symbolを動的に生成する、なんて扱い方をしちゃうワケか
Railsが生んだ誤解としか言えないな…
0881デフォルトの名無しさん
2015/02/23(月) 19:35:01.02ID:THzeMFUzヤバいの?
0882デフォルトの名無しさん
2015/02/23(月) 20:18:38.02ID:LN+sNCaQメモリリークはバグでしょ。
0883デフォルトの名無しさん
2015/02/23(月) 20:42:24.98ID:nBmgs1q6バグのような、仕様のような微妙なところかと
だってSymbolがGCされるのも、それはそれで困るし…
Symbolを動的に生成する必要があるコードって本来は限られてると思うけどな
性質としてはeval()問題にも通じると思う
Railsは文字列と混同したせいで乱用しとるけどね
0884デフォルトの名無しさん
2015/02/23(月) 20:51:29.49ID:2dcX2lQGこのスレで頑張ってるRuby原理主義の子には悪いけど、
RubyとRailsは別というもの言いはもはや通用しないんだよ…
0885デフォルトの名無しさん
2015/02/23(月) 20:56:48.09ID:QjP2ga8a0886デフォルトの名無しさん
2015/02/23(月) 21:02:53.86ID:2dcX2lQGSymbolは本来ソースコード上の識別子を表すものなんだから、それが使われなくなるってのは
いったん読み込まれたコードファイルがインタプリタからアンロードされるような状況を意味するわけだ
0887デフォルトの名無しさん
2015/02/23(月) 21:16:05.21ID:KfX94sTP実によって木を知るってヤツだね
0888デフォルトの名無しさん
2015/02/23(月) 21:17:40.64ID:KfX94sTP0889デフォルトの名無しさん
2015/02/23(月) 21:20:15.66ID:xos6Ur9wすぐ上のレスにある eval()問題 って文字が見えないのか?
.NETでもアセンブリの動的アンロードでいろいろと問題になった。
不要になったクロージャのGCという状況は普通にあるんだから、
ソースコードのトップレベルもクロージャ扱いにすれば良かった。
コンパイル型言語の考え方から抜け切れなかっただんだろうね。
0890デフォルトの名無しさん
2015/02/23(月) 21:34:39.10ID:QjP2ga8a>>Symbolは本来ソースコード上の識別子を表すものなんだから
だからそもそもそれが不味いんだろう。
JSのような仕様にしておけば気軽に間違いを犯すことはなかった。
JSだと「:sym」と同等の存在は「Symbol.for('sym')」とわざわざしないと生まれない。
Symbolは基本的にユニークな存在で「Symbol('sym') != Symbol('sym')」だ。
それでもパフォーマンスと利便性は確保出来てる。
0891デフォルトの名無しさん
2015/02/23(月) 21:56:27.46ID:xos6Ur9w設計当初であれば __iter__ 等を予約しておけたが、後付だから互換性のために文字列を使えなかったというだけだろう。
0892デフォルトの名無しさん
2015/02/23(月) 22:06:56.37ID:QjP2ga8aそれにSymbolはむしろユニークでかぶらないってところが重要で、存在意義を産んでる。
文字列の亜種みたいな扱いにしてしまうからそんな問題が起きる。
0893デフォルトの名無しさん
2015/02/23(月) 22:29:07.72ID:xos6Ur9wもしオブジェクトのIDをキーにできていたなら、Symbol などなくても
単に var sym = new Object() をキーにするだけで済んでいた。
0894デフォルトの名無しさん
2015/02/23(月) 22:35:14.21ID:QjP2ga8aそれにオブジェクトがオブジェクトのキーに普通に使えたとしても、
Hashを求めないといけないんじゃ、パフォーマンスは期待できないよね。
だからこそプリミティブ型としてのSymbolがあるんでしょ?
0895デフォルトの名無しさん
2015/02/23(月) 22:41:09.66ID:sMGbOyvEハッシュコード値を求めるのなんてコストのうちに入らないんじゃないの?
0896デフォルトの名無しさん
2015/02/23(月) 23:26:36.47ID:QjP2ga8a0897デフォルトの名無しさん
2015/02/23(月) 23:27:56.63ID:KfX94sTP0898デフォルトの名無しさん
2015/02/24(火) 00:03:31.04ID:yqEgAYkt0899デフォルトの名無しさん
2015/02/24(火) 00:16:32.35ID:fa9+iiuuという実装にはならないという意味だろ?
0900デフォルトの名無しさん
2015/02/24(火) 00:31:48.85ID:luD6jO26コードで実行例を示す:
$ ruby -e 'p "foo".__id__; p "foo".__id__'
922250
922190
$ ruby -e 'p :foo.__id__; p :foo.__id__'
209848
209848
$
・文字列であれば、リテラルによってオブジェクトが生成されるたびに、
「別のオブジェクトID」が割り当てられる(つまり、それらは「別々」のオブジェクト)
・シンボルであれば、字句として同じリテラルなら何度書いてもそれらには
「同じオブジェクトID」が割り当てられる(つまり、それらは「同一」のオブジェクト)
だから同じ振る舞いを JS をで実現するには、>>890 が示してくれたように
わざわざ「Symbol.for('sym')」と書かなければならない
>>893 が考えた「var foo = new Object()」だけでは、
(連想配列うんぬんとは無関係に)変数 foo をグローバルな名前空間上で宣言しなければならない
たかだかシンボルを実現するためだけにグローバルな名前空間を汚染することは、
良い JS プログラミング作法とは言えないだろう
0901デフォルトの名無しさん
2015/02/24(火) 00:43:13.50ID:yqEgAYkta={}とb={}は異なるものと扱われないとダメでしょ
アドレス値でもを使いたいが相性悪いCGもあるし、生成の度にユニークIDに当たるものを付与するのが良いでしょ。
0902900
2015/02/24(火) 00:48:03.94ID:luD6jO26X: わざわざ「Symbol.for('sym')」と
O: わざわざ「Symbol.for('foo')」と
0903デフォルトの名無しさん
2015/02/24(火) 01:40:32.79ID:I87emoo4$ ruby --version
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin13]
$ ruby -e 'p "foo".to_sym.__id__; 100000.times {|i| "foo#{i}".to_sym}; p "foo".to_sym.__id__'
70100989070960
70100984866860
0904デフォルトの名無しさん
2015/02/24(火) 01:44:03.59ID:I87emoo4Symbol
0905デフォルトの名無しさん
2015/02/24(火) 06:00:58.49ID:Z1ULvn/uRubyは問題が特に多い言語、ということで。
0906デフォルトの名無しさん
2015/02/24(火) 06:26:13.31ID:uqCdmZ4lメンバ呼び出しはその箇所ごとにインデックスのキャッシュを持たせるのが定番だね
ハッシュ表を引くのはキャッシュミスしたときだけ
0907デフォルトの名無しさん
2015/02/24(火) 08:19:30.05ID:fa9+iiuu> 変数 foo をグローバルな名前空間上で宣言しなければならない
Symbol.for('foo') もグローバルな名前空間を汚染していることに気付いていないのか?
var Symbol = { "for": "foo" } としているのと実質的に同じだぞ。
>>901
> a={}とb={}は異なるものと扱われないとダメでしょ
あたりまえだろ? a.foo = 3 したら b.foo にも 3 が入るのか?
なぜかRubyだけ問題を指摘されているが、JSも似たようなものだ。
RubyはキーにSymbolしか受け付けず、文字列との違いとSymbol GCを後付した。
JSはキーに文字列しか受け付けず、Symbolを後付した。
どちらも、言語組み込みの連想配列のキーにすべてのオブジェクトを受け付けるようにしておけば、もっと単純化できたのだ。
0908デフォルトの名無しさん
2015/02/24(火) 08:29:00.02ID:9l1rIhApirb(main):001:0> {'a'=>1}.keys[0].class
=> String
irb(main):002:0> {9=>1}.keys[0].class
=> Fixnum
irb(main):003:0> {Object.new=>1}.keys[0].class
=> Object
0909デフォルトの名無しさん
2015/02/24(火) 09:17:17.29ID:fa9+iiuuすまん、不正確だった。 Rubyのクラス/モジュールは、なら誤りは無いないだろうか?
Rubyの { } は Hash を構築するから、それと比べるなら JS も Map になるな。
オブジェクト/クラス/インスタンス と Hash/Map の両方が独立して必要なのかという話なのかもしれん。
0910デフォルトの名無しさん
2015/02/24(火) 09:57:19.93ID:EMqrg7HRついてけねーよ
0911デフォルトの名無しさん
2015/02/24(火) 12:05:09.68ID:lFZ8d0+yそれはオブジェクトならなんでもいいわけじゃなくて、
厳かに設計されたクラスのインスタンスオブジェクトを厳かに利用している限りは、
クラスで初期化されたプロパティに関してそのような最適化を有効に働かさせられるってことだな。
連想配列のように使われるオブジェクトに関してはその手の最適化はできない。
>>907
オブジェクトを仮にキーとして使える場合、Hashをとった時の値が異ならないといけないという話なんだが。
そしてそのためにはオブジェクトに固有の目印を付けておかないといけないんじゃないかという話なんだが。
0912デフォルトの名無しさん
2015/02/24(火) 12:09:03.80ID:lFZ8d0+y0913デフォルトの名無しさん
2015/02/24(火) 12:58:02.64ID:CcurMLoYこの予言を成就させないための反キリストの象徴なんだ。Rubyistたちは。
畑に2人居る農奴なんて、片方は天使に連れて行かれるよ
0914デフォルトの名無しさん
2015/02/24(火) 18:26:14.87ID:+og2tlLi以下の書籍は結構参考になるから医療、生命科学に興味あるエンジニアは読んでみ^^
RとRubyによるデータ解析入門
https://www.amazon.co.jp/dp/4873116155/ref=cm_sw_r_awd_5ie7ub0KZ71W6
https://www.amazon.co.jp/dp/4873116155/ref=cm_sw_r_awd_5ie7ub0KZ71W6
トランスクリプトーム解析 (シリーズ Useful R 7)
https://www.amazon.co.jp/dp/4320123700/ref=cm_sw_r_awd_Rge7ub1SZ79Q0
https://www.amazon.co.jp/dp/4320123700/ref=cm_sw_r_awd_Rge7ub1SZ79Q0
0915デフォルトの名無しさん
2015/02/24(火) 18:48:01.77ID:CcurMLoY0916デフォルトの名無しさん
2015/02/24(火) 19:12:32.33ID:EFE1Fkp5とりわけ生物学は一生かけ通すだけの価値ある学問だと思うしね
日本が誇る再生医療×国産言語Rubyとか素敵やん
俺もRubyやるかな
0917デフォルトの名無しさん
2015/02/24(火) 19:23:26.92ID:udw0BBc/メンテしやすい Python 一択だと思うが
0918デフォルトの名無しさん
2015/02/24(火) 19:37:44.64ID:iUe1ND2+海外出るならPythonとJavaさえあれば食っていける
一生ジャップとして生きるならRubyやれ
0919デフォルトの名無しさん
2015/02/24(火) 19:41:51.92ID:CcurMLoY0920デフォルトの名無しさん
2015/02/24(火) 20:01:03.27ID:D5FJHWffPython4が出てコード改修の強制が再び起こるかも分からんので
特出してメンテしやすいとは考えられないな
0921デフォルトの名無しさん
2015/02/24(火) 20:17:34.72ID:wMWkMGk+実際には普通のハッシュ表ではなく>>906のように
インラインキャッシュを効かせるために特殊なデータ構造になってるよ
ハッシュ表はオブジェクトに付随する型情報(メタデータ)であると考えるのが実態に近い
0922デフォルトの名無しさん
2015/02/24(火) 20:22:43.41ID:9l1rIhApまあ「皆無」に近いPythonよりはあるけど
0923デフォルトの名無しさん
2015/02/24(火) 20:35:23.10ID:xlkVkRzD0924デフォルトの名無しさん
2015/02/24(火) 20:56:24.78ID:luD6jO26>すまん、不正確だった。 Rubyのクラス/モジュールは、なら誤りは無いないだろうか?
>Rubyの { } は Hash を構築するから、
それも間違いだ
JS だと [] は構文の一部だけど、純粋オブジェクト指向言語である Ruby だと
[] は単なるメソッドであり、ハッシュの構築とやらとは全く関係ない
だから無知な >>797 が望む JS の振る舞いを Ruby で模倣することは簡単に実現できる
具体的なコードで示すと、まず以下のコードをファイルへ保存する("like-a-js.rb" とする)
class Object
define_method :[]= do |key, val|
instance_variable_set "@#{key}", val
end
define_method :[] do |key|
instance_variable_get "@#{key}"
end
end
次にRubyインタプリタを対話モードで起動する
$ irb -I. -rlike-a-js.rb
irb(main):001:0> o = Object.new
=> #<Object:0x129594>
irb(main):002:0> o[:x] = 1
=> 1
irb(main):003:0> o[:bar] = 'BAR'
=> "BAR"
irb(main):004:0> o[:x]
=> 1
irb(main):005:0> o[:bar]
=> "BAR"
irb(main):006:0>
0925デフォルトの名無しさん
2015/02/24(火) 21:04:17.06ID:CcurMLoY0926デフォルトの名無しさん
2015/02/24(火) 22:34:01.67ID:VYr5b09yその論法でいけばPythonだとさらに奪われにくいという事になりませんか?
0927デフォルトの名無しさん
2015/02/24(火) 22:34:50.99ID:luD6jO26>RubyはキーにSymbolしか受け付けず、
すでに >>908 が指摘しているけど、これも間違い
JS だと [] は構文の一部だからオブジェクト/配列のキーに制限があるけど、
純粋オブジェクト指向言語である Ruby だと
2つのメソッド Object#hash と Object#eql(other) が定義されている
任意のオブジェクトをハッシュのキーとして指定できる
http://docs.ruby-lang.org/ja/2.2.0/class/Hash.html
実際のコード例を以下に示す
http://ideone.com TUrRqm
ここでは二次元座標上の点を表現したクラス Point を定義し、
そのインスタンスをキーとしたハッシュの生成とアクセスをコード化してみた
なおこのクラスは不変(immutable)なオブジェクトとして設計したので、
ハッシュ値はオブジェクト生成時に決定され、二度と変化することはない
またハッシュのキーとして利用しない場合、ハッシュ値の計算は無駄になる
そこでメモ化によって、最初にハッシュのキーとして利用する時だけ
ハッシュ値を計算するように工夫している
0928デフォルトの名無しさん
2015/02/24(火) 22:38:03.70ID:luD6jO26>・シンボルであれば、字句として同じリテラルなら何度書いてもそれらには
> 「同じオブジェクトID」が割り当てられる(つまり、それらは「同一」のオブジェクト)
この Ruby のシンボルが持つ本来の性質を(性質がもたらす)結果という視点で言い換えたのが、
>>866 の「Symbolは本来ソースコード上の識別子を表すもの」になる
だからシンボルは、たとえばハッシュのキーや業務アプリであれば「区分コード」や
「分類コード」のようにオブジェクトの同一性のみが要求されるケースに限定して用い、
入出力のテキストデータであれば文字列を用いるという、「用途に応じて使い分ける」ことが
Ruby プログラミングにおける「暗黙の常識(オキテ?)」だった(>>873)
そして、これに従ってコーディングしていれば、シンボルのオブジェクトが生成されるのは
リテラルのコンパイル時だけだから、シンボルのオブジェクトをGCの対象から外してもかまわない、
すなわちゴミ回収の必要性は無かった(過去形 ....)
ところが Rails では一部で(?)シンボルを「不変(immutable)な文字列」として扱い、
入出力テキストデータを Symbol.new(str) やstr.to_sym で動的に生成しはじめたから、
大規模な Rails アプリではたちまちメモリが枯渇するという深刻な問題が発生した (>>880)
ここで Ruby の中の人達が「そもそも Ruby のシンボルとは...」などと叫んでも、
すでにRails は全世界的に普及し Ruby プログラマの大半が Rails ユーザという状況下では
後の祭り、泣く泣くシンボルGCを後付けするしかなかった.... というのがいきさつ
0929デフォルトの名無しさん
2015/02/24(火) 22:48:19.91ID:luD6jO26$ ruby1.8 -e 'p :foo.__id__; 100000.times {|i| "foo#{i}".to_sym}; p :foo.__id__'
106258
106258
$ ruby2.2 -e 'p :foo.__id__; 100000.times {|i| "foo#{i}".to_sym}; p :foo.__id__'
416178
416178
$
>>900,902 で述べた「Ruby のシンボルが持つ本来の性質」は、
あらゆる Ruby のバージョンで一貫している
(リテラルの同一性であることがポイントね)
だから互換性が問題になるのは、シンボル・オブジェクトを動的に大量生成するような
「Ruby における暗黙の常識(>>928)」を守っていないコードだけ
大半の「ふつうのRubyコード」では問題にならない
0930デフォルトの名無しさん
2015/02/24(火) 23:02:54.20ID:9l1rIhAp>入出力テキストデータを Symbol.new(str) やstr.to_sym で動的に生成しはじめたから、
>大規模な Rails アプリではたちまちメモリが枯渇するという深刻な問題が発生した
どこのアプリがそんな処理をするのか知りたいわ。
RubyのRVALUEってそもそも40バイトだし、シンボルは1個しか作れないから、通常のプログラミングで
シンボルのせいでメモリが枯渇することはありえないし、枯渇するまでにはサーバーが再起動されている。
むしろ大規模なRailsアプリで一番の問題だったのは、速度でもメモリ使用量でもなく、ガベージコレクションによる停止時間。
これもシンボルは直接の原因ではない。
0931デフォルトの名無しさん
2015/02/24(火) 23:04:02.26ID:9l1rIhAp>入出力テキストデータを Symbol.new(str) やstr.to_sym で動的に生成しはじめたから、
>大規模な Rails アプリではたちまちメモリが枯渇するという深刻な問題が発生した
どこのアプリがそんな処理をするのか知りたいわ。
RubyのRVALUEってそもそも40バイトだし、シンボルは1個しか作れないから、通常のプログラミングで
シンボルのせいでメモリが枯渇することはありえないし、枯渇するまでにはサーバーが再起動されている。
むしろ大規模なRailsアプリで一番の問題だったのは、速度でもメモリ使用量でもなく、ガベージコレクションによる停止時間。
これもシンボルは直接の原因ではない。
0932デフォルトの名無しさん
2015/02/24(火) 23:04:34.17ID:9l1rIhAp>入出力テキストデータを Symbol.new(str) やstr.to_sym で動的に生成しはじめたから、
>大規模な Rails アプリではたちまちメモリが枯渇するという深刻な問題が発生した
どこのアプリがそんな処理をするのか知りたいわ。
RubyのRVALUEってそもそも40バイトだし、シンボルは1個しか作れないから、通常のプログラミングで
シンボルのせいでメモリが枯渇することはありえないし、枯渇するまでにはサーバーが再起動されている。
むしろ大規模なRailsアプリで一番の問題だったのは、速度でもメモリ使用量でもなく、ガベージコレクションによる停止時間。
これもシンボルは直接の原因ではない。
0933デフォルトの名無しさん
2015/02/24(火) 23:19:36.74ID:f0qd5wpl0934デフォルトの名無しさん
2015/02/25(水) 01:10:17.34ID:2Uq6yvoWそら動的にシンボル生成する奴出てくるよ
非推奨っぽい名前でも無いし
0935デフォルトの名無しさん
2015/02/25(水) 02:44:13.09ID:CRSuk3Gj0936デフォルトの名無しさん
2015/02/25(水) 05:57:17.67ID:bDhGkzH30937デフォルトの名無しさん
2015/02/25(水) 06:25:03.62ID:CRSuk3Gj0938デフォルトの名無しさん
2015/02/25(水) 07:42:59.65ID:flmNpp9dPythonもインターンしていた気がするけど、そっちは大丈夫なのかな?
JSも文字列はimmutableだから、インターンしてそうな気がするけど
0939デフォルトの名無しさん
2015/02/25(水) 07:52:04.61ID:9jad7y3g単に記述が簡易なのと辞書の { キー: 値 } 記法を使ったら嫌でもキーがSymbolになってしまうのと
メソッドを動的に定義したり取得したりするのにSymbolしか使えないから(文字列渡せたりするが内部で変換している)
0940デフォルトの名無しさん
2015/02/25(水) 08:00:32.40ID:9jad7y3g勝手にインターンされるのは文字列リテラルだけ
書き忘れてたけどRubyでSymbolが多用される大きな理由の一つに「Stringがミュータブルだから」というのがある
キーとしてミュータブルなオブジェクトを使用すると外から書き換えられてハッシュがぶっ壊れる恐れがあるからね
元々Stringがイミュータブルならインターンされてるかどうかはあまり重要ではない
0941デフォルトの名無しさん
2015/02/25(水) 08:06:38.60ID:9jad7y3gこれによってSymbolは他言語のイミュータブルなStringとかなり近い存在になったわけだ
いったんインターンする分だけ生成にコストがかかるのとStringと互換性がなくてクソ不便な以外はね
0942デフォルトの名無しさん
2015/02/25(水) 08:56:52.59ID:0PKAsEXXだって一度計算したらキャッシュしとけばいいんだから
Stringをミュータブルにするという間違った選択が全ての元凶
MatzはC脳だから、char*を自由に弄れないなんて考えられなかったんだろう
0943デフォルトの名無しさん
2015/02/25(水) 09:02:24.73ID:2Uq6yvoW0944デフォルトの名無しさん
2015/02/25(水) 10:45:15.58ID:PD19KjkhGCされてかつimmutableなキーが欲しけりゃ、やり方はあるし
mutableだからぶっ壊れるっつーても、新規キー突っ込むときdupすりゃ済むよ
>>939
ハッシュの { key: value } 記法はSymbolに限った例外で
基本的な書き方は { key => value } なんだけどな
まあ、そのSymbolの記法では動的な使い方は出来ないから問題ないが
メソッドなどの動的定義については仕方ない
それが本来のSymbolの役割だと思うしな
…ただ、動的定義多用する場面ってDSL作るときぐらいだと思う
Railsがまさにそれだから困るわけだが
もうさ、Perl => PHP みたく、Rails には言語として独立してくんないかなと思う
いちいちRuby本体を巻き込まないで欲しいよ
0945デフォルトの名無しさん
2015/02/25(水) 14:07:24.00ID:GuxC04/B結局、Rubyが使われる理由ってRailsなんだよね
0946デフォルトの名無しさん
2015/02/25(水) 14:11:27.09ID:zbP264L7RPGツクールのスクリプトとしては確かに向いてると思う。
0947デフォルトの名無しさん
2015/02/25(水) 14:21:30.19ID:GuxC04/Bてか、node.jsの文化って何気にクローズドな世界へ逆戻りするね
MEANやmeteor製のecommerceを探しても使えそうなものは出てこない
OSSなんて、wordpressやrailsで左手団扇だった頃の名残りって時代になるんだろうな
0948デフォルトの名無しさん
2015/02/25(水) 16:56:46.92ID:+Rnlx2S3一応2系で大きく変えていく予定ではあるみたいだし、io.jsみたいな存在も出てきたので希望は捨ててない。
とりあえずasync/awaitが入ってAPIがそれに乗っかってほしい。その前にES6との調和が急務ではあるが。
まあそこまでやれば光沢を取り戻せると思う。
そこから先はWebやらFirefoxOSやらWinメトロアプリAPIやらと、
StreamやファイルアクセスのAPIを揃えていくのがJSとしての問題。
0949デフォルトの名無しさん
2015/02/25(水) 17:04:34.20ID:4b4tu3Ugそっちが更新されない限りは現状維持だろ。
0950デフォルトの名無しさん
2015/02/25(水) 17:12:15.73ID:flmNpp9dブラウザJSの流れから外れてしまったということか?
0951デフォルトの名無しさん
2015/02/25(水) 17:36:22.58ID:+Rnlx2S3そりゃあMathとかそういったのは当然差異はないよ。
でもJSはIOと切り離された言語だからね。IO周りはその環境が独自のAPI提供しないといけない。
何かのスクリプトなら殆ど困らないだろうけど、サーバーにおいてIO周りと言ったらほぼ全てなわけよ。
DOMにあればそれを真似することもできただろうけど、生憎Nodeが生まれた時には全くなかった。
最近になってTextDecoderやらそういったのが出てくるようになってきて、Streamはいよいよこれからって段階。
>>950
手っ取り早く言うと、開発から5年たったけどまだ1.0がリリースされない。
5年前は新鮮で素晴らしかったAPIも5年間使われていくうちに不満が出てくるようになったってこと。
でもここ数年はもうすぐ1.0を出すからという名目でAPIの変更を避けてきた。
いよいよES6の時代となって、V8のバージョンを中々挙げないことも相まって、崩れ出す=コミュニティの熱が冷め切って崩壊してしまいそう。
今はkoaみたいな標準のAPIを先進的にラップしてくれるライブラリが活力を与えてる状態。
恐らく今年中に「Nodeを使うならkoaも一緒に」。「koaは実質標準」みたいになるだろう。
でもそういった物を使うってのも本来は要らない煩わしさを負って、本来は得られる利便性の何割かは損ねる形で妥協しているわけだから時期に不満は出てくる。
0952デフォルトの名無しさん
2015/02/25(水) 18:27:18.27ID:GuxC04/Bwordpress規模のCMSが無い。サービス作りの拝金主義に傾倒している。
0953デフォルトの名無しさん
2015/02/25(水) 18:29:41.47ID:0z3UW+sb今から始めるならやっぱりPrologしかないか
0954デフォルトの名無しさん
2015/02/25(水) 19:01:47.56ID:kf8LDibB0955デフォルトの名無しさん
2015/02/25(水) 19:23:00.08ID:0z3UW+sb0956デフォルトの名無しさん
2015/02/25(水) 19:30:31.77ID:QDE3W+93むしろ最先端気取りのアホWeb連中に騒がれなくなってからが大衆言語としての本番
0957デフォルトの名無しさん
2015/02/25(水) 19:35:11.96ID:0z3UW+sb0958デフォルトの名無しさん
2015/02/25(水) 20:26:38.55ID:GuxC04/Bネタでなく将来性があるよね。今のWebって数年後には終わってるだろうし
0959デフォルトの名無しさん
2015/02/25(水) 20:46:57.09ID:qU3KeDvM去年からバイオインフォマティクス界隈でお仕事してるけどBioRubyとかR使ってるわwww
0960デフォルトの名無しさん
2015/02/25(水) 21:23:46.75ID:b1PxjtZ00961デフォルトの名無しさん
2015/02/25(水) 21:24:21.08ID:b1PxjtZ00962デフォルトの名無しさん
2015/02/25(水) 21:37:40.85ID:7GkgvnFA>> 変数 foo をグローバルな名前空間上で宣言しなければならない
>Symbol.for('foo') もグローバルな名前空間を汚染していることに気付いていないのか?
>var Symbol = { "for": "foo" } としているのと実質的に同じだぞ。
遅レスになったが、Symbol.for('foo') はグローバルな名前空間を汚染しない
JS のシンボル Symbol は組込み型だけど、あえて「実質的に同じ」コードを書くと、以下になる
var __internal_symbol_table__ = { "foo": "foo" }
ここで新たにシンボル bar が宣言されると、この(JS ランタイム内部に存在する)表は以下のよう変化する
var __internal_symbol_table__ = { "foo": "foo", "bar": "bar" }
JS のシンボルについてあまりに無知すぎるから、以下を読んで勉強したほうがいいね
・Symbolについて - JS.next
http://js-next.hatenablog.com/entry/2014/03/01/001650
この記事内にある「シンボルを登録する」という節で、コンストラクタ Symbol('foo') と
メソッド Symbol.for('foo') との違いが詳しく解説されている
0963デフォルトの名無しさん
2015/02/25(水) 21:38:37.97ID:GuxC04/B0964デフォルトの名無しさん
2015/02/25(水) 21:46:02.29ID:7GkgvnFA>通常のプログラミングでシンボルのせいでメモリが枯渇することはありえないし、
ありえないのなら、シンボルCGの導入も不要だったはずだよね
ところが、ありえる事が明らかになって、深刻な問題であると認識されたのが「シンボルDoS」攻撃(>>872)
「枯渇するまでにはサーバーが再起動されている」とお花畑なこと言ってるくらいだから知らないのだろね
以下で詳しく解説されているから、読んで勉強したほうがいいと思うよ
・(翻訳) Ruby 2.2 のシンボル GC | FIVETEESIXONE
http://fiveteesixone.lackland.io/2015/01/21/symbol-gc-ruby-2-2/
あと以下の箇所は間違いだったから、訂正しておく
X: メモリが枯渇する
O: メモリ確保失敗による実行時エラーが発生する
$ ruby2.1 -e 'p :foo.__id__; 10000000.times {|i| "foo#{i}".to_sym}; p :foo.__id__'
146328
-e:1:in `to_sym': symbol table overflow (symbol foo2094525) (RuntimeError)
>むしろ大規模なRailsアプリで一番の問題だったのは、速度でもメモリ使用量でもなく、ガベージコレクションによる停止時間。
>これもシンボルは直接の原因ではない。
>>928 で書いたのは、シンボルGCが導入された「いきさつ」だよ
それを>>928 の最後に書いたのだけど、読めなかったのかな???(困惑
そして、シンボル以前に Ruby のGC実装そのものに性能問題が多いことは良く知られていたし、
その一方でバージョンアップのたびに問題は改善された
そして遂には他言語を圧倒するほど効率的になったのは、しばらく前にこのスレで話題になったばかり(>>753)
そんな当たり前の話を今さら強調するという感覚がよく分からんな???(大困惑
0965デフォルトの名無しさん
2015/02/25(水) 21:46:06.21ID:flmNpp9d「名前空間」の認識がずれているだけで、同じことを言っているよ。
変数空間は汚さないけれど、Symbol.for() の空間には何かしらを追加している。
もちろん、その空間はリードオンリーの Symbol しか存在しないから、実害はないけれど。
単に、変数空間上にある Symbol.for という名前の Map<string, Symbol> に値を追加すると変わらないという話。
> var Symbol = { "for": "foo" } ってのは例としてはおかしいな。
0966デフォルトの名無しさん
2015/02/25(水) 22:01:20.15ID:9jad7y3g0967デフォルトの名無しさん
2015/02/25(水) 22:19:12.37ID:+Rnlx2S3i=0;while(++i)Symbol.for(i);
とするとメモリが枯渇するよ
0968デフォルトの名無しさん
2015/02/25(水) 22:40:36.83ID:aV8txqsRお前リアルでも相当苦労してそうだな
0969デフォルトの名無しさん
2015/02/25(水) 22:58:39.61ID:+Rnlx2S3やっぱこれが至高なのかね?
0970デフォルトの名無しさん
2015/02/25(水) 23:16:07.34ID:7GkgvnFA>単に記述が簡易なのと
これは「多用される理由」ではなくて、「(文字列の亜種として (>>880))誤用される理由」
>辞書の { キー: 値 } 記法を使ったら嫌でもキーがSymbolになってしまう
これもすでに >>944 が指摘しているけど、{ シンボル => 値 } の単なる構文糖
>メソッドを動的に定義したり取得したりするのにSymbolしか使えないから
シンボルの本質は「ソースコード上の識別子を表す(>>866,928)」なのだから、
メソッドの動的定義で渡すメソッド名としてシンボルを用いるのは、まさに正しい使い方だよ
(>>944 の言う「本来のSymbolの役割」)
これを文字列とシンボルのどちらでもかまわないという(型付けの弱い)発想は、
Ruby プログラミングにおける「暗黙の常識」(>>928) に反している
>書き忘れてたけどRubyでSymbolが多用される大きな理由の一つに「Stringがミュータブルだから」というのがある
>キーとしてミュータブルなオブジェクトを使用すると外から書き換えられてハッシュがぶっ壊れる恐れがあるからね
これまた >>944 が指摘しているように組込みメソッド Object#dup を使う方法があるし、あるいは
もし「イミュータブルなString」が必要ならば組込みメソッド Object#freeze を使えばいい
http://docs.ruby-lang.org/ja/2.2.0/method/Object/i/freeze.html
Object#freeze は String オブジェクト内部の属性値を更新するだけだから、
Object#to_sym のように無駄な Symbol オブジェクト生成もいらない
だから「Stringがミュータブルだから」という理由は間違い
もう少し Ruby について勉強し直してから、出直したほうがいいと思うよ
0971デフォルトの名無しさん
2015/02/25(水) 23:41:20.55ID:7GkgvnFA> もちろん、その空間はリードオンリーの Symbol しか存在しないから、実害はないけれど。
いや、実害が無いのは、シンボル宣言によって消費される名前空間(=シンボル表)を
変数やメソッドが属する一般的な名前空間から分離しているからだよ
そして実害が無いことが重要だ
名前空間の分離という発想が、異なる JS パッケージ間で名前が衝突するという
古い JS 仕様が抱えていた名前汚染問題の解決方法になった
もう少し「JS における名前汚染問題」について勉強したほうがいいと思う
0972デフォルトの名無しさん
2015/02/25(水) 23:51:31.87ID:flmNpp9d名前空間を分離しても、その接続点 (Symbol.for) は固定しているんだろ?
そこから下位構造として名前を生やすのと、実質的に何が違うんだ?
また、実害が無いのは、名前空間が分離しているからではなく、
<string, Symbol>というペアしか配置できないという、型付けがあるからだと述べたはずだ。
本質を理解した議論ができているのか?
もう少し「コミュニケーション」について勉強したほうがいいと思う
0973デフォルトの名無しさん
2015/02/25(水) 23:57:16.81ID:+Rnlx2S3Symbol.forで登録されたシンボルはグローバルを超えて、互いに通信可能な環境全てで共有されないといけない。
ブラウザでは大体の場合通信可能なのは同オリジンのページどうしで、これらは1つのプロセスで動いているから共有も容易。
しかしあるページから別オリジンのページを開いた場合にはChromeではセキュリティのために別プロセスとなっている。
この時開いた先で多数のシンボルを登録すると、開いた元のメモリが増えることを確認した。
0974デフォルトの名無しさん
2015/02/26(木) 00:45:42.62ID:RBoyK9EVこれまでの文脈に沿って、もともとシンボルという概念が
存在しなかった JS において:
「なぜ Symbol という組込み型とメソッド Symbol.for を
後付け(= ES6)で導入しなければならなかったのか?」
という背景(いきさつ)を説明しているだけ
JS ランタイム内部の Symbol 実装は枝葉の議論だと思うし、
その議論を続けたいのなら、自分は興味が無いので落ちるよ
0975デフォルトの名無しさん
2015/02/26(木) 01:06:58.50ID:AyVU2GHwでも最終的に実用上完全には隠蔽されなくなった。
V8の内部的には存在してて内部プロパティの実装用に使われてる。
ES7で採用しようという案もあるけど、プライベートに関してはもっと汎用的な
Relationships改めAbstract Referencesが採用される可能性が高いだろう。
0976デフォルトの名無しさん
2015/02/26(木) 06:01:31.44ID:KjL5S3Us0977デフォルトの名無しさん
2015/02/26(木) 09:00:36.83ID:ZbTpR+xY0978デフォルトの名無しさん
2015/02/26(木) 13:09:15.19ID:8ZdwsKpCLISP
0979デフォルトの名無しさん
2015/02/27(金) 00:53:05.02ID:fEMv6Ymlでも中途半端にパクるもんだから劣化しまくり
シンボルもそう、関数型の機能もそう
0980デフォルトの名無しさん
2015/02/27(金) 13:01:58.88ID:ksgzB1WO0981デフォルトの名無しさん
2015/02/27(金) 21:46:53.43ID:croQRtGo0982デフォルトの名無しさん
2015/02/27(金) 22:22:27.71ID:ksgzB1WORubyで、それ規模のものが書かれたことはないよね。pythonにはあるのに
0983デフォルトの名無しさん
2015/02/27(金) 22:58:35.35ID:v/A3JJUH画面数がバカみたいに多いだけのある意味大規模なドカタWebアプリなら腐るほどあるだろ
0984デフォルトの名無しさん
2015/02/27(金) 23:13:23.09ID:j2kMYDr9今はサーバーサイドはコンパクトに、APIを提供するだけに留まるから問題ない。
0985デフォルトの名無しさん
2015/02/27(金) 23:17:11.34ID:v/A3JJUH現実のWebはDBを触る似たような画面が沢山あるだけのつまらんドカタアプリがほとんどだよ
AJAXなんて専ら入力チェックに使う程度だ
0986デフォルトの名無しさん
2015/02/27(金) 23:19:21.72ID:XIuqZzpl単にその時代に新しく必要とされるものが書かれただけじゃないのか?
例えば、いまさら新言語でオフィススイートをゼロからつくろうとは思わないだろ?
0987デフォルトの名無しさん
2015/02/27(金) 23:49:23.52ID:YR6qNPXJ添削しとく
>JSはLispからもパクってるからね
>でも中途半端にパクるもんだから劣化しまくり
>シンボルもそう、関数型の機能もそう
まさに JS にぴったりだ
Java風の構文で初心者にも使いやすい簡潔な構文の言語として誕生したのに、
ES6 ではシンボル、クラス、モジュールやら追加され肥大化してしまった
>>980
まったくだ、どうして JS はここまで複雑になってしまったのだろね
0988デフォルトの名無しさん
2015/02/28(土) 00:08:00.32ID:dohjXiRJそこに、クラスやモジュールという縛りを導入することで、やっと共通ルールが生まれたと捕らえるべき。
いまの平均的なプログラマの頭だと、クラスベースで、Javaに毛が生えたくらいの機能で十分なんだよ。
これでも、オブジェクト指向が理解できない COBOLer の時代からすれば平均レベルは上がっているだろうけど。
0989デフォルトの名無しさん
2015/02/28(土) 00:13:48.77ID:JYQdrmRYSIerがJavaで作ってたものの大半は、JavaScriptでもっと良いものが作れるしね
0990デフォルトの名無しさん
2015/02/28(土) 00:14:13.96ID:YbcJcEIb> Javaに毛が生えたくらいの機能で十分なんだよ
おいおい、昨今のプログラミング技術の進歩を考えれば、Javaなんて時代遅れもいいとこだぞ
そんなものに毛が生えたもので十分なんて、IT土方以外にはまったく通じないぞ
0991デフォルトの名無しさん
2015/02/28(土) 00:14:59.38ID:BgScRhfiPHPだろうがRailsだろうがJavaだろうがトランザクションの一つ覚え
COBOL時代から根っこは何も変わってないというか、COBOLの偉大さを感じさせられる
0992デフォルトの名無しさん
2015/02/28(土) 00:18:00.11ID:JYQdrmRY考えるだけ時間の無駄だったんだ
0993デフォルトの名無しさん
2015/02/28(土) 00:22:14.64ID:BgScRhfiその気持ちを忘れるなよ
0994デフォルトの名無しさん
2015/02/28(土) 00:22:59.87ID:JYQdrmRYところで、SIerって会社に棄てられたら何するの?
0995デフォルトの名無しさん
2015/02/28(土) 00:27:26.32ID:6Lhyreb3全くの無関係ではないが、JSが自由だったのはプロトタイプベースというより、オブジェクトの連想配列性だと思う。
プロトタイプベースは昔から隠蔽されててES6からようやく本格的に使えるようになった。
例えばhttp://peace.2ch.net/test/read.cgi/hp/1422084185/334みたいなのが本来の「プロトタイプベースらしい」コード。
それにES6のクラスシンタックスは機能が弱いから、それだけ知っておけばいいものではなく、従来型と併用する必要がある。
あくまで糖衣構文に過ぎない。
0996デフォルトの名無しさん
2015/02/28(土) 00:29:41.40ID:BgScRhfi逆に聞くが実装スキルだけあって何ができると思ってるの?
どの業界でも奴隷にしかなれないよ
0997デフォルトの名無しさん
2015/02/28(土) 00:33:39.00ID:6Lhyreb3http://peace.2ch.net/test/read.cgi/tech/1425051187
0998デフォルトの名無しさん
2015/02/28(土) 00:36:18.69ID:JYQdrmRYそれは企業のなかで実装してるだけだからだよ
0999デフォルトの名無しさん
2015/02/28(土) 00:41:16.22ID:BgScRhfi技術だけ見てたいならインフラ行ったほうがいい
1000デフォルトの名無しさん
2015/02/28(土) 00:42:44.72ID:vAVkZjyzRubyはキーワード引数ひとつ取ってみても複雑すぎる
しかも最近導入された機能だから、設計初期にありがちなミスとも違う
こんな複雑な言語そうそう無いよ
def f(*args, kwd: 'keyword')
p args, kwd
end
f(1, 2) #=> [1, 2], "keyword"
f({}, {}) #=> [{}], "keyword" # 引数が1つ消滅。どこに消えた?
f({a: 0}, {b: 1}) # ArgumentError
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。