Ruby VS PHP 仁義なき戦い
■ このスレッドは過去ログ倉庫に格納されています
ttp://www.rubyist.net/~matz/20080126.html
Webアプリケーションを作るには、結局どっちがいいんでしょうか。
初心者はどっちを選べばよいのでしょうか。
0035nobodyさん
2008/02/03(日) 01:38:27ID:???統計、大量のデータ処理?
grep、パイプ、リダイレクト程度では物足りないとか?
0037nobodyさん
2008/02/03(日) 02:15:44ID:???0038nobodyさん
2008/02/03(日) 11:50:26ID:???俺は使わないけど特に問題なし(^^)v
ワンライナー(1行のプログラム)だと、PerlやRubyを使う人が多いかな?
でも、世の中知らなくて損をしていることって結構あるから、一応使い方くらいは知っておくべきか?
0039nobodyさん
2008/02/03(日) 12:56:45ID:???0040nobodyさん
2008/02/03(日) 13:05:24ID:???ほとんど行志向のフィルタとしてしか使わない
が、そういう用途での使用に適するようかなり練りこまれてる
あとはポータビリティを重要視するアプリで使われてるかな
0041nobodyさん
2008/02/03(日) 13:14:00ID:???PHPも向かないと思われてるが、いくつもモジュールをインクルードする場合には
標準であれこれ組み込まれてて関数一発型のPHPが一番タイプ量少なくなるケースもw
0042nobodyさん
2008/02/03(日) 13:18:40ID:???あの一行を書くのにどれだけ時間かけて、
何回失敗してるの?
手段と目的が逆になってるよなぁ。
0043nobodyさん
2008/02/03(日) 16:15:53ID:???一回できればテンプレ化できるし
そういう点ではperl文法が好きだし変な特色つけんでperl文法でphp作って
欲しかった
0044nobodyさん
2008/02/03(日) 16:24:16ID:???引数だけの変更で終わりだが・・・
0045nobodyさん
2008/02/03(日) 21:50:42ID:???まあ言うほど面倒ではないが、ばらけるから面倒な事もあるんじゃね
俺もワンライナに凝るよりはスクリプト設置して回す派
だが今度は汎用性に凝ってしまって本末転倒
0046nobodyさん
2008/02/04(月) 23:44:19ID:???そりゃ、MASMですよ。
もちろん、バージョン6以降。
型や構造体、フロー制御ディレクティブなどのないアセンブラなんてアセンブラじゃありません。
C言語? あんな中途半端な言語は使えませんよ。
プログラミング言語といえば、MASM か C++のことでしょ?
0047nobodyさん
2008/02/05(火) 00:33:41ID:???それじゃ早速逝ってみよう!!!
「30分で始めるMASM」
…ってか、アセンブラでWEBサイト作ってる人いるのか!?www
0048nobodyさん
2008/02/05(火) 00:38:41ID:???…参考サイトはいろいろありそう。
Win32 MASM プログラミング入門
http://www7.plala.or.jp/keny01/asm/win32/
>MASM とは、マイクロソフト社製のアセンブラツールです。
ベンダー固有のツールか。
中身が公開されていないものだったら、あんまり使いたくないな〜><
(どうなんだろ?)
0049nobodyさん
2008/02/05(火) 00:41:42ID:???簡単な説明
http://www.microsoft.com/downloads/details.aspx?FamilyId=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=ja
Microsoft Macro Assembler 8.0 (MASM) は、アセンブリ言語で記述されたプログラムを使用して、そのソースプログラムに対応するバイナリファイルを生成するツールです。
必要なソフトウェア:Visual C++ 2005 Express Edition
あれれ?Visual Studioの無料版とかインストールせなあかんの?
こりゃ困ったなー^^
(30分で終わらない予感)
0050nobodyさん
2008/02/05(火) 00:47:11ID:???http://www.interq.or.jp/chubu/r6/masm32/intro.html
QEDITOR.exe の簡単な説明
http://www.interq.or.jp/chubu/r6/masm32/masm004.html
どうやったらアセンブラ(ASM)ソースファイルから実行ファイルを作成できるか
1.MASM32をインストールしたディレクトリにある、QEDITOR.exe を起動する
2.「メニュー」→「File」→「Open」でASMファイルを開く
3.「メニュー」→「Project」→「Build All」でビルドする
4.「メニュー」→「Project」→「Run Program」で実行するとこんなウィンドウが出てくるはずである
もしかしたら、Visual Studio無しでもMASMってのは使えるのかな?
0051nobodyさん
2008/02/05(火) 00:49:14ID:???アセンブリ言語 Hello World を表示するプログラム
http://maccyo.hp.infoseek.co.jp/assembler/assembly.html#002
うむ、いきなり答えっぽいページに遭遇^^
0052nobodyさん
2008/02/05(火) 00:51:15ID:???MASMとは別物なんだな><
0053nobodyさん
2008/02/05(火) 00:54:10ID:???http://ueno.cool.ne.jp/nvaca/asm3.html
>2章 マクロアセンブラの使用
>1.はじめの実例 "Hello World"プログラム
>マクロアセンブラ(ここでは、Microsoft Macro Assemblerを使用。TASMでもOK)を使ったプログラム
おー、これだこれだ!
これを実行できる環境を用意すればいいんだな?
0054nobodyさん
2008/02/05(火) 00:58:40ID:???http://ueno.cool.ne.jp/nvaca/asm1.html
3.必要なもの
まずは、アセンブラが必要です。
これは、アセンブリ言語で書かれたプログラムを、マシン語に変換します。
次に、リンカが必要です。
アセンブラは普通、オブジェクトコードという、マシン語なんだけれども、そのままの形では実行できないコードを出力します。
リンカは、それらのオブジェクトコードをくっつけ、実行可能なファイルを作りだします。
リンカは、大抵アセンブリ言語などの付いてきます。
もしあれば好ましいものに、デバッガがあります。
これは、実行可能な形式のプログラムを一行一行実行するなどの機能をもっており、プログラムのバグを発見するのに便利です。
また、簡単なアセンブリ機能をもっているので、簡単なプログラムなら作ることができます。
ほうほう、なるほど。
デバッガで動作確認できても、とりあえずそれで良しとするかな?(・∀・)
0055nobodyさん
2008/02/05(火) 01:02:47ID:???あー、30分をオーバーしてしまった!ダメだこりゃ><
0056nobodyさん
2008/02/05(火) 01:03:32ID:???最後まであきらめない!!!
ε≡≡ヘ( ´∀`)ノ
0057nobodyさん
2008/02/05(火) 01:04:24ID:???鉛筆を置いてください!(・∀・)
0058nobodyさん
2008/02/05(火) 01:07:41ID:???http://www.microsoft.com/japan/msdn/vstudio/express/
↓
Web インストール (ダウンロード)
http://go.microsoft.com/?LinkId=7981699
0059MASM
2008/02/05(火) 01:17:41ID:???ちょっとキャンセルします><
アセンブラのプログラミングを試すだけなら、基本情報技術者試験のアセンブラ(CASL2)のシミュレータで試してみるのもいいかな?
↓
http://www.vector.co.jp/soft/win95/prog/se182050.html
CASL2シミュレータ
ステップ毎にプログラムリスト上にカーソルが移動,実行中の命令の位置とCPUとメモリの内容を即座に表示
0060MASM
2008/02/05(火) 01:19:52ID:???↓
今日はもう寝ます。おやすみなさい。(´;ω;`)
0061nobodyさん
2008/02/05(火) 01:44:29ID:???0062nobodyさん
2008/02/11(月) 13:09:34ID:???各言語でCGIにしてベンチ取ってみたよ。
ベンチはCGIを設置したLinuxサーバからローカルで
ab -c 100 -n 1000 URL
のコマンドで実施。数は5回ぐらいやった平均(Request per second)。
php-5.2.5(cgi) 63#/sec
python-2.5.1 130#/sec
ruby-1.9.0 315#/sec
zsh-4.3.4 465#/sec
perl-5.8.8 530#/sec
lua-5.1.2(binary) 660#/sec
freepascal-2.2.0 960#/sec
php-5.2.5+apc+zendOptimizer 4100#/sec
php-5.2.5 4300#/sec
php-5.2.5+apc 4600#/sec
ただのhtml 6600#/sec
あえて個別の感想は述べません。
環境とか最適化とかごちゃごちゃうるせぇのが湧きそうだけど、
受け付けませんw
今回のはインタプリタ起動のオーバーヘッドの参考程度か?
小難しいロジック入れたときにどうなるかは知らん。めんどくさい。
PHPは本来、mod_perlなどのApacheモジュールと比較するべきですね。
次回予定で。いつかわからんけど。
0063nobodyさん
2008/02/11(月) 13:12:24ID:???Cが抜けてた。
c(gcc-4.1.2) 850#/sec
0064nobodyさん
2008/02/11(月) 13:14:36ID:???Lua-5.1.2(text) 950#/sec
0065nobodyさん
2008/02/11(月) 22:57:37ID:???0066nobodyさん
2008/02/12(火) 13:17:55ID:???めんどくせーよ。でも個人的にも興味あるので、まずはforループから。
10000回ループさせながら1〜10000までの和を求めるやつ。バージョンは略
php 1000#/sec
fpc 950#/sec
lua 400#/sec
c 850#/sec
bash 0.03#/sec*
perl 260#/sec
ruby 98#/sec
python 103#/sec
php(cgi) 61#/sec
*bashは、forの書き方わからなかったのでwhileで書いた。
1回実行するのに30秒ぐらいかかったので、1/30秒ということで0.03#/sec
abコマンドはたたいてない。
コンパイラ系だと、屁でもない負荷だなぁ…。
crc32は…。マンドクサ
0067nobodyさん
2008/02/12(火) 14:34:05ID:???0068nobodyさん
2008/02/12(火) 18:33:06ID:???PHPはオプションたくさんつけてコンパイルしてるから、インタプリタの起動が重いのかな?
HelloWorld!でも1万回ループでも結果はあまりかわってない。
逆にrubyは、HelloWorld!だとPythonより速いけど、
1万回ループだとPythonとあまり変わらない。
インタプリタの起動は軽いけどプログラムの実行が遅いのかも?
以前PerlでベンチしたときにはCPANモジュールとかをインクルードするような
プログラムになると急に重くなった。PythonやRubyでも同様かもしれない。
外部モジュールを利用するようなやつも試してみたいね
0069nobodyさん
2008/02/12(火) 22:44:58ID:???0070nobodyさん
2008/02/12(火) 23:57:11ID:???PHP3->4になったときほどのインパクトはない。
それからベンチで間違いのご報告。rubyは、1.8.6でした。ごめんなさい。
1.9.0だともっと速くなってることを期待。
DB接続のテストもしてみました。
WWWと同じサーバ上のPostgreSQLに接続・切断してるだけです。
php 650#/sec
fpc 270#/sec
c 275#/sec
lua+luasql 206#/sec
perl+Pg 95#/sec
ruby+postgres 174#/sec
python+pgdb 52#/sec
php(cgi) 85#/sec
今日はなんかサーバの調子がいい。
luaが健闘。ガンバレって言いたくなるのは判官びいきかw
0072nobodyさん
2008/02/16(土) 06:38:18ID:???0073nobodyさん
2008/02/16(土) 06:40:24ID:???んてかこれおかしくねえ?ネイティブコンパイラのcにまけるはずないと思うんだが
JITしててもありあえねえ
fpcがcに勝つのもありえねえ(fpcは最適化がクソなので有名)
環境、コンパイラ、スクリプトのバージョン、ソースを晒してもらおうか。
0074nobodyさん
2008/02/16(土) 06:44:16ID:???CGIとして動かしてなかった時の話か
0075nobodyさん
2008/02/16(土) 19:03:31ID:???007666
2008/02/18(月) 20:19:32ID:???これまでの比較は、どの言語でも似たり寄ったりのコードでかけるし。
かといって、ちょっとしたアルゴリズム(ソートとか暗号化など)は、
言語によっては関数として実装済みで、現場で組むことはなかったり…。
今回fpcがCよりも早かったこともあったが、最適化に差が出るほどの
コードでもなかったんだろう。
まぁ、言語の比較ってのは開発効率など多角的に検討して、
適材適所に用いられるものだと考えている。だからといって、
あちこちにいろんな言語が混ざってちゃやりにくくてしょうがない。
結局、言語の選択なんて「嗜好」と「惰性」がでかかったりしてw
0077nobodyさん
2008/02/18(月) 21:22:25ID:???置き換えられてたこともあったしなぁ。
こういうのやられたら、どれだけループさせようと比較の意味が殆ど無くなる(w
0078nobodyさん
2008/02/18(月) 22:49:12ID:???本当に速さにこだわるなら、単純なfor文の比較よりも腕のいいプログラマを雇った方がよっぽどあてになる。
0079nobodyさん
2008/02/18(月) 23:06:40ID:???できるだけ無駄に遅い言語は避けないとな
0080nobodyさん
2008/02/19(火) 10:56:03ID:???0081nobodyさん
2008/02/19(火) 13:43:15ID:???問題なのはプロマネが糞だった場合だが
0082nobodyさん
2008/02/22(金) 00:36:59ID:???格闘場でうごくせきぞうに囲まれてるスライムだな
0083nobodyさん
2008/02/22(金) 01:19:50ID:???誰も好きでPHP使ってる訳じゃねえんだ
0084nobodyさん
2008/02/24(日) 01:25:26ID:4hBilvIl0085nobodyさん
2008/02/24(日) 06:14:15ID:???rubyはphpのように関数の中に関数が入れ子になりにくく
ワンライナーで関数が複数定義されてても
何の処理をしてるのか一目でわかる
0086nobodyさん
2008/02/24(日) 06:18:13ID:???PHP使いはrailsの影響を受けまくりで
railsに似たフレームワークが乱立してるけど
railsを超える、または同等のフレームワークがPHPでは作れない
その辺りで言語レベルで優秀かどうかの証明がされていると思う
0087nobodyさん
2008/02/24(日) 06:21:28ID:???いくら優秀な言語でも食えなければ
使いたくても、使えない
0088nobodyさん
2008/02/24(日) 06:22:43ID:???その言語でのWEB制作の案件が多いかどうかってことだからね
0089nobodyさん
2008/02/24(日) 06:24:38ID:???レンサバ環境も整備されてるなら
それは間違いなくrubyを使うよ
0090nobodyさん
2008/02/24(日) 22:29:20ID:???Ruby on Railsは、ここ最近評判を下げた。
http://arton.no-ip.info/diary/20080104.html#p01
>でも、それがRailsが吹き溜まってる原因のひとつだぜ。日本人の開発者どもが、こういった重要なパッチ全般を無視するってことだ。やつらはすげぇいいやつらなんだが、しろーとくせぇんだよな。
Ruby界隈の明るいニュースとしては、Ruby1.9でRoRが高速になるか期待というところか?
0091nobodyさん
2008/02/24(日) 23:01:00ID:???0092nobodyさん
2008/02/24(日) 23:07:06ID:???はてなやLivedoor、mixiはPerlを使っている。
枯れた技術の水平思考として、Perlはこれからも続くだろう。
http://d.hatena.ne.jp/keyword/%B8%CF%A4%EC%A4%BF%B5%BB%BD%D1%A4%CE%BF%E5%CA%BF%BB%D7%B9%CD
新たにやるならPython>>>Perlがオススメか?
Python→Google、Microsoft(IronPython)で採用されてる。
0093nobodyさん
2008/02/26(火) 19:33:13ID:???それくらいなら他の言語でも代替方法がある。
いくら多くてもなぁ。
0094nobodyさん
2008/02/27(水) 01:31:33ID:???とはいえPerl、Python、Rubyは少なくとも日本じゃ蚊帳の外だしね。
やはりWeb系でまともなに稼げるのはJavaぐらいか。
0095nobodyさん
2008/02/27(水) 01:33:40ID:???開発してるの?結構敷居たかいべ
0096nobodyさん
2008/02/27(水) 01:37:33ID:???高くつくんだよね。
0097nobodyさん
2008/02/27(水) 01:51:32ID:???PHP使える優秀な技術者もたくさんいるけどやはり地雷率が圧倒的に高い。
これも敷居が低いからこそなんだろうけど。
0098nobodyさん
2008/02/27(水) 04:20:54ID:???言語自体の難しさとかではなく、
客が運用環境を用意できるかどうかの敷居だろうね。
PHPでフレームワークを使って開発しているのなら、
Javaでも同じように開発できるし。
0099nobodyさん
2008/02/28(木) 02:43:13ID:???0100nobodyさん
2008/02/28(木) 09:36:25ID:???tomcatを含めたシステム全体を
保守するのが難しい。
0101nobodyさん
2008/02/29(金) 02:01:41ID:???0102nobodyさん
2008/02/29(金) 03:02:37ID:/63m+Ufs0103nobodyさん
2008/03/02(日) 18:01:59ID:???0104nobodyさん
2008/03/02(日) 22:07:45ID:???0105nobodyさん
2008/03/02(日) 22:19:51ID:???2chで言われてるほど悪くはない
.net使うと開発超楽だし
0106nobodyさん
2008/03/04(火) 11:20:52ID:???0107nobodyさん
2008/03/04(火) 16:53:39ID:???0108nobodyさん
2008/03/07(金) 16:31:20ID:qJVq56v4http://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 の呼び出しがない、
純粋にバイトコードの実行だけで済むベンチマークだからである。
0109nobodyさん
2008/03/07(金) 21:17:33ID:sXIPrxED0110nobodyさん
2008/03/07(金) 22:30:55ID:???0111nobodyさん
2008/03/14(金) 09:46:28ID:iYTwDw8L0112nobodyさん
2008/03/14(金) 15:47:12ID:???まずは金だ、金持って来い!!!
0113nobodyさん
2008/03/16(日) 04:07:05ID:???またRubyは仕様がころころ変わる。
Rubyみたいに使われていないのはざっくり切って前に進んでいる、
古い言語はレガシー引きずっているという批判もあるが
それだけプログラマーの数も多く、いろいろ使われてきた歴史があるからさ。
使っていたコマンドなくなりましたよ?といわれても困るだろうし。
0114nobodyさん
2008/03/16(日) 04:20:00ID:???0115nobodyさん
2008/03/16(日) 19:21:17ID:???0117nobodyさん
2008/03/16(日) 21:59:08ID:???アップデートしたら全phpファイル再確認と再テストの悪夢、
アップデートしなければエクスプロイトが出回ってるなかガクブル
php5以降はまともな方かな。
ruby1.8未満/ruby1.9開発版現状よりはマシだと思うよ
0118nobodyさん
2008/04/10(木) 23:45:29ID:???楽しみですねー。
0119nobodyさん
2008/05/06(火) 11:30:55ID:???0120nobodyさん
2008/07/07(月) 02:52:57ID:zkkkRV90http://d.hatena.ne.jp/AntiSeptic/20080704/p1
などと思わせぶりな言い方をするものだから覗いてみりゃ、
なんて事無い田舎の零細企業の財務諸表であって、面白くもなーんともなかったわけだ。
それにしても、この程度の収益で2007年度って、
あの会社にとっては多分空前絶後の景気のいい年だったはずだの
Rubyとゆー「鉱脈」があるだの言っているのは何なのだ。
Geekのヨタ話というのは、いつもこんなしょぼいスケールで行われているのか?
あそこの技術者の平均レベルは、他の普通の会社よりはずっと高いと思うって、
これじゃあ、技術なんてIT企業の収益とは何の関係も無いと証明しているようなもんじゃねえか。
そもそも、この会社が何をやっているのかがHPを見た限りではよく分からん。
要は受託開発だろ労働力を人月で売ってるだけだろマーケ屋がこねくりあげた横文字得意げに使ってなに悦に入ってやがんだコラ。
更には製品・サービス部門まであって、なにやら参考価格が書いてあるところを見ると、
多分にパッケージっぽい印象を受けるが、それでいて全体の粗利率が26%程度ではどうしようもないだろ。
あそこに入りたい人は、損益計算書も注意して見ておくといい。まぁこれはどんな会社でも同じだけど、
ここを見るといろんなことが見えて来る。株価指標を計算してみるのもいい(非公開会社でもね)。
0121nobodyさん
2008/07/07(月) 03:22:42ID:???0122nobodyさん
2008/07/10(木) 04:11:20ID:???0123nobodyさん
2008/07/12(土) 02:01:15ID:???www.rubyist.net は不正なセキュリティ証明書を使用しています。
発行者の証明書が信頼されていないためこの証明書は信頼されません。
この証明書の有効期限は 06.11.7 10:07 AM に切れています。
(エラーコード: sec_error_untrusted_issuer)
0125nobodyさん
2008/07/13(日) 00:09:03ID:???0127nobodyさん
2008/07/19(土) 13:35:01ID:pf1xXB//344 :デフォルトの名無しさん:2008/07/18(金) 00:56:41
>>334
同意。
PerlのEncodeは終わってる。
言っておくが、自分には使える。
Perl好きだし、Encodeモジュールもわかっているつもり。
ただ、そこまでPerlにはまっていない周りには使えないし、わかってもらえない。
これが致命的。
(よくはまるのは、UTF-8フラグのついた文字列と
バイト列としての UTF-8文字列の違いとかのあたり)
それに、ソースコードを UTF-8 で書くと、システムがローカルエンコーディングの場合
ファイルを開いたりするのさえ面倒。
Unicode がらみのスクリプトを書くたびに、
sub e { Encode::encode('cp932', $_[0]) }
sub d { Encode::decode('cp932', $_[0]) }
sub E { map { Encode::encode('cp932', $_) } @_ }
sub D { map { Encode::decode('cp932', $_) } @_ }
↑こんなのを上に貼って、
open IN, e"日本語.txt";
とか書いたり、デバッグする時に
b 30 ($str eq d"日本語")
とかやったりしてるけど、正直言って超バッドノウハウ。
人が見てもやっぱりわからないし。
0128nobodyさん
2008/07/20(日) 01:50:03ID:/9XaoyQ30129nobodyさん
2008/07/24(木) 11:01:03ID:???0131nobodyさん
2008/07/29(火) 00:23:57ID:ybJpVSEm言語別のwiki数みたいなリストはないんだけど、主な言語を検索して調べてみた
PHP 27
Java 20
Perl 10
C# 8
Python 7
ASP 4
Ruby 2
実感に近い感じかな。
0132nobodyさん
2008/07/31(木) 21:45:44ID:???イスラム vs モルモン
どっちが強いかは明白。
0133nobodyさん
2009/01/14(水) 18:25:02ID:???0134nobodyさん
2009/01/16(金) 00:02:52ID:???0135nobodyさん
2009/01/31(土) 06:27:20ID:???■ このスレッドは過去ログ倉庫に格納されています