Rubyの設計上の欠点とは何か?
■ このスレッドは過去ログ倉庫に格納されています
Rubyの設計上の欠点を修正した新しい言語「Roovy(仮)」を考えるスレッドです。
【英語圏に優しくない】
使っている単語がそもそもおかしい。stripって何よ、いやらしい。trimだろ。
【C言語ユーザーに優しくない】
論理値の解釈が異常(if 0)。カッコの対応が分かりにくい。
【数値計算のスピードが遅い】
行列演算が遅い。何やってるんだ。
【コンパイルできない】
特異メソッドなど、コンパイルを困難にする言語のため、コンパイルが容易でない。
【デバッグが困難】
assertが無いのはおかしい。デバッグツールが充実していない。 絶滅しそうなプログラミング言語は?
新しいプログラミング言語が人気を得ると、古いプログラミング言語は人気を失いつつも使われ続けるか、死んでいくことになる。
Dice Newsの記事では、死んでいくと予想される5つのプログラミング言語を、最後に書くプログラム「Goodbye, World」のサンプル
コードとともに紹介している。
本家/.「Goodbye, World? 5 Languages That Might Not Be Long For This World」より
http://developers.slashdot.org/story/14/10/09/1453237/goodbye-world-5-languages-that-might-not-be-long-for-this-world
死んだテクノロジーのゴミ箱行きになると予想されるのは、どのプログラミング言語だろうか。Perl 6の開発状況を考えると、
Perlは素晴らしい候補者だ。Perl 6は言語の完全な刷新を目指して2000年に設計が始められたものの、開発は遅々として進んでいない。
RubyやVisual Basic .NET、Object Pascalは一時的に人気を獲得したが、死んでいくプログラミング言語リストの上位を占めている
といえる。開発結果に問題があるか、産業が方向性を変えるか、特定の言語が時代遅れとなる時はいずれやってくる。皆さんは、どの
プログラミング言語が近いうちに絶滅すると考えるだろうか。
このほかDiceの記事では、Adobe FlashとAdobe AIRで使われるActionScriptを候補に挙げている。ActionScriptは実質Flash/AIRでしか
使われていないため、これらの技術が使われなくなれば専用のプログラミング言語も消えていくという話だ。なお、本家/.編集者の
timothy氏は、COBOLが今でも生き残っていることを考えると、PerlやRubyが死につつあるという主張を真剣にとらえることはできないと指摘している。
http://developers.slashdot.jp/story/14/10/10/2155216
---
5 Programming Languages Marked for Death
http://news.dice.com/2014/10/09/5-programming-languages-marked-for-death/
詳細ソース
・Perl
・Ruby
・Visual Basic.NET
・Adobe Flash and AIR
・Delphi’s Object Pascal
http://peace.2ch.net/test/read.cgi/tech/1382307475/940 RubyじゃなくてRailsの問題だが
デザイナーとの協業が難しいという問題がある。
HTML、CSSじゃないものを使ってビューを作るから。 >>3
PHPやHipHopみたいにすると、シェルスクリプトの#!との整合性が失われるのでは? > シェルスクリプトの#!との整合性
それは重要ではないことだ。 >>4
英語圏でRubyの支持が下がっていることに反論をお願いします。 【コンパイルできない】について。
PythonにはCPythonがあるのに、Perlでさえもコンパイルできるのに、Rubyはいつまで待っても
コンパイルできない。Dは、そのままスクリプト言語兼コンパイル言語として使えるのに。
なんでか? コンパイルすると性能が低いことがバレるから。
遅いのはコンパイルしない言語だからだ
ということにしたい。 - Pythonにサヨナラを
http://postd.cc/saying-goodbye-to-python/
> Pythonでコーディングし始めて1万時間ほどに達したでしょうか。Pasteの教訓からライブラリ設計のヒントを得てWebObを記述しました。(略)
> しかし、なぜか私のツールで最大の成功を収めたのがvirtualenvとpipでした。(略)
> データベースを使ったWebサイトやHTTPベースの動的なWebアプリケーション、テンプレートやデプロイメントといったRESTと呼ばれる部類のものには将来性を感じられず、
> 自分が探し求めてきたものなど存在しないかのようでした。
> こうしてJavaScriptやブラウザやDOMに目を向け始めたのです。
> 私がMozillaに加わったのはPythonから離れる少し前です。 >>6
ファイルの最初に#!があるやつを特別扱いすればいいな >>11
> HTML、CSSじゃないものを使ってビューを作るから。
って話をしているのに、何的はずれなこと言ってんの? RubyってCで書かれてるんだよね?
C++やDで書き直したら性能が向上するんじゃね? >>12
shebang使いたいやつだけ使えばいい。使う場合はHTML互換ではないという前提で。 >14
だからさ、今はビューの話してんの。
わからないならでてくるなよ。 Rubyで書かれたコードは負債
将来後悔することになる ググった。.html.erbでテンプレート書いてビューでパラメーターを用意して
レンダリングだろ?
やっぱ拡張子は別の方がいいな。
.rov
.rov.html
とかな。 PHPとRoRを足して2で割ったものを作ればいいかな PHPみたいに拡張モジュールがたくさんあって関数呼べばすぐ使えるというのはいい。
ただ、PHPのオブジェクト指向は$this->を多用するから好きではない。 ローカル変数とメソッド呼び出しが区別できないバグがある件な 定番コピペ
--
・Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1
> 48 : デフォルトの名無しさん : 2011/11/13(日) 08:30:25.68
> 44
> Zopeが登場した当時、「RDB+PHPはもう古い、これからはOODB+ZopeがWebの中軸になる!」と
> さかんに宣伝され、雑誌でもZope特集が組まれていた
> 少なくとも自分はZopeからPythonという言語を知ったし、その時点でRubyは知らなかった
> そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう
> 今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい
> djangoとCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう
> しかしRailsはRailsでコミュニティの活動が活発だし、その進化は異常に早い
> Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoやCakePHPから
> 何かのイノベーションが提示されでもされない限り、後発のdjangoやCakePHPがRailsに追いつくのは無理
> Railsは決して技術的に完璧なWebフレームワークではないんだけどね....(たとえばSeaSideのような.... )
> だからこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている 新言語Rovyではメソッド呼び出しに必ず!か?を付ける。
!は破壊的で?は非破壊的。
?はC++のconstメソッドと同じ。 zopeとは何だったのか
いや、それ以上にzopeへリソースを使った人達は何だったのか Rovyでは、インスタンス変数に@ではなく.をつける。 なんでそんなに記号が好きなのか?
記号がなくても成り立ってる言語があるのにな。 以下の URL が NG ワードとして規制されているらしい
よほど >>1 にとっては >>24 の定番コピペが嫌みたいだね
スレタイでググルとネットでも人気の記事らしい
http://a n o n d.h a t e l a b o.jp/2012 0118 2202 04
# URL 文字列中の半角空白を取り除くと、ソース(コピペ元)を参照できる
# あるいはスレタイでググルと先頭にでる Rovyでは変数は、キーワードvarを使って宣言できる。
explicit var文により、varの使用を強制できる。
Rovyでは変数にはキーワードasを使って型ヒントを書くことができる。
explicit type文により、型ヒントを強制できる。 s/explicit/strict/
strictとtypeはRovyのキーワード。 Rovyでは、ブロックのまとまりはC言語と同様に{}を使う。
# 破壊的メソッドf!。
def f! a,b {
.a = a
.b = b
}
# 非破壊的メソッドg?
def g? {
.a = 0 #エラー
} var .a as int
var .b
def f! a as int, b {
.a = a
.b = b
return 0
}
asとdefとreturnはRovyのキーワード。 >>29
めんどくせーよ。スペース入れるなら一箇所だけにしろや
http://anond.hate labo.jp/20120118220204 >デバッグツールが充実していない。
rubyってどんなデバッグツールがあるのか知りたい
リモートデバッグ・エディットコンティニュ・ダンプ出力・解析とか普通に出来るの? Rovyでは、行がカンマで終わった場合は次の行をつなげて解釈する。 Rovyは、
try {...} catch {...}
try {...} catch my_exception {...}
try {...} catch my_exception as MyException {...}
のいずれかで、例外を捕捉できる。tryとcatchはRovyのキーワード。 C++のswitch-caseに相当するRovyの制御構造は、case-by-caseであり、次のような構文である。
case by n {
case 0:
...
thru
case 1,2,3:
...
default:
...
}
case,thru,by,defaultはRovyのキーワード。 s/def/fn/
Rovyは任意のブロック内部に
catch:
catch my_exception:
catch my_exception as MyException:
を書くことができる。 ・Rubyを知らないと読めないガラパゴし言語。pとputsとprintと種類がありすぎ。
・ブロックの締めがendなのでたくさんendが書いてあるだけで読みづらい。 >>36
リモートデバグ:ruby-debug-ide + 適当なIDEで
エディットコンティニュ:これは知らない
ダンプ出力:まあLinux環境ならRubyに限らず普通にcore吐けば何のプログラムでもできるかと。
Ruby処理系自体かCで書かれた拡張ライブラリのバグ解析に使うという話になるけど
解析:動的解析であればDTraceサポートしてるので使えばいいし、
静的解析は決定版はないけど最近の流行だとrubocopかな
まあ商用の処理系に比べると弱いのは確か。 Luaの可読性を高めた言語を作ればRuby要らない希ガス >>1のあげている欠点がそもそもRubyの捨ててる部分なだけで、Cにメタプログラミングの文法追加しろって言ってるようなもんじゃん
設計思想にある意味特化して、その他取捨選択することで有用な道具を作れるんじゃないですかね
現状、>>1の考えた最強言語なんてつくっても、誰も使わない気しか...
というわけで、糞スレです本当にありがとうございました >>46
満足したらもう来ないでね。
あなた無しで進行するからw $/って何だ、と思ったときに検索しても出てこないというのは致命的。
やっぱちゃんとした名前付けるべきかと。 Rubyのcase-whenは最悪。ただ、ifやunlessやuntilなどが文の後ろに付けられるのは便利だって思った SQLのバグは解決したのか?
Ajaxとの親和性は? switch {
case if (a<0):
//何らかの処理
break;
case if (a==0):
//
...
}
みたいな文法が追加されないものか。
http://peace.2ch.net/test/read.cgi/tech/1412495628/54 ruby-debug-ideってもう2.1で動くようになったんだっけ?
まあ普通はvimでコード書いて、ブレークしたくなるたびにbinding.pryをソースに書き込んで開発してんだろうな。2014年の今でも。 >>1
>RubyやVisual Basic .NET、Object Pascalは一時的に人気を獲得したが、死んでいくプログラミング言語リストの上位を占めている
VBは死なないだろ、Windowsがある限り。 Rubyを使って書いたコードは
将来泣きながら他の言語で書き直す羽目になるだろう >>55 そういうのは出来て3年とかいう言語に対して言うんだよw
20年も経っている言語に対してそんなこと言ってる奴はただのゴミ。 twitterのプログラマ泣きながら修正していたぞ Rubyも最近のC++みたいに、メタプログラミングが高尚みたいな雰囲気があるから
そういうノリで作られた奴は後年は参考にするのも困難だろうな ねーよ。
メタプログラミングは最後の手段だ(使うな、という意味ではないが)。 メタプログラミング用の言語を別に作って
そのメタコードがから ruby や python や C++ のコードを吐けばいい Pythonには、同じことをやる方法は一個だけ用意するみたいな風習があるんだっけ
Rubyはcollectとmapみたいなエイリアスが組み込み時点でいろいろあって
Railsに至ってはcountとsizeとlengthが全部あって、しかも内部動作が全く違うカオスが出来てたりするからそういうのはうらやましい >Pythonには、同じことをやる方法は一個だけ用意するみたいな風習があるんだっけ
それ都市伝説
lambda が不完全なのの言い訳 これだろ ttps://wiki.python.org/moin/TOOWTDI
Ruby業界で言う「驚き最小」みたいなものか? Ruby がダメなら COBOL を使えばいいじゃない a.out を手当たり次第 strip した思い出 mruby
アプリケーションの組み込み言語で
ホストアプリの側がC++の場合、
組み込み言語の側でもC++でコンパイルできないと
ホスト側とデータの受け渡しや整合性に問題がでてくる。
ホスト側でSTLやboostの正規表現マッチつかってて、
組み込み言語の側で別の動作してるとかだといやだなあ。
あと、長いスクリプトを組むという運用がされなければ
組み込み言語の文法が高機能かどうかって重要じゃないし。 OSのカーネルや言語処理系は最もコード密度が高い分野。一度もソース読んだ事の無い人にとっては
理解不能な世界。組み込み用のmrubyやJavaScriptですら公開されてるソース読んですぐ理解出来る代物ではない。
だれがどのように保守するかは大きな問題。カーネルや開発者の高齢化問題も発生する。
経済が破綻すればオープンソースは資金調達や人員の確保問題で保守がどうなるか不明なところがある。
そうなると伝統的プロプライエタリなOSや言語が長期的には有利かもしれない。 Rubyは他言語を理解できないバカ専用の言語だろ? WindowsのExplorerで「やり直し」と「元に戻す」の機能がありますが
その具体的な内容が判らないので「何をやり直すのか」「何が元に戻るのか」が判りません
XPのときはSP3あたりから編集メニュー上にマウスカーソルを持っていくとステータスバーに内容が表示されていました
Windows7も編集メニューの方ではなくファイル一覧の何もないところで右クリックでコンテキストメニューを出すと
「やり直し」と「元に戻す」があってそこにカーソルを持っていくとステータスバーに出て来るようになりました
Windows8になるとまたエクスプローラーが先祖返りしてステータスバーに何も表示されません
なんでこんな糞設計のまま放置プレイなんでしょうか? >>76
スレ違いだけど、クイックアクセスツールバーに
戻るを追加すれば見れるように鳴るよ。 小さな組織が大企業を超越するという明確な意志を持たない者にRubyを使うのは難しい >>73
もしそうなったら、本末転倒のジョークだよね
プロプライエタリだと資金的に開発不可能になったソフトウェアであっても、
OSSならコードが公開されてるから継続的に開発できるってのがメリットなのに ユーザなんて無能だからユーザやってるわけで
開発者が放棄したものを引き継げるわけなんかないんだよ
前提がおかしい 別にソフトウェアのユーザがエンドユーザとは限らないんだけど ソフトがたタダからって
開発者がタダで開発してくれるとは
限らないんだよな。 そうとは限らないだけで、必要ならやってくれるんだよ 最近 OpenSSL の vulnerability が次々に Open になってるのを見ると
OpenSource であることが必ずしもメリットばかりでないことは良く判る たまたまオープンソースなだけで、そうじゃなくても同じような事になってんじゃないかな。 リバースエンジニアリングで穴見つけるのと、
ソース見て穴見つけるのとだと、
後者の方が捗る気がする。 OpenSSLは読む気がなくなるレベルでクソなコードだったために
オープンソースでありながらクローズドな性質を持っていた 脆弱性を探すみたいな作業って、地味だし、みんなやりたがらないんじゃないかな Googleみたいに金と人あまってるところが
研究と称して穴ほじくってる感じ でもオープンソースの宣伝文句的には、コードがいつも衆目にさらされるから
クソコードはすぐ是正されるんじゃなかったっけ? 昔はそうだったかも知れないが
最近はクレクレばっかりだよ
いつからこんな風になってしまったのか ライブラリやソフトウェアを便利に共有できるようになった弊害かもな
車輪の再発明による経験と知見の獲得の機会が減り
アリモノを利用する以上の技術を持つ奴の割合も減る ×利用するOSSにバグがあったら報告して修正コードを送る
◯OSSにバグがあったら諦めてググった方法で迂回する
こんなイメージ バグを報告して修正コードを送っても老害が立ち塞がって却下するしw >>99 その通り
ググって違うもの探して終わりとか
文句は言っても自分で治すという発想はない ujとかそんな名前のクソコテ居たけどあいつどうしてるんだろうな。
自慢のrubyがこんなになっちまってw
死んだのかな 918: 11/02(日)10:26 ID:gwsCz/b5(1) AAS
pythonに勝ちたいなら、さっさとscirubyの開発進めて欲しい。言語としてrubyが好きでも、pythonに移らざるを得ない >>103
ああ、あの、ID がついた直後に連日トップ当選の勢いで活動していた奴か‥
あの情熱的な文章はなかなか書けるものじゃない、今一度読みたいものだ‥ >>103
ha?
今は芸術活動で忙しい
プログラミング言語なんて、大多数の人間が使いやすいちょうど真ん中辺りを通った言語がメジャーになるだけだろ
人は同じことをやってれば慣れて行くわけで
同じ記法はどんどん煩わしくなっていく
ずっと触ってても煩わしくならないのは変幻自在になるアナログアルゴリズムだけだ
六年前、あの時rubyが最も使いやすいと思った俺は、もういない
自分のプログラミング行為こそを主体で考えた時に、自作言語を作る以外に最高効率はない
自作アナログ言語で最高効率を出す >>105
多分だけど、ID付随直後にアク禁レベルの連投してたのは俺だよ 【ネット】「靖国問題を書いたら炎上。700以上のコメント、IPを調べたらたった4人だった」…ネットで炎上を煽るノイジーマイノリティ
http://daily.2ch.net/test/read.cgi/newsplus/1415758196/ プログラマはゴミなのは変わりないけど
世界的に見たらマシな部類だと最近、ちょっとお前らの相対評価が俺の中で上がったよ
俺は世界を作りたいわけで、
プログラマのように少なからず、宇宙の真理だとか、無茶な完璧主義が入った人間の得意分野が
かろうじて俺の知識量とタメはれる程度だから
そういう場所で、突っ張らないで最初から「世界なんて作れるわけないじゃん」とか「恥ずかしい発言したくない」等々で
小さく縮こまって無難な選択しかしなくなった連中は、もはや関わる利点を感じられない
一部キチガイプログラマのように偉大な夢を持ったバカでないと、
"""発言や、プライドの高さに力が追いついてない"""って状況 なんだよ
人を成長させるのは
ここで最初っからプライドが存在しないとか、無難な発言しかしない人間は一見、大人に見えて
それは間違った大人、成長が完全に停止した大人だ、学習することを放棄した大人だ
なぜ自分の発言を先行させてでもやる気を引き出して自分がそこに追いつこうとしないのか
ああ、仕事でできもしないのにできます言うゴミは死すべきだけど
仕事以外の世界においては「できます」が万が一出来なくても大きなリスクにはならないのに
その度胸さえ失ってしまったら、何が残るのだろうか?
小さく縮こまって無難な選択しかしなくなったら、その時点で詰み
お前らはなんなん? 人間か? 俺はもう人ではない。
この立場になってわかるもの、 俺の世界において、「人間」とはプチ強い生命体ってだけで、他の虫や動物と、何ら変わりは無いし
人間はプチ強いっていう要素にさえ気をつけておけば、虫や動物や魚と、同じように人間を扱ってても、大丈夫だということ
ちょっと人外になったつもりで、この世界の人間を観察してみてはどうか?これはきっと、お前らが次へ行くためのステップとなる 【主な敗因】
1.SEO戦略の間違い。
2.Ruby Enterprise Editionの分断工作に負けた。
3.英語圏の勢力を取り入れることが出来なかった。 ダイナミックロードしようとプログラム書いてると、rubyのヘッダファイルが糞なのが良く分かる ruby自信を他のアプリに組み込みにくいって事なのかな?よく知らんけど。 d = File.open('hage', &:read) Rubyのコード、滅茶苦茶寿命が短い
ネットで調べたサンプルコードが動かない
ダメよ〜ダメダメ JSの"use strict"、VBSの"option explicit"のように、
変数宣言を強制してほしい
また、Global,Local変数なども区別してほしい
変数があっても、それが宣言なのか、
以前から存在する変数なのかが、わからない >>125
ネットで調べたサンプルコード:
>>> print "Hello world"
Hello world
では、試してみよう:
>>> print "Hello world"
File "<stdin>", line 1
print "Hello"
^
SyntaxError: invalid syntax
たしかに動かないね >>124
ちゃんとオブジェクト志向してればそんなの気にする必要無いはず オブジェクト指向してるとインスタンス変数とローカル変数が同じレベルに来るから余計たちわるくねえ? >>128
ruby触ったことある?
インスタン変数は@で呼び出すんですよ? Perlの、use strictやmy取り込めば良かったのに https://github.com/matz/streem
ブロックの表記に決まってんだろ
matzが新しく作った言語はbraced blockだぜ
endの良さを語ってくれたクソカスの諸君気分はどうだい 誰でもいいからbashやzshを超えるシェルをですね PowerShellって、確かLinuxにも移植しようって人達がいたはず 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を使ってテストすれば容易に避けられることだとしています。 フォークして使ってるし、コントリビュートもしてたから今回の件は開発者の質の悪いFUDというのがコミッタ様の見解です。 コミッタ様が使ってるのは、フォークして
都合の悪い(後方互換性を壊した所為でエラーになる)テストを取り除いた
去勢されたやつですけどねー
フォークしたバージョンじゃテスト通りますよ(ドヤぁ
じゃねーってのw ちげーよMRIが仕様なんだ
勝手に毛唐が振る舞いを定めるな
殺されたいのか あなた方が頑張って作った互換性確認キットをフォークして使ってます(本家)
とか、別の処理系作ってる人たちにとっては地獄の様な状況だったろうな。 いつまで「おれの妄想した地獄」に浸ってるんだこのバカw 頼んでもいないのに合わせようとして何が楽しいのかねえ?
無理に納豆食えなんて言わないよ、悪趣味な gemsが一回で通らないの多すぎる
時間が経つにつれて改善されるどころか酷くなった
まぁrubyコミッタのせいじゃないけど
コミッタがカスなら献身的な人は他いっちゃうよ スクリプトなんて書捨て上等なんだから
それ使ってライブラリ書いて上に積みあげていくなんて最初から破綻しとる せめてるびまで紹介してるようなgemsくらい
一回で通るようにしろよって感じ
みんな無駄な時間など使いたくねーんですよ 通るってなんだ?
ちょっとしたツールでも数個、Railsアプリだと数十使うわけだけど、
そんなに困った事ないけどなあ。 今からわざわざrubyやるって人は終わっていると思う
馬鹿でしょ rubyは確かに凄いけど需要の外側の凄さだよ
特にメタプログラミングするにあたってこれ以上の言語は無いけど
メタプログラミング自体が使いどころ選び過ぎて
今どきは一つの言語の中から自作言語作って走らせるような真似するより外部プラグイン導入ってスタイル >>73
経済が破綻したら、真っ先にプロプライエタリが潰れる件。 ストップイテレーションwwwwwwwwwwwwwwwww
StopIteration
wwwwwwwwwwwwwwwwwwwwwwwwwwww Enumerable弄ってるとFiber周りにいつも不安を感じる
何かが1個ズレているのではなかろうか
Fiberの最初のresumeが・・・引数の・・・初期化・・・?
要素廻し終わってその後にくる例外、StopIteration・・・?
何だかこの辺の実装のせいでprevが無い気がする Rubyをゴリ押しして一人プロジェクトやってた人が逃げた
無茶振りされた俺、RubyMineのデバッガの遅さに泣く
Rubyやりたいなんて一言も言ってないのに プログラミングRubyのRubyベタボメっぷりにRubyを使い始めて早10数年、使えば使う程にRubyって駄目だなと痛感する
Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする
しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない
1.4時代のコードが1.6になった途端に互換性がなくなり動かなくなることはあったが、1.6→1.8ではそれが顕著になり、1.9など何のエラーも出さずに前のコードが動く方が珍しいほど
それどころか1.9に行かずREEが海外ではデファクトになりつつある現状、そして始まるPlain RubyとREEの方言問題
例えばPassengerもREEの方がうまく動いたり、かと思えば特定のバージョンだとPlainじゃないとまともに動かなかったりと、とても面倒臭い
美しいコードを求める為の副作用、という名の互換性のなさはRuby界全体に蔓延していて
例えばあれだけもてはやされたRailsも、Rails2とRails3の互換性のなさに誰しも苦労したのは記憶に新しいところ
誰もが互換性のなさに辟易し、俺ライブラリを量産するため、gemで探すと似たような事をする終わったプロジェクトがわんさか引っかかる
諸処の小さなプロジェクトだけがそんな現状ならば許せるが、dbiアダプタでさえそんな現状なので
バージョンが変わるとデータベースにすら接続できなくなったとか、dbiのAPIバージョン変わったのにアダプタ側の更新ないな、
とか思ってるとアダプタ作者がRubyから足洗ってたとか余裕
身内同士でRubyはコードが美しいと四六時中自画自賛しているが、実はそれこそがRubyのガン
その美しいコードという名のオナニーの為に一体どれだけの互換性と人的リソースが失われていったことか
Rubyのコードは美しい、Railsスゲー、ベタボメする人は沢山いたがいつも一過性の人気しか得られないのはそこにあるし
ベタボメしていた人達もしばらくするとウンザリしてRuby界から消えてしまうのも原因は実はそこにある
達人プログラマーはRubyをベタボメしなくなったし、Mongrel作者はRailsどころかRubyに見切りをつけちゃったしね
ああいう熱狂的なRuby信者でもRubyから足を洗っているのを見ると、tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる ちょうどここ見てた
最高のプログラミング言語(または私は如何にして心配するのを止めてコードを愛するようになったか)
http://postd.cc/the-best-programming-language-or-how-to-stop-worrying-and-love-the-code/
> Ruby on Rails。Rubyがこのリストに名を連ねた理由は、これがすべてです。 hashテーブルが追加された順序を保持するらしいので後ろからi番目の要素を取り出そうと思ってもそれをするメソッドがなくないですか? >165
効率を犠牲にせずにそんなもんがネイティブに実装されている言語を教えてくれよ TOUA って、社員300人いる会社で、ハローワークで社員募集していた
>>161
Pythonでも、要素が尽きると、__next__() が、StopIteration 例外を送出する
>>165-166
ordered Hash Map >>167
>常駐型のシステムエンジニア派遣事業を主体
これで何やったら倒産するんだと思ったら
女性金でズブズブになってたんだな rubyはさぞかし素晴らしいんだろうとソースコード読んで勉強しようとしたら、クソ過ぎてワロタ 何のクラスのインスタンスかを当てると賞金がもらえるゲーム 設計・実装が自由すぎて大規模プロジェクトでは向いてない。いちいち細かいとこで議論したくないんだよなぁ。
小規模なスタートアップなら悪くはないがバージョンアップのこととかもあるし
拡張・継続メンテしていくならない Ruby自体がゴミ。作ったやつもそう言ってる。
やるんじゃなかった。
結局自分の手で作って、自分の手で葬る。
バカの骨頂。底辺はこのプログラムはもう使うなよ?著作権侵害になるからな。 >>177
たしかに、こんな Hello world 課題ですら後方互換性を断絶するようでは、
「拡張・継続メンテしていく(きには)ならない」よね
>>128 rubyはサブ言語(開発時のテスト自動化とか、データ作成自動化とか)か
小規模だけど高速リリースが求められる際に選ぶ言語であって
たとえばある程度の規模があるアプリ(画面数100超)でのメインの言語としては選びにくい
pythonも似たようなもんだが、pythonはなんつーかJavaっぽいところがあるというか
書き手優先というか、Caller側の「驚き最小の法則」をシカトすることがあるから
(先日subprocess.Popenのuniversal_newlineがtrueかfalseかでBufferedReaderになるかTextWrappedIOになるかに刺された)
敢えて使いたいとは思わない TextWrappedIOじゃなかったかもしれんが、なんかそんなの、なんだっけアレ じゃ、俺がまとめてあげると
Rubyは使い捨てスクリプト用ってことだね perlの後継者はruby
決してpythonではない 誤解されそうなので追加
perlと一緒に死んでくれ pythonが嫌いなのは、ワンライナーを書くのにえらい難儀するのでパイプラインの途中に入れられない
だからperlかrubyを覚えるしかない。awkでできる範囲ならそれでもいいけど >>181
それであってる
使い捨てなんだけど量産が必要ならrubyはイケてる
使い捨てじゃないならたぶんC#かJavaかCかC++使うだろうし…… 正直、いまだ2系と3系が分離してるうえ
たとえばアプリ組込pythonがあと10年足を引きずりそうなpythonに関しては興味がない
組み込みpytyon2の例: 3Dなmaya
2020年にサポート終了であとは3系ばっかり、なんて状況はおそらくありえん
……俺んところにきたら断るつもり、クソめんどくさい 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
2PKQU しかし機械学習の神風はすごかったというか、書店なんかあっという間にPython
コーナーがRubyのそれの何倍かになっちゃった印象だよね
RubyにもNumRubyとかPandasRubyがあればよかったのに RubyとPython なぜ差がついたか?
(Rails流行の)慢心、(機械学習開発)環境の差 機械学習でPython覚えた層は他の自動化とかスクリプト使った業務でも慣れたPython使うだろうからもうRuby死んだも同然だな
いまから覚えるやついねえだろ ■ このスレッドは過去ログ倉庫に格納されています