python
ワシは、cgi.rb なんかが標準添付になっている Ruby に PHP を dis る資格はないと思ってる (cgi.rbの元ネタである CGI.pm を擁する Perl も同じじゃないかな)。cgi.rb は、標準添付モジュールのくせにコードが汚いし遅いし、cgi[] の戻り値が String だった…
alias py=python
ひがさんから、ありがたいお言葉を頂戴しましたので紹介させていただきます。
なんか、はてなブックマークとか見てると残念なコメントが多いよなー。『こんな比較は意味ない』とか『できることがまったく異なるテンプレートを並べて比較されても』とかいうやつ、何なの?「言語の速度 != アプリの速度」という主張を示したベンチマーク…
まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。これを見れば、最速な言語は C/C++ であり、Java や Haskell や OC…
まえのエントリのコメント欄より: flat8 2010/04/27 10:19 確実にIntelはそこまで考えていると思います。で、ある程度SSDが普及したらSSD自体の製造からは手を引くでしょうけど。 やはりそうでしょうか。さすがIntel。 ところでIntelが『SSD自体の製造から…
いやー、おまいらがスクリプト言語大好きというのはよくわかった。よくわかったけど、信者はもっと落ち着いたほうがいい。 mikihoshi 「スクリプト言語の使いやすさ」のかなりの部分はスクリプト言語(動的言語)であることが担保してるんだから、「スクリプト…
大変たいへん興味深い記事。全プログラマーにとって。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました ...(snip).…
国内レンタルサーバで使われている PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた。レンタルサーバの選択基準は特にない。「レンタルサーバ」でぐぐって適当にピックアップした。最初にまとめとくと: PHP は 5.2.x が主力 Ruby は 1.8.2…
すでに Python 3.1 もリリースされ、また 2.7 のリリースも近いというのに、世の中ではいまだ Python 2.3 や 2.4 が現役で使われている。たとえば、サーバ用 OS としてよく使われる CentOS 5 では、Python のバージョンは 2.4 である。またレンタルサーバの …
Google App Engine で、スクリプトから画像ファイルの一覧を取り出そうとしたけど、できなくてはまった。helloworld.py # -*- coding: utf-8 -*- import os, glob print "Content-Type: text/plain" print "" print "hello" imgdir = os.path.join(os.path.d…
Python で SyntaxError を自前で raise するには次のようにする。 raise SyntaxError("エラーメッセージ", (ファイル名, 行番号, カラム桁数, ソース行)) やってみる。 >>> raise SyntaxError("ERROR MESSAGE", ('foo.py', 123, 2, 'x = 999')) Traceback (m…
import 文を使わずに、任意の Python スクリプトをモジュールとして読み込む方法。こうすると、拡張子が「.py」じゃなくても読み込み可能。 import os file = 'foo.py' name = 'foo' module = type(os)(name) # (*1) module.__file__ = file execfile(file, …
Google App Engine 専用フレームワークというふれこみの『Kay』を試してみる。 なお環境は Mac OS X 10.6、Python 2.6.2 (自前コンパイル)、GAE SDK 1.3.2。
Python では、現在のファイル名を表す __file__ はあるけど、行番号を表す __line__ がない。現在の行番号を調べたかったら、スタックフレームオブジェクトを触る必要があるみたい。以下がサンプルコード。__LINE__ and __FILE__ functionality in Python? -…
IBM が運営している技術サイト developerWorks には Python の記事がちょくちょく載っているんだけど、Python コードのインデントが崩れていて大変悲しい (最初は日本語版だけかなと思ったら、もとの原文からしてインデントが崩れまくってた)。 そこで、勝手…
__builtins__ って必ずモジュールだと思ってたけど、そうでもないらしい。foo.py: import sys print "(foo.py): __builtins__: ", type(__builtins__) print "(foo.py): sys : ", type(sys) bar.py: import foo import sys print "(bar.py): __builtins__: "…
せっかくPythonの話がホットエントリに入っているのに、あまりいいサンプルとは思えなかったので、書き直してみたい。 クロージャと無名関数を使うと、こんな風に実装することができる。 import yaml def _get_from_disk(): data = open('config.yaml').read…
なんかしらんけど、前のエントリはPythonistaをたいへん刺激してしまったようだ。べつにもとの名前を使えなくするわけじゃなく、単にエイリアスを追加するだけなのに!そこで、Pythonistaのお怒りを沈静化するべく、__builtins__を汚染しないように改造してみ…
反論のためにこんな極端な例を出すほうがおかしい。 以下、エキスパート C プログラミングより引用。ちょっと極端過ぎる例だけど、言語独自の慣習・標準などを無視することの一つの到達点がこれだ。 「CはAlgolではない」1970年台の後半、ベル研でUNIX Versi…
pashango_pさん曰く: 本当にローカル変数でlistやdictを表すために「L」とか「D」を使っていたとしたら、相当なダメプログラマですよ。 わたしはそこまでは思いませんが、pashango_pさんによると、ローカル変数名として「L」や「D」を使うのはダメプログラマ…
みんなー、トラックバックって知ってるよねー!? 他人のとこに長いコメント書くくらいなら自分のブログに書こうぜ! #隠れてコソコソ陰口叩かれるぐらいなら超長いコメントのほうがいいけどな!!methaneさんのコメント: えぇ、そうですね。だからスレッドのjoi…
せっかくなので、変数名として「lst」や「dct」がどのくらい使われているかを調べてみる。ターゲットは Python 標準添付ライブラリ。 ### Python 2.5.4 $ cd /usr/local/lib/python2.5/ $ egrep '\blst\b' **/*.py | lv # けっこうある $ egrep '\blst\b' **…
ネタなのかツリなのかマジなのかさっぱり判断が付かないんだが、マジだとしたらそんなの勘弁してと思うし、ネタだとしてもはっきりそうだとわからない書き方のせいで影響される人がいたらイヤなので、あえてマジレスしとく。 jijixi's diary - Re: Python で…
あと10枚ぐらいスライドを減らさないとまずいことになりそうなのに、なぜかPythonネタを投下してみる。Ruby での String, Array, Hash に相当するのは、Python では str, list, dict になる (小文字であることに注意)。 困ったことに、これらは変数名として…
ここまで書いて思ったんだけど、StringBuffer 相当の機能がない Python にとっては、join がその代替なのかもしれない。つまりだな、Python の str.join(list) は Ruby の Array#join(str) 相当ではなくて、String#<< 相当なんじゃないか、という新しい仮説…
list が必須で separator はオプションなんだから、list が receiver になるほうがどう考えても自然だろう。省略可能な separator が receiver にくるほうが不自然だ。
ちなみに Python 付属の unittest では assertRaises の定義は以下の通り。見ればわかるけど、exception を返してくれない。 ## assertRails は failUnlessRaises の alias def failUnlessRaises(self, excClass, callableObj, *args, **kwargs): try: calla…
Ruby のネタがないので Python でお茶をにごす。Python の速度を 5 倍速くするという目標を掲げている unladen-swallow というプロジェクトがあるんだけど (日本語はこちら)、その中に次のような一節があった。 Unladen Swallow's benchmark suite is focuse…
Python2.6 をインストールすると、Mercurial で警告が出るようになった。 $ hg push /usr/local/lib/python2.6/site-packages/mercurial/sshrepo.py:64: DeprecationWarning: os.popen3 is deprecated. Use the subprocess module. self.pipeo, self.pipei, …