たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

ここ最近の動向についての反省

転換点

少し前にIT勉強会に行ったことが転機だったと思う。

私は元々、技術的なことを自主的に勉強するようなタイプではなかった。
どうやら自分は「特に推奨されていないこと = 推奨されるべきでないこと」と考えるきらいがあったようで、
「やった方がいいんだろうけど、他にやるべきこともあるしなぁ…」などと、やらないための理由を考えてばかりいたように思う。
そして現に推奨されていることはやらない。

だがIT勉強会に行ってから、
「誰に言われるでもなく、気になることを勉強すること」は好きなようにやっていいものだと思うようになった。
そのことに気づいてから、まるで世界が違ったように見えている。
別の色眼鏡をかけただけかも知れないが、やりたいものを見つけられている分それでもマシというものだ。

できればあと10年くらい早く気づきたかったがな。

何をしていた

じゃあ何を勉強するか。
元々ゲーム作りに興味があったし、ゲーム作りでもするか。
スパゲティコードを量産するのももう足を洗いたいし、綺麗なコードを書く勉強もしたいし、設計の方法の勉強もしたい。
それらもゲーム作りで勉強したい。
でも設計の方法なんて全くわからない、そもそも初めてのことだから的確な設計なんて出来るはずがない。
じゃあ一旦動くものを作ってから、的確な設計を考えよう。
綺麗なコードを書くのはともかく、設計の勉強はそれからだ。

プログラムもC言語しかろくに使えないのもいい加減に脱したいし、他の言語の勉強もしたい。
とりあえず、長くはないけど使用経験のある C++JavaPHPPythonあたりの復習から始めよう。

そんな風に思っていた。
そんな経緯で始まったのが、「プログラムで何か作ろう計画」だった。

何があった、どう思った

そんなこんながあって数ヶ月が過ぎた。
作っていたゲームはそこそこ形になってきた*1し、
C++Pythonもそれなりに書けるようになっているつもりだった。

そんな折に、プログラミングの能力を測定する試験を受ける機会があった。
よくある典型的な問題ではなくオリジナルで全くの未知の問題だった。
折角なので、C++で解こうと思った。

結果はほとんどできなかった。
いざ「C++で書こう」としたら、標準入力から読み込むstring型の大きさの指定はどうするのか?
Cと同様に宣言/初期化時に大きさを指定しないとダメなのか?
スタックを使うにはどうするのか?

未知の問題だったというのもあるが、こういったことが気になってプログラムを書く手が止まってしまったのだ。

あと選択問題で、落ち着いて考えればもっと簡単に解けたはずの問題を見極められなかったのも凹んだ。

じゃあどうするのか

C++PythonJavaPHPもと、あれもこれもと手を出した結果、
どの言語もしっかりと身についていなかった。

これを反省に、まずは勉強したいことをいくつかに絞って集中させようと思う。
とりあえずプログラミング能力を身につけたいので、そのあたりから。

あと既知の問題よりも、未知の問題の方が圧倒的に多いのは自明なので、
ネット上で転がってる問題とか解いてみようと思う。CodeIQ とか、プロコンの過去問とか。

気になるものメモ

「いくつかに絞って」といった後でナンだが、まぁそれはそれとして、気になっているものをリストアップしてみよう。

「自信ないし、一番経験が長いC言語で書こう」という状況は脱したい。

  • Webページ/サービス作り
  • 落描き

*1:つまり、まだ設計の勉強までできていないということなのだが