『Dropbox』入社3番目のプログラマーが語る「僕らがすべてをPythonで開発してきた理由」~PyCon APAC 2013
近年タブレットやスマートフォンの普及によってあらゆる場所からネットにアクセスできるようになり、前以上にストレージサービスが重宝されるようになってきた。それに伴い、GoogleやMicrosoftといったブラウザを提供する企業が自社ブラウザと相性の良いオリジナルのストレージサービスを提供するようになった。
しかし、その中でもいまだに根強い人気を誇るのがDropboxである。
Dropboxは2012年11月にユーザー数が1億人を超え、2013年7月9日時点で1億7500万人を突破したと発表した。実に約8カ月で7500万人のユーザーを獲得したことになる。
そんな巨大なサービスとなったDropboxのコードは、すべて1つの言語で書かれている。その言語がPythonである。
Pythonの魅力はどこにあるのか、9月13~16日に開催された『PyCon APAC 2013』の基調講演で来日したDropboxのエンジニアRian Hunter氏が語った。
豊富なGUIツールキットがDropboxのポータビリティを実現する
Rian氏は、Dropbox初期のアルファおよびベータバージョンのころから開発に携わってきたエンジニアだ。同氏が開発にかかわるようになってからずっと、「DropboxはどのOS、どんな解像度の画面であっても常に正常に動作するのを前提としてきた」と語る。
さまざまな環境からアクセスされることが大前提のストレージサービスでは、ユーザー環境に依存しない開発が重要なのだという。Dropboxはこれを実現するためPythonを用いたということだ。
「Pythonは魅力的な開発言語の一つです。それに、プログラマーとして書いていて心地いい(笑)。学びやすく書きやすいシンプルさ、自分の使いたいように編集できる拡張性、クラッシュすることが少ない安全性など、その魅力はたくさんありますが、GUIツールキットはPythonがDropboxにもたらした恩恵であると言えます」
Rian氏によるとDropboxのポータビリティを可能にしたのはPython の豊富なGUIツールキットによる所が大きいという。
ctypesやwxPythonなどのGUIツールキットを用いればプラットフォームに依存しない環境を作ることが可能になるため、DropboxはUIに至るまで、徹底的にすべてPythonのみで書かれている。
欠点を克服することで世界的なサービスに
とはいえPythonにも、もちろん欠点はあるとRian氏は続ける。現在Dropboxが40億ドルの企業価値を得られるまでになったのは、それらの克服なしではありえなかっただろうとRian氏は説明する。
「Pythonは強い動的プログラミング言語(dynamically typed language)です。いわゆる“お堅い”言語のため、どうしてもTypeErrorが出やすい仕組みになっています。また、動的型付け自体が一般的ではないとの声もあります。これらはネット上でも“Pythonの弱点”としてよく言われていることですが、ダック・タイピングで克服すればいいのです」
Dropboxは2012年12月、Pythonの作者であるGuido Van Rossum氏をGoogleから引き抜いたことからも読み取れるように、Pythonでポータビリティを実現したいという同社の並々ならぬ強いこだわりを感じた。
Rian Hunter氏の講演の動画は以下 ※全編英語
『Keynote: One Million Lines of Python by Rian Hunter』
取材・文・撮影/佐藤健太(編集部)
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