X



Rubyの設計上の欠点とは何か?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2014/10/12(日) 20:39:59.49ID:Km5KyqRm
Rubyの設計上の欠点を修正した新しい言語「Roovy(仮)」を考えるスレッドです。

【英語圏に優しくない】
使っている単語がそもそもおかしい。stripって何よ、いやらしい。trimだろ。

【C言語ユーザーに優しくない】
論理値の解釈が異常(if 0)。カッコの対応が分かりにくい。

【数値計算のスピードが遅い】
行列演算が遅い。何やってるんだ。

【コンパイルできない】
特異メソッドなど、コンパイルを困難にする言語のため、コンパイルが容易でない。

【デバッグが困難】
assertが無いのはおかしい。デバッグツールが充実していない。
0043デフォルトの名無しさん
垢版 |
2014/10/13(月) 02:08:57.33ID:ln8h/C8p
>>36
リモートデバグ:ruby-debug-ide + 適当なIDEで
エディットコンティニュ:これは知らない
ダンプ出力:まあLinux環境ならRubyに限らず普通にcore吐けば何のプログラムでもできるかと。
Ruby処理系自体かCで書かれた拡張ライブラリのバグ解析に使うという話になるけど
解析:動的解析であればDTraceサポートしてるので使えばいいし、
静的解析は決定版はないけど最近の流行だとrubocopかな

まあ商用の処理系に比べると弱いのは確か。
0046デフォルトの名無しさん
垢版 |
2014/10/13(月) 04:20:24.71ID:EQBky7p/
>>1のあげている欠点がそもそもRubyの捨ててる部分なだけで、Cにメタプログラミングの文法追加しろって言ってるようなもんじゃん

設計思想にある意味特化して、その他取捨選択することで有用な道具を作れるんじゃないですかね

現状、>>1の考えた最強言語なんてつくっても、誰も使わない気しか...

というわけで、糞スレです本当にありがとうございました
0048デフォルトの名無しさん
垢版 |
2014/10/13(月) 05:20:31.09ID:N0C6z9Ad
$/って何だ、と思ったときに検索しても出てこないというのは致命的。
やっぱちゃんとした名前付けるべきかと。
0049デフォルトの名無しさん
垢版 |
2014/10/13(月) 05:28:27.85ID:N0C6z9Ad
Rubyのcase-whenは最悪。ただ、ifやunlessやuntilなどが文の後ろに付けられるのは便利だって思った
0053デフォルトの名無しさん
垢版 |
2014/10/13(月) 12:00:37.68ID:T0FQSr2w
ruby-debug-ideってもう2.1で動くようになったんだっけ?
まあ普通はvimでコード書いて、ブレークしたくなるたびにbinding.pryをソースに書き込んで開発してんだろうな。2014年の今でも。
0054デフォルトの名無しさん
垢版 |
2014/10/13(月) 20:16:49.05ID:rP8n9z06
>>1
>RubyやVisual Basic .NET、Object Pascalは一時的に人気を獲得したが、死んでいくプログラミング言語リストの上位を占めている

VBは死なないだろ、Windowsがある限り。
0055デフォルトの名無しさん
垢版 |
2014/10/13(月) 22:16:09.66ID:RG0JLjLR
Rubyを使って書いたコードは
将来泣きながら他の言語で書き直す羽目になるだろう
0057デフォルトの名無しさん
垢版 |
2014/10/14(火) 14:48:48.02ID:ehQP27NF
>>55 そういうのは出来て3年とかいう言語に対して言うんだよw
20年も経っている言語に対してそんなこと言ってる奴はただのゴミ。
0060デフォルトの名無しさん
垢版 |
2014/10/14(火) 18:59:04.05ID:eeLofpk2
Rubyも最近のC++みたいに、メタプログラミングが高尚みたいな雰囲気があるから
そういうノリで作られた奴は後年は参考にするのも困難だろうな
0061デフォルトの名無しさん
垢版 |
2014/10/14(火) 20:01:42.98ID:ehQP27NF
ねーよ。
メタプログラミングは最後の手段だ(使うな、という意味ではないが)。
0063デフォルトの名無しさん
垢版 |
2014/10/15(水) 07:51:01.76ID:caHw/4to
メタプログラミング用の言語を別に作って
そのメタコードがから ruby や python や C++ のコードを吐けばいい
0064デフォルトの名無しさん
垢版 |
2014/10/15(水) 08:05:12.69ID:9r2s3BnI
Pythonには、同じことをやる方法は一個だけ用意するみたいな風習があるんだっけ
Rubyはcollectとmapみたいなエイリアスが組み込み時点でいろいろあって
Railsに至ってはcountとsizeとlengthが全部あって、しかも内部動作が全く違うカオスが出来てたりするからそういうのはうらやましい
0065デフォルトの名無しさん
垢版 |
2014/10/15(水) 10:36:26.88ID:caHw/4to
>Pythonには、同じことをやる方法は一個だけ用意するみたいな風習があるんだっけ

