はむ吉(のんびり)の練習ノート

主にプログラミングについて、思いついたことや、試してみたこと、学んだことを、覚え書きを兼ねてまとめます。

2017年を振り返って:(競技)プログラミングを中心に

いつもながら,月日が経つのは早いもので,つい最近お屠蘇気分に浸っていたと思ったら,もう 2017 年が終わろうとしています.そこで,昨年末と同様に,主にプログラミング,とりわけ競技プログラミングの面について,2017 年を振り返ります.

プログラミング

競技プログラミング

この 2017 年こそは競技プログラミング力 (?) をつけようと少々意気込んではいました.しかしながら,環境が変化したこともあり,結局大して競技プログラミングの練習時間をとらず,結果としてレーティングなどのコンテストにおける成績は惨憺たるものとなりました.とはいえ,初めてオンサイトのプログラミングコンテストに参加することができたという,うれしい出来事もありました.

私が主に参加している AtCoder では,水色から青色への復帰を目指していましたが,それどころか緑色との境界が見えてくるというありさまになりました.昨 2016 年末にはかろうじて青色コーダであったものの,そこから諸般の事情があったとはいえレーティングが急降下をはじめ,あっという間に水色の中の下まで潜行してしまいました.年度替わりから少々持ち直したもの,まだまだ下り坂です.練習量と精神の状態が,競技プログラミングにおける成績にどれだけ大きな影響を与えるかを思い知らされました.

f:id:hamukichi_nbr:20171231133852p:plain
AtCoder におけるレーティングの推移(2017 年末時点).

そのような状況ではあったものの,幸運にもオンサイトのプログラミングコンテストへの初参加を達成できました.それは,DISCO presents ディスカバリーチャンネルコードコンテスト 2017 (DDCC2017) でした.十数年ぶりの関東入りであるだけではなく,そもそもこういった同好の士が顔を合わせ集まるといったイベントに参加した経験がそれまでほとんどなかったため,いろいろと場違いな行動をしでかしました.とはいえ,おかげさまでさしたるアクシデントもなく,またとない機会を楽しんで過ごすことができました.次にこのようなオンサイトでのイベントに参加する機会を得られるのは何か月後か,はたまた何年後かわかりませんが,その際にはぜひ行きたいものです.なお,参加記は以下の通りです.
hamukichi.hatenablog.jp

競技プログラミング

昨年度まではプログラミングを単なる遊びや現実逃避の手段として半ば思い込むようにしていたのですが,今年度からそれはもはや不適当となり,むしろプログラミングを問題解決のための道具として積極的に使用するようになりました.競技プログラミングで多少なりとも培った実装力やアルゴリズムを考える力は,こういった非競技プログラミングにも役立っているように思います.

このような取り組みの中で,Python の NumPy や SciPy といった数値計算用ライブラリや,pandas のようなデータ解析用ライブラリを使うようになりました.プログラムの本体は重い処理を多く含むため高速な言語で書くが,その後の解析や雑多な処理は Python で書くということがよくあります.その際に,上で挙げた Python の外部ライブラリが重要であることをいまさらながら実感しました.先日購入した『科学技術計算のためのPython入門:開発基礎、必須ライブラリ、高速化』(著:中久喜健司)を傍らに,実践を通じて勉強を進めています.

遠出

元来私は出不精なのですが,今年は上述のプログラミングコンテストを含め,日本各地に足をのばす機会をいただきました.特に,東海地方,中国地方四国地方に足を踏み入れたのは,今年が初めてでした.残りの地方にも行ってみたいものです.

本の蒐集

帰りが遅くなり図書館の閉館時刻に間に合わないことが多くなり,その代わりに古本チェーン店に立ち寄ることが多くなりました.プログラミングやアルゴリズム,物理や化学を中心とする自然科学,および京都関連の古本をよく購入しています.『Effective C++』,『リーダブルコード』,それに『プログラミング作法』といった名著も手頃な価格で入手できました.そのようなことを続けていると,本棚には到底本が収まりきらず,段ボール箱を当座の棚とし,まるで部屋の中が古書即売会の一角のようになっています.そもそも,読むペースが買うペースに追い付いていない気がします.そろそろ対策をとらねばならないかもしれません.


むすび

いろいろな変化があったとはいえ,おかげさまで 2017 年も無事に過ごすことができました.来年もよろしくお願いいたします.それでは,よいお年をお迎えください.