Ruby>>>>>Java
■ このスレッドは過去ログ倉庫に格納されています
今すぐ勉強すべきプログラム言語トップ10
http://news.yahoo.com/s/zd/188736
1. PHP
2. C#
3. AJAX
4. JavaScript
5. Perl
6. C
7. Ruby and Ruby on Rails
8. Java
9. Python
10. VB.Net
関連スレ
アラン・ケイも認めた!Ruby>>>>>Smalltalk
http://pc8.2ch.net/test/read.cgi/tech/1150106090/ >>343
「コンパイラとバーチャルマシン」って本はインタプリタとVMは別に説明してる。
ドラゴンブックのインタプリタ(通訳系)のところにVMの説明はない。
VM(抽象機械)は中間コードの説明に出てくるがそっちには
インタプリタの事は書いてない。 >>342
http://www.amazon.co.jp/プログラミング言語処理系-岩波講座-ソフトウェア科学-佐々-政孝/dp/4000103458 まあ、普通に話すときは、インタプリタをVMに含めないほうが話しがやりやすいし、特に断らない限りVMにインタプリタは含めないね。 VMはインタプリタだが全てのインタプリタがVMではない。
中間コード(VMにとっての機械語)を生成しないインタプリタもあるからな。
よって>330,335はゆとり。 どこにも洋書がでてこないのにワロタ
おまえら一辺勉強しなおしてこい >>348
じゃあ洋書でインタプリタがVMと書いてあるorない例をあげれ コンパイラはVMではない、と書いてある本がなかったら、コンパイラはVMなのかな? >>350
コンパイラはVMである、と書いてある本があるなら、コンパイラはVMかもしれんが
それはおかしいだろ。
「AならばB」の反論で「AでないならBでない」を持ち出していいのは小学生までだ。
論理式の勉強しなおしてこい >>352
ということを352は言ってるんだろ。おまえは国語を勉強しなおすべきだな。 >>349
おれが読んだハリーポッターの原書には、インタプリタがVMとは書いてなかった。 >>353
威勢よく出てきてアンカーミスってるおまいは人生考え直すべきだな Ruby=インタプリタ
↓
「インタプリタもVMだろ」
↓
「だって本にインタプリタはVMって書いてない」←いまここ
↓
「てことは、Rubyって既にVMで動いてるんじゃね?」
↓
「VMなのにRuby糞遅せえwww」
スレにふさわしい話題ですね 誤:スレにふさわしい話題ですね
正:スレのレベルにふさわしい話題ですね 誰もVMの定義を書いてないけど,VMってどっかの会社が言い出したバズワードなんだよね
インタプリタもコンパイラも今じゃほとんどバズワードだし.
結局みんな頭の中にあるVMとインタプリタが違っていて,話がかみ合わないまま進んでる希ガス
終わったな \(^o^)/ ナンテコッタイ バズワードってほどでもないぞ。
昔は抽象マシン(Abstract Machine)と呼ばれただけで概念は古くからある。
仮想マシン(Virtual Machine)というと昔はIBMメインフレーム用の
VMwareやVirtual PC相当のことだった。 ttp://www.itmedia.co.jp/enterprise/articles/0710/22/news002.html
ttp://itpro.nikkeibp.co.jp/article/NEWS/20071022/285089/?ST=oss
ttp://itpro.nikkeibp.co.jp/99/ruby/index.html
ttp://yher2.blogspot.com/2006/10/groovy-rhino-jython-jruby.html
に、各スクリプト言語のベンチマークがあった。
(2006年後半時点でのことだが)
Javaとの実行時間比は:
groovy: 約5.5〜500倍
rhino: 約1.5〜50倍
jython: 約2〜150倍
jruby: 約20〜6000倍
となる。
本家より速いと評判のJruby ですらこれじゃ、本家はどんだけ 本家より早いと評判になったのはいつなのか考えてから発言しろよ。低脳すぎるよ・・・。 JRubyって遅いんだよね。
Java陣営、挽回に必死だけど意味ねーw >>366
Java での Ruby 実装の遅さを云々する前に、
まず、まともな速度で本家を動かしてから言えってかんじ? WEB系だとPHPの独壇場だからな。
Rubyを囃し立ててるのは、Ruby関係者とRubyをWEB2.0とか
セカンドライフの代わりのキャッチコピーにしようとしてる企業と
SIよりも講演とセミナーで稼いでる人種だけで。
エンタープライジーなら相変わらずJavaだし、今一番勢いがあるのはASPNET。
海外ならPythonもあるわけだし。
だいたいWEBアプリって、実際はちっともオブジェクト指向である必要ないんだよな。
だからこそPHPが人気あるわけで。
つまりは、WEB系に限ればRubyのメリットはちっともない。
遅くて不安定なだけで。 マジレスすると、Rubyの現行の1.8系は、構文木を評価していて、VM使ってない
次期バージョンの1.9は、VM搭載される予定 >>373
そのVMってJavaとか.NETに劣らない性能だせそうなの? JavaVM上や、.NET上で動かすVMよりは良い性能が出ます。 こんなしょうもない記事でも枕詞に「日本発のプログラミング言語」か。
Ruby 自体は嫌いじゃないんだが、Ruby 関連の記事ってろくなのがないな。 資格検定ってなんか金の臭いがするんだよね
受ける側じゃなくて主催者側にまわらなきゃ損 >>370
ruby on railsがあるだろハゲ 概出だろうけど
ttp://cappuccino.jp/keisuken/logbook/20070927.html
ttp://d.hatena.ne.jp/iR3/searchdiary?word=*%5BRuby%20on%20Rails%5D
ttp://slashdot.jp/articles/07/09/23/2357202.shtml
>>387
---
まあ 私思うに Excel で様々な一覧表が管理されている世界があります。
そのような情報データを共有しようと思うと、
第一ステップ メールで添付して共用
第二ステップ ファイルサーバで共用
第三ステップ Webサーバでファイルアップロード、ダウンロードで共有
第四ステップ Google SpreadSheet で共用
第五ステップ Ruby on Rails (scaffold)で 簡易なWebDBで共用
第六ステップ Ruby on Rails での エンタープライズシステムで共用
などの推移が考えられます。
---
なにこの無理矢理な推移(w
普通、
>第二ステップ ファイルサーバで共用
で終了。
どうしても必要ならば参照のみODBC経由でエンタープライズに、だろ。 >第二ステップ ファイルサーバで共用
>第三ステップ Webサーバでファイルアップロード、ダウンロードで共有
第二ステップの方が進歩してる感じがするのは俺だけ? 第4はGoogleから企業向けの製品が出てるから、それ買って
あとは保守させれば残りのステップに進む必要ないな。 DBアクセスがあるから言語の実行効率は問題にならない、とか寝言言ってる奴がいるけどさ、
DBの負担を減らすためにDBは簡単なスキーマにしてスクリプト側で複雑な処理をする事あるじゃん。
その場合にRubyとJavaじゃまるで実行性能が違う。
後、Javaだと変数をアプリケーションスコープに入れとけば簡単に永続化できる。
これもDBへのアクセスを減らすことに役立つ。 そんなに速度が気になるならJavaみたいなすっとろいの使ってないでC++とかLisp使えよ 最初にExcel使ってるなら.NETじゃねぇの?
どうせ大体は最終的に「Excelでも出せ」とか上から言われるだろうし。 >>394
俺もそう思う。なぜ?Rails?
Rails好きだが、理解できん .xlsを閲覧編集するのに最も機敏で便利なソフト…それはExcel。 >>395
俺もそう思うが、コンパイルしたりすると lisp も速いらしいしな。 【速報】Google社が「Android」のSDKを公開,Javaでアプリケーションを記述
ttp://techon.nikkeibp.co.jp/article/NEWS/20071113/142245/
---
Androidのアプリケーション・ソフトウエア記述言語はJavaで,
「Java言語のコア・ライブラリが提供する機能のほとんどを提供する」(Androidの説明書)。
--- 携帯JavaなのにSEで来るのか?恐ろしいな。
>>302
C言語はちょっと特殊だよ。
JavaもC#もVBも、PerlやPythonもC言語から機能を補充することができる。
俺はサプリメント言語という呼称を推奨したい。 正確には、Javaのような何か。
なので、Sunがピリピリしてる。 Javaのような何かだった
J++では飯は食えなかったが
今回はGoogleだからなあ。 >>403
Javaで食えないプログラマは、他の言語やっても無駄 誰かFORTRANの宿題を教えてくれないですかね。
・ある数xとyの約数と最大公約数と最小公倍数を計算せよ。
>>405…!書き込ま無くともご存知でしょうが…
?,VB`で無く,python`でも,command-line`で,error-check`は出来ます…
或る,text`の,error`を無くしました…
!因みに,python`のみしか個人使用の,linux`には,install`して居りません…
?どの言語がと云う事を意識する基準をご存知で在れば質問しても宣しいですか… >>401
C言語もアセンブラから機能を補充することができる。
401的にはC言語もサプリメント言語に違いない。
サプリメント言語の意味がワカンネ。
「C++はベターC」みたいなニュアンス? _,......,,,_
,、:'":::::::::::::::::``:...、
/::::::::::::::::::::::::::::::::::::::\
i::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
!::::::::::::::::::::::;‐、:::::::::_::::::_::::';
|::::::::::::::::::::::| :: ̄ ``!
r''ヾ'::::::::::/ :: |
l r‐、\::/ _,,、ii_;;_、 _,,,l、
ヽヾ〈 ::= -r:;;j_;、`/ :;'ィ;7
!:!_,、 :: ` ー : |: `´/ 何かもう必死でしょ?
,./ヽ | 、_ :: ,: 'r' :i |: / 最近のrubyは
,../ `ヽ;_ i | '"、_:::__`:'‐'. /
/ ``'ー 、_\ ! `::` ̄''`チ`シ
/ー 、_ `\:、_ :: ` ̄/
/ ``ヽ、 ヽ`'7‐--'
Ruby1.9 や Rubinius は MRI と比べて本当に速いのか
http://d.hatena.ne.jp/kwatch/20080304/1204646782
絶望した! Rubinius のあまりの遅さに絶望した!
また Ruby1.9 も、Ruby1.8 より遅くなっている。
eRuby ではどうしても eval() が絡むからしかたないんだけど、
とにかく Ruby1.9 になればなんでもかんでも速くなるというのは間違いであると断言できる。
絶望した! eval ないのにひとケタ遅い Rubinius に絶望した!
また eval がなくても、Ruby1.9 は Ruby1.8 と大して変わらないことがわかる。
結局、Ruby1.9 や Rubinius で速くなるのはバイトコードの実行部分だけであり、
String#<< のような built-in method の実行が速くなるわけではない。
fibonacchi sequence のベンチマークが速いのは built-in method の呼び出しがない、
純粋にバイトコードの実行だけで済むベンチマークだからである。 引く手あまたのプログラミング言語は?
http://slashdot.jp/developers/article.pl?sid=08/04/06/2313251
---
Java(16479件)、C++(8080件)、C#(7780件)、JavaScript(6749件)、
Perl(5710件)、PHP(2641件)、Python(1408件)、COBOL(1207件)、
Ruby(769件)、Lisp(33件)といった感じらしい。
とりあえずJavaとC/C++/C#、あとJavaScriptを覚えれば、
当分仕事には困らないようである。COBOLのしぶとさも目立つ。
ちなみにHaskellやOCamlの求人は10以下だったそうだ。
--- takano32,TAKANO Mitsuhiroこと高野光弘(日立製作所社員、日本UNIXユーザ会幹事)が、
自身の『32nd diary』で公然と日立の機密を開示し、障害者差別発言をしている問題。
1981年11月12日 千葉県のディズニーランドのそばで誕生
2001年4月1日 千葉大学に入学
2005年4月1日 千葉大学大学院へ進学、日本UNIXユーザ会に入会
2007年4月1日 日立製作所に入社、神奈川県秦野市の寮へ
2007年8月22日 「ついに職場で人が倒れた」と公表
2007年11月13日 「情報漏えい」を言う上司に「死んだほうがいいよ」と暴言
2007年12月28日 「社内システムクソうんこ」と発言し、仕組みも暴露
2008年5月23日 機密漏洩問題について一応の謝罪
2008年5月26日 「給料泥棒とかうんぬん言われた」と謝罪を忘れて告白
2008年5月27日 「心バキバキ川田くん」と前日の発言者の名前を公言
2008年5月31日 「キチガイ」と日立のユーザーに障害者差別発言を連発
2006年10月27日(日立製作所に入社前に忠告されたこと)
「日記やコメントの投稿日時から勤務時間に業務外のことをしていることが判明」は
某社の某親会社が 2ch で祭られたように、NG です。
6月も勤務時間中に更新し続ける高野光弘君の『32nd diary』にツッコミをどうぞ ゲームコンテストに出しなさい。
http://www.tohofuhai.com/ 豆腐ゲームコンテスト
http://kirara111.sakura.ne.jp/ 星屑きらら杯
http://3punge.com/ 3分ゲーコンテスト(今休止中)
何でもかんでも詰め込もうとしないで、切り捨てるとこころは切り捨てて
完成させねば。。シンプルにやれ。
んでゲーム、ゲームしてなくてもいい。ゲームの限界を超えなければならない。
もっと自由な発想を持つのだ。 >>424
板違い。
ゲーム製作技術板に書いたほうが参考になると思うよ 外野:・・・どこが違うの?
JAVAにも出来ることには眼を瞑ってでも
特色を育てないと、開発・環境パワーのある
海外オタクが釣られないクマー?
>>425さん、 もしかしたら >>424さんは
Rubyに対して「も」そう言いたいんじゃない?
「ゲーム」の部分が何に置き換わるかは「?」
例えば基本仕様を絞って固定してくれないと
共同開発が進められないといった意味で。
コンパクトで気のきいたプログラムが組めそう、
という期待はRubyの場合比較的大きそうだし。
私は「格好の悪い」プログラムの方が好きだけど、
それはどんな言語だってやろうと思えば出来る。
具体的・逐次的にダラダラ書いてくスタイルで
遅いとかじゃなく動かないような実用言語はない。
でも、それでいいならRubyじゃなかったはず。
「気の利いたコンパクトなコードが動く!」
となれば、どれだけの才能が集まることか。
JAVAに劣るのはまず人的パワーだから、
質のいい人材が釣れそうなエサは
もっと大きくぶらさげてもいいんじゃない?
現状でも釣れてる位だから可能性はあるよ。 ※以下、「偏見しかありません」。
まず第一に経験的事実に基づいてないし、
実在のプログラミング言語とも関係ありません。
「もれ、カッコイイプログラマになりたかったんだ、
誰よりもかっこいいコード書きたかったんだ…
○ィジュアルベーシックってダサいと思ったんだ、
○ISPで苦労してすごいの書いてみたけど
コードの見た目が…ブラクラみたいだったんだ…
○ML環境でのプログラミングは楽しかったんだ、
でもそこで使われるUTF−8とかいうののせいで
日本、対応リストから省《はぶ》られてたんだ…
―(中略というか面倒になったw本命登場)―
○AVAで効率的なコード書いてもれSUGeee!
でも改めて見てみたら本体が小さくなりすぎてて、
あの毎度御馴染みの寝言に埋もれてたんだ…。」 Javaでは複素数演算はサポートされてるのか?
複素数クラスは作ることはできても+−*/の
演算子のオーバーロードはできないだろ。
Javaが複素数演算をサポートするならC++の代わりに
Javaを使ってやってもいい。 >>429
演算子オーバーロードとか糖衣構文だろjk
まぁgroovy使ってもいいならアリ まっ、演算子のオーバーロード使うと遅くなるからねぇ。
コピーのしまくりが発生するし。こういうこともできますよ、
というデモンストレーションにはなっても実用性は0。
でも、これは行列計算の場合であって複素数演算の場合は
そんなに遅くなるとは思えないが。 いやまぁ,演算子は関数呼び出しの糖衣構文だからってことなんだが…まぁなんか軽く誤解されてるけどいいや 関数呼び出しと同じということ? だったら糖衣錠みたいなややこしい漢字使うな。
馬鹿ちんが。
関数呼び出しと演算子では・・・ いや、まぁ、どうでもいいか syntax sugarの訳として定着しているはずだが。
>>431
行列計算だと演算子オーバーロードが遅くなるってどういうこと?
関数で書いたって同じことだと思うが javaは演算子のオーバーロードが出来ない.
本当に必要な実装に対して不必要な実装がC++で行われてたから,という噂を聞く.
std::ofstream とかの << はその一つ.
で,二項演算子は2引数1返却値の関数と同等だからJavaでも複素数演算くらい作れる.
// http://www.kmonos.net/alang/d/2.0/cppcomplex.html を実装したものではない
class Complex{
private double _real, _imaginaly;
public Complex(double real, double imaginaly){ _real = real; _imaginaly = imaginaly }
public static Complex add(Complex lhs, complex rhs){ return new Complex(lhs.real + rhs.real, lhs.imaginaly + rhs.imaginaly); }
...
}
もちろん Complex.add() は関数なので二つのComplexインスタンスを足すときは
Complex r = Complex.add(new Complex(1, 1), new Complex(1, -1));
などとなる.
決してJavaでは new Complex(1, 1) + new Complex(1, -1) はできない.
でもgroovyなら演算子オーバーロードできるからちょっと楽になるよ,見たいな話.
この辺参照 http://groovy.codehaus.org/Operator+Overloading 言語としてのエレガントさはどうか知らんが、javaのよさは洗練された豊富な
APIとjavadocのリファレンスのしやすさ、それとガベージコレクターのおかげ
でメモリーリークとか気にしないで済むので貧乏くさい作業から開放されるこ
ととかほとんど実用的な理由だな。
こんな帳票設計ツール http://jdrafter.sakura.ne.jp/ 作ったんだが、前
述の理由で開発も片手間の4ヶ月くらいで済んだ。速度的にも不満はないし
、これをほかの言語でやってくれと言っても絶対断る。
Ruby on Railsかなぁと思ってたけど、
やっぱしPHPなのかなぁと思う今日この頃。
強制されたのでないなら、自分で決めたのをやればいいさ
>>435
行列クラス用いて演算子オーバーロード使うと基本的に関数戻り値を
値コピーで返すしかないこと.
a*b*c*dなどの行列演算でa,b,c,dが1000×1000のdouble型行列クラスだと
しよう.そうすると,8Mbyteの値コピーが*につき多分2回,上のように
行列の多重積になるとおぞましく発生する.
行列クラスなんか使わずに,ただの配列つかって配列名を引数渡しすれば
(普通のFortranやC言語と同じ使い方)こんなことは生じないおぞましい
コピーは生じない.
あと,コンパイラが戻り値最適化をサポートしていれば...以下略 >>441
行列が値型なら演算子オーバーロードだろうと何だろうとコピーは発生します
あと途中で返却値と引数がごちゃまぜになってるけど難なの? ■ このスレッドは過去ログ倉庫に格納されています