Pythonに入門している

Pythonを学び始める

今年の 行動規範 でも書いた通り、Pythonに入門している。きっかけはAWS LambdaがPython対応しており、またAnsibleもPythonで書かれているということで、Pythonの読み書きが出来た方が今後良さそうだなと思うに至った。これまでRubyをよく書いていたけど、Linuxにデフォルトで入っているのはPythonやPerlという現実的な問題もある。

今までにやったこととしては取りあえず本を2冊読んだのと、一昨日は 入門者向けのPythonハンズオン に行ったりしてみた。基礎文法はだいたいさらって、requestsのようなポピュラーなライブラリは試してみた程度。

Pythonチュートリアル 第3版
Guido van Rossum
オライリージャパン
売り上げランキング: 24,079
Pythonエンジニア養成読本[いまどきの開発ノウハウ満載!]
技術評論社 (2015-06-16)
売り上げランキング: 42,458

なおPythonチュートリアルはつい先日改版が出たのでそっちをリンクしてます。自分が買ったのは先月です(白目)

Pythonに対する小並感

自分はアプリ屋ではないので言語に対する知見は広くないのだけど、なんとなく感じているのはこんなところ。

2.xと3.xの両輪を回さなくてはならないことを除いては、全体的にはシンプルだし書きやすくてよいなという感じがする。インフラ自動化便利ツールもそろそろなにか書いてみたい。

新しい言語の学習方法

あと言語学習ではいままで「とりあえず書く」というのを手法にしていたけど、複数言語を学んでみて徐々にわかってきた勘所が2点ある。

文法で押さえるべきポイントは決まっている

例えばelifelsifelse ifかとか、false判定されるのはnullなのか0なのか""なのかとか、複数言語を並行して遣うときに迷うポイントはわりと決まっているので、そこさえ押さえればとりあえず書ける、というのがある気がした。

チートシートを自分用に作るのも漫然と端から文法を並べ立てるのではなく、こういうポイントに限ったものにすると効率がよさそう。

読むのも勉強

書くのではなく読むのも勉強。よく言われることではあるけれど、これまであまり意識していなかった。冒頭に挙げた通り、PythonではLambdaとAnsibleという明確にきっかけとなったツールが存在しているので、これらのコードをしばらく読んでものにしてみたいと思う。

あと個人的には最近インフラ界隈でもわりとgolangが話題で気になっているけど、それはまたおいおい(実はgo製OSSを修正して使いたくて、ちょっとだけかじってはいる)。