それ都市伝説
lambda が不完全なのの言い訳
0066デフォルトの名無しさん
垢版 |
2014/10/15(水) 11:30:17.23ID:hrBmyTxM
これだろ ttps://wiki.python.org/moin/TOOWTDI

Ruby業界で言う「驚き最小」みたいなものか?
0069デフォルトの名無しさん
垢版 |
2014/10/16(木) 10:26:06.54ID:qnIoh31O
馬鹿には無理
0072デフォルトの名無しさん
垢版 |
2014/10/17(金) 01:43:16.40ID:2dsrxbSJ
mruby

アプリケーションの組み込み言語で
ホストアプリの側がC++の場合、
組み込み言語の側でもC++でコンパイルできないと
ホスト側とデータの受け渡しや整合性に問題がでてくる。

ホスト側でSTLやboostの正規表現マッチつかってて、
組み込み言語の側で別の動作してるとかだといやだなあ。

あと、長いスクリプトを組むという運用がされなければ
組み込み言語の文法が高機能かどうかって重要じゃないし。
0073デフォルトの名無しさん
垢版 |
2014/10/17(金) 04:32:03.22ID:lMkb3UyL
OSのカーネルや言語処理系は最もコード密度が高い分野。一度もソース読んだ事の無い人にとっては
理解不能な世界。組み込み用のmrubyやJavaScriptですら公開されてるソース読んですぐ理解出来る代物ではない。
だれがどのように保守するかは大きな問題。カーネルや開発者の高齢化問題も発生する。
経済が破綻すればオープンソースは資金調達や人員の確保問題で保守がどうなるか不明なところがある。
そうなると伝統的プロプライエタリなOSや言語が長期的には有利かもしれない。
0076デフォルトの名無しさん
垢版 |
2014/10/20(月) 08:17:20.63ID:eWr20XAi
WindowsのExplorerで「やり直し」と「元に戻す」の機能がありますが
その具体的な内容が判らないので「何をやり直すのか」「何が元に戻るのか」が判りません
XPのときはSP3あたりから編集メニュー上にマウスカーソルを持っていくとステータスバーに内容が表示されていました
Windows7も編集メニューの方ではなくファイル一覧の何もないところで右クリックでコンテキストメニューを出すと
「やり直し」と「元に戻す」があってそこにカーソルを持っていくとステータスバーに出て来るようになりました
Windows8になるとまたエクスプローラーが先祖返りしてステータスバーに何も表示されません
なんでこんな糞設計のまま放置プレイなんでしょうか?
0077デフォルトの名無しさん
垢版 |
2014/10/20(月) 12:44:15.82ID:4QGk34Ml
>>76
スレ違いだけど、クイックアクセスツールバーに
戻るを追加すれば見れるように鳴るよ。
0079デフォルトの名無しさん
垢版 |
2014/10/24(金) 13:31:22.94ID:ev6RGN2+
黒魔術推奨なところ
0080デフォルトの名無しさん
垢版 |
2014/10/25(土) 17:07:58.20ID:8tQAYsJt
小さな組織が大企業を超越するという明確な意志を持たない者にRubyを使うのは難しい
0081デフォルトの名無しさん
垢版 |
2014/10/25(土) 17:37:20.53ID:R7tms6/j
Ruby++になれない
0082デフォルトの名無しさん
垢版 |
2014/10/25(土) 19:42:36.61ID:8tQAYsJt
>>73
もしそうなったら、本末転倒のジョークだよね
プロプライエタリだと資金的に開発不可能になったソフトウェアであっても、
OSSならコードが公開されてるから継続的に開発できるってのがメリットなのに
0083デフォルトの名無しさん
垢版 |
2014/10/25(土) 19:57:29.94ID:mw3xL49H
ユーザなんて無能だからユーザやってるわけで
開発者が放棄したものを引き継げるわけなんかないんだよ
前提がおかしい
0085デフォルトの名無しさん
垢版 |
2014/10/26(日) 11:49:11.71ID:e3VIJFo+
ソフトがたタダからって
開発者がタダで開発してくれるとは
限らないんだよな。
0087デフォルトの名無しさん
垢版 |
2014/10/27(月) 08:44:02.98ID:52HwiArl
最近 OpenSSL の vulnerability が次々に Open になってるのを見ると
OpenSource であることが必ずしもメリットばかりでないことは良く判る
0088デフォルトの名無しさん
垢版 |
2014/10/27(月) 10:38:02.77ID:LftTpzNV
たまたまオープンソースなだけで、そうじゃなくても同じような事になってんじゃないかな。
0089デフォルトの名無しさん
垢版 |
2014/10/27(月) 10:52:53.13ID:pOuq9Cgi
リバースエンジニアリングで穴見つけるのと、
ソース見て穴見つけるのとだと、
後者の方が捗る気がする。
0092デフォルトの名無しさん
垢版 |
2014/10/27(月) 22:16:22.99ID:rk7NPw+1
OpenSSLは読む気がなくなるレベルでクソなコードだったために
オープンソースでありながらクローズドな性質を持っていた
0094デフォルトの名無しさん
垢版 |
2014/10/29(水) 21:08:00.12ID:eAgEZIuE
脆弱性を探すみたいな作業って、地味だし、みんなやりたがらないんじゃないかな
0096デフォルトの名無しさん
垢版 |
2014/10/30(木) 08:44:34.09ID:vMEU4AOF
でもオープンソースの宣伝文句的には、コードがいつも衆目にさらされるから
クソコードはすぐ是正されるんじゃなかったっけ?
0097デフォルトの名無しさん
垢版 |
2014/10/30(木) 09:19:20.44ID:XUDk5/xR
昔はそうだったかも知れないが
最近はクレクレばっかりだよ
いつからこんな風になってしまったのか
0098デフォルトの名無しさん
垢版 |
2014/10/30(木) 10:36:03.10ID:PuHOpT7h
ライブラリやソフトウェアを便利に共有できるようになった弊害かもな
車輪の再発明による経験と知見の獲得の機会が減り
アリモノを利用する以上の技術を持つ奴の割合も減る
0099デフォルトの名無しさん
垢版 |
2014/10/30(木) 11:03:08.10ID:PuHOpT7h
×利用するOSSにバグがあったら報告して修正コードを送る
◯OSSにバグがあったら諦めてググった方法で迂回する

