読者です 読者をやめる 読者になる 読者になる

Time Flies

fckey's Tech Blog

PyCon JP 2014 1日目参加レポート #pyconjp

今日はPyConJP 2014に参加してきた。

プログラミング言語系の会議に参加するのは初めて何だけど雰囲気としては学生時代に参加した学会とだいたい同じ。PyConの場合はほぼPython関連の話題だった。(まあ当たり前なんだけど会議によってはそうでもないらいしい) ちなみに今回の会場では電源は絶望的に少なかったので苦しんだ。

どれも勉強になる発表だったが、以下では特に印象に残った発表について触れる。

Keynote Speech @kennethreitz

CH01 Opening~Keynote: Kenneth Reitz - YouTube

1日目のKeynote SpeechはHerokuのPythonプロダクトオーナーでPython Software FoundationのKenneth Reitz氏。 プレゼンではそもそも言語とは何かという話題から入りPythonの2系と3系の話に。曰く、我々がPythonと呼ぶものはPython2系の事を指しており、Python3はPython3で別の言語との事。

Python3のユーザーま未だに伸びておらず、2014年1月の最初の2週間パッケージのDL数を計測したところPythonは80k程あったのに対して、Python3は3kほどでこの差から言うとPython3は無に等しいよねという言い振りだった。 まあ端的に言うと彼はPython3が好きではなく使う気もない。質疑で出たPython3を使用する利点は何かという質問に対して「No Benefit (hahaha)」の答えには震えてしまった。

ただ今後のPythonの行末はFundationの人々にとっても見通しが立っておらず、そもそもPython3のフィードバックがまだまだ少ないから多くのユーザーに実際に使用してその感想を公にして欲しいということだった。 良い点を共有できたらそれはそれで良いだろうし、悪い点が目につくようならPython3など使われず潰せるかもね(hahaha)という感じ。

Pythonは内輪で揉めてそうだなという印象を受けて今後が多少不安になる発表だった。

Pythonの実装系総ざらい @Masahito

次に印象に残ったのはPythonの実装系総ざらい。 CPython (普通の解釈系), Jython, PyPy, Cython, Pystonが紹介された。CPython、PyPy、Pystonのフィボナッチ数列の計算によるベンチマークも取られており、再帰ではPyPyかPystonが良い結果を残していたが、forループではPystonの結果が絶望的に悪く、高速処理系は現状PyPyに軍配が上がるかなといった感じ。

PyCharm活用術 @shimizukawa

自分はぬるいPythonしか書かないのでエディタは基本的にemacsかWinだとSciTEとかで済ましてしまうが、最近はかなり高機能なIDEも出ているらしくPyCharmがその一つ。PyCharmはIDEAから出ているエディタで、最近自分はJavaでもeclipseからIDEA IntelliJに乗り換えたのでやっぱいいよなと思った。

今のところIntellijPython pluginとPyCharmの違いはこれによるとJythonのSupport強度で、JavaPythonのインテグレーションがあまり無いならよりシンプルなPyCharmから始めるのが良い。

リファクタリングツールあれこれ @tell_k

個人的にかなり有用だった発表。

まずはPythonの書き方を整えるためのツールの紹介。コードを整え無駄を省くには、Pythonにおいて望ましいコードスタイルであるpep8に則ったフォーマットであるかをチェックするpep8と文法チェックをするpyflakesを併用したflake8を利用するのが良さ気。

ただいちいち人手でコードを整えるのは面倒なので、まず整形はpep8に準拠したスタイルを自動生成するautopep8に頼るのが良さそう。 また、利用されない変数やimportを削除しコードの無駄を自動で省くにはautoflakeが使える。 ただ便利なコードの自動整形ではあるが必要なモノを削ったりすることもあるようで結局最後は人の手が必要。

関数の抽出等リファクタリングツールにはRopeが有用。ただ個人的にはPyCharmのような優秀なIDEがあるんだからそっち使ったらいいよねとは思う。 RadonではコードメトリクスのをABCの3段階評価で見ることが出来る。*1

銀の弾丸などないという台詞をまた見ることになり40年前から相変わらず。 開発過程における偶有的難しさを倒す武器として確実に銃の性能は上がり連射速度も向上しているのだけれど、本質的な問題の一撃で仕留める弾丸はまだしばらく見られそうにない。

Party

知人が全くいないので心配していたが、たまたま来ていた友人を見つけたり何人か新しい人と話が出来て楽しい時間を過ごせた。Pythonアイドルの存在を知った。*2

2日目のレポートは未定。

Python文法詳解

Python文法詳解

人月の神話

人月の神話

*1:Aの評価が甘い気がする。

*2:アイドルだった