php

プログラミング言語の優秀さと道具としての評価は別

ワシは、cgi.rb なんかが標準添付になっている Ruby に PHP を dis る資格はないと思ってる (cgi.rbの元ネタである CGI.pm を擁する Perl も同じじゃないかな)。cgi.rb は、標準添付モジュールのくせにコードが汚いし遅いし、cgi[] の戻り値が String だった…

ひがさんからのありがたいお言葉

ひがさんから、ありがたいお言葉を頂戴しましたので紹介させていただきます。

高速なプログラミング言語が生み出す本当の価値

なんか、はてなブックマークとか見てると残念なコメントが多いよなー。『こんな比較は意味ない』とか『できることがまったく異なるテンプレートを並べて比較されても』とかいうやつ、何なの?「言語の速度 != アプリの速度」という主張を示したベンチマーク…

プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ

まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。これを見れば、最速な言語は C/C++ であり、Java や Haskell や OC…

Re: スクリプト言語の息の根を止めるのは案外 SSD かもな

まえのエントリのコメント欄より: flat8 2010/04/27 10:19 確実にIntelはそこまで考えていると思います。で、ある程度SSDが普及したらSSD自体の製造からは手を引くでしょうけど。 やはりそうでしょうか。さすがIntel。 ところでIntelが『SSD自体の製造から…

『使いやすいのは動的な言語だから』というのは間違い

いやー、おまいらがスクリプト言語大好きというのはよくわかった。よくわかったけど、信者はもっと落ち着いたほうがいい。 mikihoshi 「スクリプト言語の使いやすさ」のかなりの部分はスクリプト言語(動的言語)であることが担保してるんだから、「スクリプト…

スクリプト言語の息の根を止めるのは案外 SSD かもな

大変たいへん興味深い記事。全プログラマーにとって。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました ...(snip).…

国内レンタルサーバでの PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた

国内レンタルサーバで使われている PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた。レンタルサーバの選択基準は特にない。「レンタルサーバ」でぐぐって適当にピックアップした。最初にまとめとくと: PHP は 5.2.x が主力 Ruby は 1.8.2…

アクセッサの速度を計測する in PHP

php

PHPで、「$obj->var」と「$obj->get_var()」にどのくらい速度差があるのかを調べてみた。 またjQueryのようにgetterとsetterを同じメソッドで行うようにしたいとき、引数があるかどうかを調べるのにfunc_num_args()を使った場合と使わない場合との速度差も測…

RubyがPHPに勝つにはメソッド呼び出しのための新しい演算子が必要

PHPerがRubyを触り始めて最初に不機嫌になるのは、空文字列が偽ではないことだ。つまり、PHPなら「if ($var)」で済むのが、Rubyだと「if !var.empty?」と書かなければならない。これでPHPerは不機嫌になる (まあ気持ちは分かる)。 if ($var) ... # PHP if !v…

PHPがほかの言語より道具として優れている点

php

PHPは、syntax errorも含めて、エラーが画面に表示される。 この一点だけでも、PHPはPerlやRubyより道具として優れている。 CGIスクリプトのエラーを確認するのにいちいちApacheのログを見なきゃいけない道具なんて、初心者に勧められたもんじゃない。 つう…

PHPの言語仕様がウンコな理由個人的トップ10

php

「PHPerの問題点はPHPしか知らずに的外れなことを言うことだ」と、Javaしか知らなくて的外れなことを言っている連中にすら言われちゃってるPHPerのみなさん、こんにちは。PHPは「使える道具」であることは事実です。しかし同時に言語仕様がウンコなのも事実。…

PHPをDisってるブログエントリを集めてみた

php

スクリプト言語の範疇に入らないかもしれない言語を使っているPHPerのみなさん、こんにちは。 PHPの歴史は、Disられ罵られバカにされ続けた歴史です。 本日は、その歴史を紐解いてみたいと思います(一部、PHP擁護派のエントリも含んでいます)。なおここで…

PHPとJavaScriptはスクリプト言語の範疇に入らないかもしれないんだってさ

(追記: 2009-11-16: 引用元のブログは「SH2の日記」のコメント欄からであり、SH2氏とは別の方のコメントです。) さすがはJava屋さん。スクリプト言語をバカにする態度は堂々としたものだ。 JavaBlack >PHPなどのスクリプト言語もいつでもかけるようにしと…

PHP に「次の言語」なんていらない

php

