こんにちは、芝田です。
台湾で開催されたPyCon APAC/Taiwan 2015 参加レポート第2弾。今回はカンファレンス2日目の様子をお届けします。
2日目
[Keynote 3]Robert Bradshaw:Static Typing in Python?
写真1 Robert Bradshaw氏による基調講演
2日目はRobert Bradshaw氏による基調講演から始まりました。彼は、長年Sage(数式処理システム)の開発に貢献しており、またCythonのコアデベロッパーでもあります。CythonはPythonをベースにしたプログラミング言語です。しかしPythonとは異なり静的なデータ型の宣言が可能です。このセッションではCython をベースに、Pythonが静的型付けになることでどういうメリットがあるのか解説されました。
静的型付けは、高速な動作が期待できることはもちろん、エディタやIDEがその情報をコード補完や引数の型チェックに役立てる事ができます。ただし、動的型付けはPythonを便利にした特徴の1つであることから、そこで漸進的型付け(Gradual Typing)や型ヒント(Type Hints)により、動的型付けと静的型付けを共存させる方法が検討されているとのことでした。
たしかに静的型付けには、無視できないくらい大きなメリットがありますね。型ヒントに関してはPython 3.5の最初のβ版であるPython 3.5.0 b1に取り込まれています(PEP0484 ) 。今後の静的型付けへの動きがどうなるっていくのか楽しみです。
清水川貴之:Easy contributable internationalization process with Sphinx
写真2 清水川氏によるSphinx国際化の発表
Sphinx メンテナとして活躍している清水川(@shimizukawa )氏によるSphinxドキュメンテーションの国際化に関する発表です。清水川氏はスピーカー側からみたPyCon APACへの参加レポートを連載していますので、そちらもご覧いただければと思います(海外PyCon発表修行レポート2015 ) 。
Sphinxは、reStructuredText(軽量マークアップ言語の一つ)やソースコードからドキュメントを生成するツールです。清水川氏が聴講者の方々にSphinxを知っている人がどれくらいいるのか確認したところ、手が挙がったのはおよそ3分の1程度でした。SphinxはPythonの公式ドキュメンテーション等でも採用されていますが、残念ながら知名度はあまり高くないようです。Sphinxの国際化の方法について解説した後、Transifex(Webベースの翻訳プラットフォーム) との連携やdrone.io(CIサービス) を使った継続的なビルドについて説明していました。自分で作ったライブラリを多くの人に使ってもらうためには国際化は欠かせないですね。
Q&AではMarkdownは対応するのかという質問が出ました。清水川氏によるとMarkdown対応は、すでにある程度実装できているそうです。しかしMarkdownはGitHubフレーバーなど複数の独自文法があり、そこにさらにSphinxのdirectiveを扱えるようにすることは慎重にやる必要があるとのことでした。確かにSphinxの知名度が上がらない一つの原因として、reStructuredTextの知名度がMarkdownに比べ低いことがありそうですね。ある程度実装が終わっているとのことなので今後に期待です!
参考リンク
Easy contributable internationalization process with Sphinx in Taiwan - Slideshare
Easy contributable internationalization process with Sphinx - PyCon APAC 2015
田中秀樹:Marsface Project
写真3 田中氏によるMarsface Projectの発表[1]
PyData.Tokyo のOrganizerとして活動している田中秀樹(@atelierhide )氏によるMarsface Project の紹介です。PyCon APAC 2015では科学系のテーマのみを扱うSciPy Trackという枠が用意されており、このセッションもその1つです。Marsface Projectは過去に撮影された月や火星の表面の画像を顔認識で解析し、人の顔の形をした構造物を発見するプロジェクトです。
なんとこのプロジェクトでは発見した構造物を3Dプリンタで再現し、人面岩の型 や足ツボに効く靴の中敷き として発売しているそうです。この話は外国の方にも非常にウケ、セッションは大盛りあがりでした。
内容もとても面白く素晴らしかったのですが、個人的には田中氏がカンペを見ずに英語でのセッションをこなす姿がなんとも印象的でした。海外のPythonistaと交流を深めるためにも、田中氏のように発表やQ&Aも堂々と英語で話せるようになりたいですね。
参考リンク
Marsface Project: Detecting Pseudo-artificial Structures on Mars - Slideshare
Marsface Project: Detecting Pseudo-artificial Structures on Mars - PyCon APAC 2015
Lightning Talks
写真4 飛田氏によるギークハウスの説明[1]
2日目の最後にLightning Talkが行われ、日本からは筆者がPyCon JP 2015の宣伝、飛田俊介(@hidashun )氏はDjangoにおけるテストの書き方について発表してきました。
飛田氏は台湾でAirbnb を使い、シェアハウスのような場所に泊まっていました。そのため飛田氏の発表は日本のギークハウス(趣味や話題が合うギークな人が集まるシェアハウス)の説明から始まりました。海外では、ギークハウスが珍しいのか、多くの方が興味を持って発表を聞いていました。Djangoのテストの書き方については、時間も短いためMockなどの機能に絞って説明をしていました。PyCon APACではDjangoのセッションが少なかったため、個人的に楽しみにしていたトークの1つでした。コード例もあり実践的でわかりやすかったです。
写真5 筆者のPyCon JP 2015の紹介[1]
筆者は、PyCon JP 2015のメディアスタッフでありPyCon JP 2015の紹介として、PyCon JP 2015のテーマや開催日・開催場所、プロポーザルの提出方法について説明してきました。海外のこれだけ大きなホールで発表するのはやっぱり想像以上に緊張しました。筆者の発表は、準備不足やインターネット接続トラブルなどにより反省が多く残る結果となりました。しかしPyCon APACのスピーカーに贈られる記念キーホルダーを受け取った時は、この大きなイベントで発表したんだなと実感が湧き、発表してよかったと思うことができました。
写真6 スピーカーに贈られるキーホルダー
この発表は、英語によるプレゼンや大きな会場で話す経験を積んでいかなければいけないなと反省させられる結果となったため、PyCon JP 2015のトークセッションにプロポーザルを堤出しました。英語ではなく日本語によるセッションですが、少しでも多く大きな会場で話す経験を積んでいきたいと思います。
参考リンク
Lightning Talks - PyCon APAC 2015
How to write test in Django - Slideshare
Introduction of PyCon JP 2015 at PyCon APAC/Taiwan 2015 - Slideshare
pandasによるデータ加工:テストのコツ・注意点やライブラリの紹介(ja) - PyCon JP 2015 in Tokyo
Night Market
写真7 宇宙戦艦ヤマトのテーマ曲を演奏中[1]
写真8 Bazzar of Folksの食事
Lightning Talksが終了すると、すぐにNight Marketが始まりました。Lightning Talksで使っていた会場を出ると宇宙戦艦ヤマトのテーマ曲の演奏が始まりました。演奏を聞いているとこの曲以外にもラピュタやドラえもんのテーマが流れていて、日本のアニメ文化が台湾にも浸透していることが実感出来ました。
写真9 清水川氏のブース[1]
Night Marketでは演奏や食事を楽しむだけでなく、希望者がブースを出すことができます。日本からは清水川氏がブースを出し、英語で積極的にやりとりしていました。どういう話をしていたのか聞いてみたところ、そもそもSphinxを知らない方が多かったらしく、Sphinxがどういうものか説明することがほとんどだったそうです。中にはSphinxのことを会社名だと思っている方もいたとか……。もっと多くの人に知ってもらえるといいですね。
写真10 Turtle Graphics[1]
多くのプログラミング言語は、基本的にクラス名やメソッド名を英語で記述しています。しかし英語が得意でない人たちには、英語がわからないことがプログラミングの学習の障害となってしまうこともあります。そこで、この方(Renyuan Lyu氏)は亀に様々な図形を描かせることができるソフトウェア(turtleモジュール )のメソッド名やクラス名を中国語や日本語で定義し、英語がわからなくてもプログラミングの勉強が出来るようなプログラムの開発をしています。実はLightning Talkでも発表しており、PyCon JP 2015にもプロポーザルを出しているとのことでした。
面白い試みですね。是非PyCon JP 2015にも来て欲しいです。
参考リンク
Translation of Python Programs into non-English Languages for Learners without English Proficiency (en)
次回予告
連載の第3回では、カンファレンス最終日の様子をお届けします。カンファレンス3日目は最終日だけあってビンゴ大会やスピーカーパーティなど楽しいイベントがたくさんありました。この連載も次回で最終回です。お楽しみに!