エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン
  • TOP
  • キーパーソン
  • 旬ネタ
  • コラボ
  • ノウハウ
  • 女子部
  • キャリア

『Dropbox』入社3番目のプログラマーが語る「僕らがすべてをPythonで開発してきた理由」~PyCon APAC 2013

タグ : Dropbox, GUIツールキット, ITイベント, PyCon, Python, Rian Hunter, ストレージサービス, ダック・タイピング, 動的プログラミング言語 公開

 

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

by ilamont.com
ストレージサービスは大前提としてあらゆる環境からのアクセスが可能でなければならない

さまざまな環境からアクセスされることが大前提のストレージサービスでは、ユーザー環境に依存しない開発が重要なのだという。Dropboxはこれを実現するためPythonを用いたということだ。

「Pythonは魅力的な開発言語の一つです。それに、プログラマーとして書いていて心地いい(笑)。学びやすく書きやすいシンプルさ、自分の使いたいように編集できる拡張性、クラッシュすることが少ない安全性など、その魅力はたくさんありますが、GUIツールキットはPythonがDropboxにもたらした恩恵であると言えます」

Rian氏によるとDropboxのポータビリティを可能にしたのはPython の豊富なGUIツールキットによる所が大きいという。

ctypesやwxPythonなどのGUIツールキットを用いればプラットフォームに依存しない環境を作ることが可能になるため、DropboxはUIに至るまで、徹底的にすべてPythonのみで書かれている。

欠点を克服することで世界的なサービスに

Guido Van Rossum氏

by niallkennedy
Guido Van Rossum氏は「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』

取材・文・撮影/佐藤健太(編集部)




人気のタグ
業界有名人 スタートアップ 開発 SE 転職 エンジニア Web プログラマー スキルアップ ソーシャル アプリ シリコンバレー 起業 プログラミング キャリア スマートフォン Android SIer 技術者 えふしん クラウド UI btrax スペシャリスト Webサービス アプリ開発 Twitter Apple ギーク CTO Facebook デザイン IoT Brandon K. Hill Google SNS ツイキャス 英語 モイめし 世良耕太 IT 30代 赤松洋介 採用 コーディング 20代 村上福之 勉強会 プロジェクトマネジメント UX Ruby 中島聡 法林浩之 ITイベント Webエンジニア 五十嵐悠紀 モノづくり ひがやすを LINE 受託開発 ビッグデータ ウエアラブル IT業界 ドワンゴ ロボット MAKERS ハードウエア コミュニケーション インフラ Webアプリ 女性 SI ゲーム ソーシャルゲーム iPhone 女性技術者 高須正和 イノベーション トヨタ マイクロソフト 自動車 tips 研究者 ノウハウ システム プラットフォーム 息抜き イベント チームラボ 和田卓人 メイカームーブメント 教育 エンジン ソニー UI/UX 開発者 iOS オープンソース グローバル Java サイバーエージェント 女子会 メーカー 家入一真 ソフトウェア 増井雄一郎 スーパーギーク コミュニティ IPA ニュース 40代 GitHub 日産 TDD テスト駆動開発 グーグル 音楽 モバイル PHP ソフトウエア TechLION

タグ一覧を見る