PHP は、ほぼすべてのホスティングサーバで使えるといっても過言ではない。PHP の普及率は非常に高い。また PHP には、WordPress や XOOPS や phpMyAdmin など様々な application が作られている。そのおかげで、PHP は知名度も非常に高い。さらには、PHP は…

PHPの次に勉強する言語は何か?

マジレスすると、HTTP。 Webアプリケーション作っているのに、PHPの知識はあってもHTTPプロトコルの知識がさっぱりな人が多くね? 他の言語を勉強する前に、GETとPOSTがどう違うのかぐらい勉強しようよ。 それでもあえて PHP ユーザが次の「言語」を選ぶなら…

PHP で、連想配列の配列を効率よくソートする

php

PHPで、ファイル名を含む連想配列の配列があるとして、 101, 'filename'=>'foo.jpg'), array('id'=>104, 'filename'=>'bar.jpg'), array('id'=>109, 'filename'=>'baz.jpg'), ); ?> これをファイルサイズでソートしたいとする。 この場合、比較関数を定義し…

クラス設計の常識に反して、クラス名を動詞に、メソッド名を名詞にする

クラスを作るとき、ふつうはクラス名を名詞に、メソッド名を動詞にする。 class FileLoader { // クラス名は名詞 def load(name) { // メソッド名は動詞 ... } } しかし PHP のフレームワーク CodeIgniter では、一部のクラスでこれが逆になっている。つまり…

PHP には finally がない

php

PHP は ver.5 から例外が導入された。eval で例外のまねごとしかできない Perl と比べて、これは PHP の大きな利点であるといえる。 しかし、try と catch はあるのになぜか finally がない。これでは例外機能がついたアドバンテージが半減してしまう。 まさ…

PHP の関数から Ruby のメソッドを検索する

via RubyFlowPHP ユーザのための Rails サイト、その名も Rails for PHP Developrs が、PHP の関数名から Ruby のメソッドを調べることができるシステムを構築中。 たとえば PHP の fopen() に相当するメソッドが知りたければ、http://railsforphp.com/fopen…

PHP Framework Fight!

php

PHP Framework Fight!なる面白そうな企画があるみたいです。 PHPで色々あるフレームワークで、同じ仕様のアプリを実装し、ベンチマークを取り競争する。 処理速度だけでなく、開発工数(ジェネレータが吐いた以外のコード量)などでも比較したい。 数あるPHP…

Ruby が PHP に負けている点 #2: 複文の終わりを表す予約語が end しかない

負けているというと言い過ぎだけど、Ruby では複文の終わりを表すのが end しかない。 しかし PHP では、あまり知られてなさそうだけど endif や endwhile や endforeach が使える。 <table> <tbody> $value): ?> <tr> <td></td> <td></td></tr></tbody></table>

「Smarty は速い」は都市伝説

Smarty が広まった理由のひとつに、動作が速いというのがある。Smarty はテンプレートをコンパイルして PHP ファイルに変換し、それを実行する。そのため、実行速度が速いと信じられている。しかし、これは大きな誤解である。PHP ファイルを include() する…

PHP でクロージャを実現する「QIQ」がステキ

php

PHP でクロージャを実現する「QIQ」という拡張モジュールがあるそうだ。 続々・Zend Engine Hack (クロージャもあるよ) (拡張モジュールもあるよ) これによると、QIQ を使うと PHP で以下が可能になるという。 無名関数 クロージャ new/cloneからはじまるメ…

PHP のファイルから PHP の文と式だけを抜き出す

php

PHP ファイルに Syntax error があると、該当箇所を見つけるのはかなり困難である。理由は簡単で、HTML と PHP コードとが混じっているから。 たとえば と のあいだにたくさんの HTML タグが入っていると、それだけで '{' と '}' の対応を確認するのが難し…

スクリプト言語の起動時間を調べてみた

実行してみると分かるが、Rubinius の起動は実に遅い。どのくらい遅いかというと、間違って Java を起動したんじゃないかと思うほど遅い。あまりに遅いので、Ruby と Rubinius の起動時間を調べてみた。ついでに、他のスクリプト言語の起動時間も計測してみ…

Ruby が PHP に負けている点 #1: エラー内容がブラウザに表示されない

Ruby で CGI プログラムを書いていると、ときどき「PHP のほうが簡単だよなー」と思うときがある。そのひとつが、エラーが発生したときに、その内容が PHP ではブラウザに表示されるのに対し、Ruby ではブラウザには 500 Internal Server Error しか表示され…