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

日の下には新しきものあらざるなり 下

Programming/一般
Pythonのような言語を使う人はIDEなんか使わずにテキストエディタでやっちゃう人が多いというが、僕はIDEを使って開発したい派である。
IDEを使うとひとつのウィンドウで必要なものがすべて制御できるというのがいい。意外と画面がちっちゃいPCで開発している時に便利で、エディタやら端末エミュレータやらエクスプローラで画面がうめつくされる事がなくなる。
今はIntelliJという会社のPyCharmというPythonIDEを使っている。この会社はソフトウェア開発ツールを売っている会社で、もちろんPyCharmも有料ソフトウェアである。しかし機能が一部オミットされたものがコミュニティ版として無料配布されている。いまのところこの機能が足りない、というのを感じたことがないんだけれども、いったいどこが有料版と違うのだろうか。(ちなみにIntelliJ IDEAというEclipseのように多くの言語に対応してるIDEもあるけれども、これもコミュニティ版がある。ドワンゴに入社すればこれの有料版を使わせてくれるそうだ。)



自宅デスクトップ、モバイルノート、研究室デスクトップと都合三台のPCを使うわけだが、ソースコードDropboxに入れておけばシームレスに使用するPCを切り替えることができる。これはJavaのような言語を使っているとムズカシイかもしれない。各PCでディレクトリ構造が違うので、作業ディレクトリ以外のディレクトリパスを読んで
知り合いにGithubを使って(家に帰る前に研究室PCからpushし、家に帰ったら家のPCでpullするとか)る人もいるけれども、これはおすすめしない。
Gitにコミットするのは「家に帰る」とか人間にとってキリの良いタイミングではなく、「ある関数が書き上がった」とか「あるバグをつぶした」とかプログラムにとってキリの良いタイミングで行うべきである。そうしないとログをみても何が変わったのかわからないコミットが延々続くことになる。
また、pullするのを忘れてコミットしてしまうなんていうミスも誘発しやすい。

 IDEにGitを扱う機能があることも多いが、これは使わないほうがいいと思う。昔EGitというEclipse用のGitプラグインを使ってたことがあるけれども、問題なくコミットやらpushやらできているときはいいのだが、何か問題がおきると途端に牙をむく。結局問題解決できずにリポジトリ作り直し、今までのコミットは全部消失ということも多々あった。
GUIになってるとなんとなくわかった気になって適当にポチポチやっちゃうんだけどもGitは結構複雑なので基礎をしっかり勉強してコマンドラインから触るべきでしょうね。
変な競合をおこして手動で解決をするはめになるなんて、時間がもったいない。

タスク管理は現状Evernoteにメモを書いておく程度しかしてないんだけれども、これはもうちょっとマシな方法を導入したいものである。
チーム開発をしているわけではないのでGithubは「できたものを公開する場所」として割り切っている。なのでIssuesで管理というのはなんか違う気がする。そういうのよりももっと手軽にアイディアをメモしておけるような仕組みが欲しい。
最近とある企画に参加しており、そこではTrelloというサービスを使って情報共有をしている。このTrelloというのが独りで使ってもいけそうな感じなので導入を検討中。

Webスクレイピングを行うスクリプトを書くような場合、対象となるHTMLの例を資料として使うけれども、こういうのはGithub Gistというのにとりあえず放り込んである。
ブログなどへの埋め込みコードを発行できるので共有するのにも便利。

とまぁこんな感じ。

プログラムの入門書なんかを読むと、最初の方の章では「とりあえずはじめはメモ帳でよいので…」といった内容が書かれていることがあるが、プログラミングは絶対に形から入ったほうが良い。
形から入ろうとすると、最初にかかる手間暇は多いけどもその後でたっぷり楽ができる。
そうなるとプログラムの動くうれしさはそのままに書く辛さが軽減されるので、長続きすると思う。