こんなイメージ
0101デフォルトの名無しさん
垢版 |
2014/10/30(木) 11:39:53.86ID:XUDk5/xR
>>99 その通り
ググって違うもの探して終わりとか
文句は言っても自分で治すという発想はない
0103デフォルトの名無しさん
垢版 |
2014/11/01(土) 21:55:34.13ID:OtA6KIlR
ujとかそんな名前のクソコテ居たけどあいつどうしてるんだろうな。
自慢のrubyがこんなになっちまってw
死んだのかな
0104デフォルトの名無しさん
垢版 |
2014/11/02(日) 13:37:03.48ID:o1wy83SR
918: 11/02(日)10:26 ID:gwsCz/b5(1) AAS
pythonに勝ちたいなら、さっさとscirubyの開発進めて欲しい。言語としてrubyが好きでも、pythonに移らざるを得ない
0105デフォルトの名無しさん
垢版 |
2014/11/02(日) 15:29:21.09ID:vxEoPS2x
>>103
ああ、あの、ID がついた直後に連日トップ当選の勢いで活動していた奴か‥
あの情熱的な文章はなかなか書けるものじゃない、今一度読みたいものだ‥
0108uy
垢版 |
2014/11/10(月) 04:49:37.91ID:nN3Hg8Jd
>>103
ha?

今は芸術活動で忙しい

プログラミング言語なんて、大多数の人間が使いやすいちょうど真ん中辺りを通った言語がメジャーになるだけだろ
人は同じことをやってれば慣れて行くわけで
同じ記法はどんどん煩わしくなっていく
ずっと触ってても煩わしくならないのは変幻自在になるアナログアルゴリズムだけだ

六年前、あの時rubyが最も使いやすいと思った俺は、もういない

自分のプログラミング行為こそを主体で考えた時に、自作言語を作る以外に最高効率はない
自作アナログ言語で最高効率を出す
0112uy
垢版 |
2014/11/14(金) 14:33:46.17ID:ihx339kC
プログラマはゴミなのは変わりないけど
世界的に見たらマシな部類だと最近、ちょっとお前らの相対評価が俺の中で上がったよ
俺は世界を作りたいわけで、
プログラマのように少なからず、宇宙の真理だとか、無茶な完璧主義が入った人間の得意分野が
かろうじて俺の知識量とタメはれる程度だから
そういう場所で、突っ張らないで最初から「世界なんて作れるわけないじゃん」とか「恥ずかしい発言したくない」等々で
小さく縮こまって無難な選択しかしなくなった連中は、もはや関わる利点を感じられない
一部キチガイプログラマのように偉大な夢を持ったバカでないと、


"""発言や、プライドの高さに力が追いついてない"""って状況 なんだよ
人を成長させるのは

ここで最初っからプライドが存在しないとか、無難な発言しかしない人間は一見、大人に見えて
それは間違った大人、成長が完全に停止した大人だ、学習することを放棄した大人だ
なぜ自分の発言を先行させてでもやる気を引き出して自分がそこに追いつこうとしないのか

