-
プログラム
-
Rubyの設計上の欠点とは何か?
-
UPLIFTで広告なしで体験しましょう!快適な閲覧ライフをお約束します!
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.sl...-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.sl...ory/14/10/10/2155216
---
5 Programming Languages Marked for Death
http://news.dice.com...es-marked-for-death/
詳細ソース
・Perl
・Ruby
・Visual Basic.NET
・Adobe Flash and AIR
・Delphi’s Object Pascal
http://peace.2ch.net.../tech/1382307475/940 -
RubyじゃなくてRailsの問題だが
デザイナーとの協業が難しいという問題がある。
HTML、CSSじゃないものを使ってビューを作るから。 -
まーたアホが思いつきでスレを立てやがって
-
>>3
PHPやHipHopみたいにすると、シェルスクリプトの#!との整合性が失われるのでは? -
> シェルスクリプトの#!との整合性
それは重要ではないことだ。 -
>>4
英語圏でRubyの支持が下がっていることに反論をお願いします。 -
【コンパイルできない】について。
PythonにはCPythonがあるのに、Perlでさえもコンパイルできるのに、Rubyはいつまで待っても
コンパイルできない。Dは、そのままスクリプト言語兼コンパイル言語として使えるのに。
なんでか? -
コンパイルすると性能が低いことがバレるから。
遅いのはコンパイルしない言語だからだ
ということにしたい。 -
- Pythonにサヨナラを
http://postd.cc/sayi...g-goodbye-to-python/
> Pythonでコーディングし始めて1万時間ほどに達したでしょうか。Pasteの教訓からライブラリ設計のヒントを得てWebObを記述しました。(略)
> しかし、なぜか私のツールで最大の成功を収めたのがvirtualenvとpipでした。(略)
> データベースを使ったWebサイトやHTTPベースの動的なWebアプリケーション、テンプレートやデプロイメントといったRESTと呼ばれる部類のものには将来性を感じられず、
> 自分が探し求めてきたものなど存在しないかのようでした。
> こうしてJavaScriptやブラウザやDOMに目を向け始めたのです。
> 私がMozillaに加わったのはPythonから離れる少し前です。 -
>>6
ファイルの最初に#!があるやつを特別扱いすればいいな -
RubyってCで書かれてるんだよね?
C++やDで書き直したら性能が向上するんじゃね? -
>>12
shebang使いたいやつだけ使えばいい。使う場合はHTML互換ではないという前提で。 -
Rubyについて(アンチ専用) Part004
http://peace.2ch.net...cgi/tech/1249737531/ -
>14
だからさ、今はビューの話してんの。
わからないならでてくるなよ。 -
Rubyで書かれたコードは負債
将来後悔することになる -
ググった。.html.erbでテンプレート書いてビューでパラメーターを用意して
レンダリングだろ?
やっぱ拡張子は別の方がいいな。
.rov
.rov.html
とかな。 -
PHPとRoRを足して2で割ったものを作ればいいかな
-
PHPみたいに拡張モジュールがたくさんあって関数呼べばすぐ使えるというのはいい。
ただ、PHPのオブジェクト指向は$this->を多用するから好きではない。 -
ローカル変数とメソッド呼び出しが区別できないバグがある件な
-
python
-
zope
-
定番コピペ
--
・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では、インスタンス変数に@ではなく.をつける。
-
なんでそんなに記号が好きなのか?
記号がなくても成り立ってる言語があるのにな。 -
>>1で挙げられてる問題?ってどうでも良くね?
-
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のキーワード。 -
>デバッグツールが充実していない。
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:
を書くことができる。 -
s/as/@/
-
・Rubyを知らないと読めないガラパゴし言語。pとputsとprintと種類がありすぎ。
・ブロックの締めがendなのでたくさんendが書いてあるだけで読みづらい。 -
>>36
リモートデバグ:ruby-debug-ide + 適当なIDEで
エディットコンティニュ:これは知らない
ダンプ出力:まあLinux環境ならRubyに限らず普通にcore吐けば何のプログラムでもできるかと。
Ruby処理系自体かCで書かれた拡張ライブラリのバグ解析に使うという話になるけど
解析:動的解析であればDTraceサポートしてるので使えばいいし、
静的解析は決定版はないけど最近の流行だとrubocopかな
まあ商用の処理系に比べると弱いのは確か。 -
Enterprise Rubyは分裂工作
-
Luaの可読性を高めた言語を作ればRuby要らない希ガス
-
$/って何だ、と思ったときに検索しても出てこないというのは致命的。
やっぱちゃんとした名前付けるべきかと。 -
Rubyのcase-whenは最悪。ただ、ifやunlessやuntilなどが文の後ろに付けられるのは便利だって思った
-
SQLのバグは解決したのか?
Ajaxとの親和性は? -
右に寄ってる
-
switch {
case if (a<0):
//何らかの処理
break;
case if (a==0):
//
...
}
みたいな文法が追加されないものか。
http://peace.2ch.net...i/tech/1412495628/54 -
ruby-debug-ideってもう2.1で動くようになったんだっけ?
まあ普通はvimでコード書いて、ブレークしたくなるたびにbinding.pryをソースに書き込んで開発してんだろうな。2014年の今でも。 -
>>1
>RubyやVisual Basic .NET、Object Pascalは一時的に人気を獲得したが、死んでいくプログラミング言語リストの上位を占めている
VBは死なないだろ、Windowsがある限り。 -
Rubyを使って書いたコードは
将来泣きながら他の言語で書き直す羽目になるだろう -
>>48
English ってライブラリがある -
>>55 そういうのは出来て3年とかいう言語に対して言うんだよw
20年も経っている言語に対してそんなこと言ってる奴はただのゴミ。 -
twitterのプログラマ泣きながら修正していたぞ
-
>>57
D -
Rubyも最近のC++みたいに、メタプログラミングが高尚みたいな雰囲気があるから
そういうノリで作られた奴は後年は参考にするのも困難だろうな -
ねーよ。
メタプログラミングは最後の手段だ(使うな、という意味ではないが)。 -
Rails含めて互換性の無さが酷いからな
-
メタプログラミング用の言語を別に作って
そのメタコードがから ruby や python や C++ のコードを吐けばいい -
Pythonには、同じことをやる方法は一個だけ用意するみたいな風習があるんだっけ
Rubyはcollectとmapみたいなエイリアスが組み込み時点でいろいろあって
Railsに至ってはcountとsizeとlengthが全部あって、しかも内部動作が全く違うカオスが出来てたりするからそういうのはうらやましい -
>Pythonには、同じことをやる方法は一個だけ用意するみたいな風習があるんだっけ
それ都市伝説
lambda が不完全なのの言い訳 -
実際使ってみると Ruby も驚きの連続な訳で
-
Ruby がダメなら COBOL を使えばいいじゃない
-
馬鹿には無理
-
ゴミ言語の改良は不可能だと思う。
-
a.out を手当たり次第 strip した思い出
-
mruby
アプリケーションの組み込み言語で
ホストアプリの側がC++の場合、
組み込み言語の側でもC++でコンパイルできないと
ホスト側とデータの受け渡しや整合性に問題がでてくる。
ホスト側でSTLやboostの正規表現マッチつかってて、
組み込み言語の側で別の動作してるとかだといやだなあ。
あと、長いスクリプトを組むという運用がされなければ
組み込み言語の文法が高機能かどうかって重要じゃないし。 -
OSのカーネルや言語処理系は最もコード密度が高い分野。一度もソース読んだ事の無い人にとっては
理解不能な世界。組み込み用のmrubyやJavaScriptですら公開されてるソース読んですぐ理解出来る代物ではない。
だれがどのように保守するかは大きな問題。カーネルや開発者の高齢化問題も発生する。
経済が破綻すればオープンソースは資金調達や人員の確保問題で保守がどうなるか不明なところがある。
そうなると伝統的プロプライエタリなOSや言語が長期的には有利かもしれない。 -
確かにそうなんだろうな
-
Rubyは他言語を理解できないバカ専用の言語だろ?
-
WindowsのExplorerで「やり直し」と「元に戻す」の機能がありますが
その具体的な内容が判らないので「何をやり直すのか」「何が元に戻るのか」が判りません
XPのときはSP3あたりから編集メニュー上にマウスカーソルを持っていくとステータスバーに内容が表示されていました
Windows7も編集メニューの方ではなくファイル一覧の何もないところで右クリックでコンテキストメニューを出すと
「やり直し」と「元に戻す」があってそこにカーソルを持っていくとステータスバーに出て来るようになりました
Windows8になるとまたエクスプローラーが先祖返りしてステータスバーに何も表示されません
なんでこんな糞設計のまま放置プレイなんでしょうか? -
すぐばれる嘘をつくなよ
ばかだろお前 -
黒魔術推奨なところ
-
小さな組織が大企業を超越するという明確な意志を持たない者にRubyを使うのは難しい
-
Ruby++になれない
-
>>73
もしそうなったら、本末転倒のジョークだよね
プロプライエタリだと資金的に開発不可能になったソフトウェアであっても、
OSSならコードが公開されてるから継続的に開発できるってのがメリットなのに -
ユーザなんて無能だからユーザやってるわけで
開発者が放棄したものを引き継げるわけなんかないんだよ
前提がおかしい -
別にソフトウェアのユーザがエンドユーザとは限らないんだけど
-
ソフトがたタダからって
開発者がタダで開発してくれるとは
限らないんだよな。 -
そうとは限らないだけで、必要ならやってくれるんだよ
-
最近 OpenSSL の vulnerability が次々に Open になってるのを見ると
OpenSource であることが必ずしもメリットばかりでないことは良く判る -
たまたまオープンソースなだけで、そうじゃなくても同じような事になってんじゃないかな。
-
リバースエンジニアリングで穴見つけるのと、
ソース見て穴見つけるのとだと、
後者の方が捗る気がする。 -
それは穴を塞ぎたい人にとっても同じだよね。
-
エントロピー増大ですね。わかります。
-
OpenSSLは読む気がなくなるレベルでクソなコードだったために
オープンソースでありながらクローズドな性質を持っていた -
なるほど
一理ある -
脆弱性を探すみたいな作業って、地味だし、みんなやりたがらないんじゃないかな
-
Googleみたいに金と人あまってるところが
研究と称して穴ほじくってる感じ -
でもオープンソースの宣伝文句的には、コードがいつも衆目にさらされるから
クソコードはすぐ是正されるんじゃなかったっけ? -
昔はそうだったかも知れないが
最近はクレクレばっかりだよ
いつからこんな風になってしまったのか -
ライブラリやソフトウェアを便利に共有できるようになった弊害かもな
車輪の再発明による経験と知見の獲得の機会が減り
アリモノを利用する以上の技術を持つ奴の割合も減る -
×利用するOSSにバグがあったら報告して修正コードを送る
◯OSSにバグがあったら諦めてググった方法で迂回する
こんなイメージ -
バグを報告して修正コードを送っても老害が立ち塞がって却下するしw
↑今すぐ読める無料コミック大量配信中!↑