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

タグ一覧を見る