ああ、仕事でできもしないのにできます言うゴミは死すべきだけど
仕事以外の世界においては「できます」が万が一出来なくても大きなリスクにはならないのに
その度胸さえ失ってしまったら、何が残るのだろうか?

小さく縮こまって無難な選択しかしなくなったら、その時点で詰み
お前らはなんなん? 人間か? 俺はもう人ではない。
この立場になってわかるもの、 俺の世界において、「人間」とはプチ強い生命体ってだけで、他の虫や動物と、何ら変わりは無いし
人間はプチ強いっていう要素にさえ気をつけておけば、虫や動物や魚と、同じように人間を扱ってても、大丈夫だということ
ちょっと人外になったつもりで、この世界の人間を観察してみてはどうか?これはきっと、お前らが次へ行くためのステップとなる
0116デフォルトの名無しさん
垢版 |
2014/11/20(木) 20:36:22.45ID:YC7+DKYP
【主な敗因】
1.SEO戦略の間違い。
2.Ruby Enterprise Editionの分断工作に負けた。
3.英語圏の勢力を取り入れることが出来なかった。
0117デフォルトの名無しさん
垢版 |
2014/11/21(金) 22:01:19.85ID:YsynCbdp
ダイナミックロードしようとプログラム書いてると、rubyのヘッダファイルが糞なのが良く分かる
0122デフォルトの名無しさん
垢版 |
2014/12/05(金) 14:41:25.82ID:v8ZX4BwT
d = File.open('hage', &:read)
0123デフォルトの名無しさん
垢版 |
2014/12/05(金) 18:59:25.55ID:vHHMkldd
Rubyのコード、滅茶苦茶寿命が短い
ネットで調べたサンプルコードが動かない
ダメよ〜ダメダメ
0124デフォルトの名無しさん
垢版 |
2014/12/06(土) 04:19:34.73ID:yfR7/TWJ
JSの"use strict"、VBSの"option explicit"のように、
変数宣言を強制してほしい

また、Global,Local変数なども区別してほしい

変数があっても、それが宣言なのか、
以前から存在する変数なのかが、わからない
0126デフォルトの名無しさん
垢版 |
2014/12/06(土) 15:13:51.07ID:viXCL8M/
>>125
ネットで調べたサンプルコード:
  >>> print "Hello world"
  Hello world

では、試してみよう:
  >>> print "Hello world"
   File "<stdin>", line 1
    print "Hello"
         ^
SyntaxError: invalid syntax

たしかに動かないね
0128デフォルトの名無しさん
垢版 |
2014/12/06(土) 20:26:41.39ID:GFN5iMIa
オブジェクト指向してるとインスタンス変数とローカル変数が同じレベルに来るから余計たちわるくねえ?
0137デフォルトの名無しさん
垢版 |
2015/01/04(日) 01:47:15.70ID:bZBwgO8F
Ruby開発者が使わないので「RubySpec」開発終了
http://www.softantenna.com/wp/unknown/ruby-spec-end/

>RubySpecの開発者Brian Shirai氏はブログ記事「Matz’s Ruby Developers Don’t Use
> RubySpec and It’s Hurting Ruby」にてプロジェクトが終了する理由を説明。2014年12月25日に
>リリースされたRuby 2.2.0がRubySpecのテストをパスせず、そればかりか深刻なエラーである
>セグメンテーションフォールトで異常終了すると指摘し、これはMRI (いわゆる本家Ruby)の
>開発者がRubySpecを使ってテストすれば容易に避けられることだとしています。
0138デフォルトの名無しさん
垢版 |
2015/01/04(日) 14:02:32.93ID:u5BdrgSE
フォークして使ってるし、コントリビュートもしてたから今回の件は開発者の質の悪いFUDというのがコミッタ様の見解です。
0139デフォルトの名無しさん
垢版 |
2015/01/04(日) 22:13:55.87ID:F3GLovba
コミッタ様が使ってるのは、フォークして
都合の悪い(後方互換性を壊した所為でエラーになる)テストを取り除いた
去勢されたやつですけどねー


フォークしたバージョンじゃテスト通りますよ(ドヤぁ
じゃねーってのw
0141デフォルトの名無しさん
垢版 |
2015/01/06(火) 01:11:48.59ID:YqjMQmLI
あなた方が頑張って作った互換性確認キットをフォークして使ってます(本家)
とか、別の処理系作ってる人たちにとっては地獄の様な状況だったろうな。
0143デフォルトの名無しさん
垢版 |
2015/01/09(金) 00:06:38.10ID:l933Bszf
頼んでもいないのに合わせようとして何が楽しいのかねえ?
無理に納豆食えなんて言わないよ、悪趣味な
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況