学習進捗状況

プログラミング学習の進捗状況を書き留めると同時に今までの学習を振り返ってみよう。

【高校2年】
図書館で「やさしいC」を借りる。2週間も経たない内に挫折。


【大学入学前】
兄から「やさしいJava」を譲り受ける。
実際にソースを書いてそれなりに奮闘してみるが、やはり2週間ほどで挫折。


【大学入学後】
授業で扱うテキストを元に学習を進める。
家では主に先を読み進めるだけで、実際にソースコードを書くのは授業時間内。

~進捗状況~
「配列」および「関数」を利用したソースを書いたことがある。
「ポインタ」「再帰的関数」および「手続き」がなんのことか知っている。


よくプログラミングの学習は「習うより慣れろ」と聞く。実際その通りだと僕も思う。
だが、それではその通りに実践できているのか?と問えば答えはNOである。
これは僕が不真面目である結果に他ならないのだが、しかしそれにしても難しい問題だ。
どうやってモチベーションを保ちつつ、習慣的な学習を続ければよいか? 
ぜひ誰か教えて欲しい。




モチベーションが下がる理由にはいくつか種類があると思う。
僕が考える限り、それは「倦怠」と「障害」である。
この二つは何かを学習しようとする限り、どの分野においてもつきまとうものだと思っている。

「倦怠」については簡単だ。
これは学生なら誰もが感じるだろう。
「ようし、やるぞ!」と意気込んだはいいものの、数時間で飽きてしまう。
こういった経験は一度や二度ではないはずだ。
実際ソースを書いている時にひたすらprintfや#includeを書くのにうんざりしたことがある。
以前、中学校の授業で10進BASICを扱ったことがあるが、
そこでは確かファンクションキーでこういったよく使われる単語が設定されていた。
C言語のソースを書く時にもどうにかして同じような快適な環境を作りたいと常々感じている。
(ひょっとしたらそういうソフトが既にできていて、僕が知らないだけなのかもしれないけど)
行末尾にセミコロンを忘れたりするミスにも同様のうんざり感を覚えるが、こちらはまだいい。
むしろ自分の初歩的なミスに気付かされ、有り難みを感じるほどだ。初心忘るべからず。


問題なのは「障害」である。今日一番語りたいのはここだ。
「さあ、もう受験生だ。志望校合格に向けて受験勉強に励むぞ! まずは数学から!」
と、なるのはいいが数十分も経たない内につまづいてしまう。
大概の理系科目もそうであるが、特に数学は難問の目立つ科目だ。
そのまま考える内に何か閃きが起きて先に進めばいいのだが、
いつまで経っても進まないということもままある話だ。
こういった時に「もう、やめやめ。一旦風呂に入ってリフレッシュしよう」といった風になる。
もちろん、入浴後に勉強を再開することはない。

僕の場合コンパイラがそれだった。というか環境を構築できなかった。今もそうだ。
自宅でプログラミング学習をしようとした時、当然用いるPCは普段使っているデスクトップだ。
そうなるとOSはwindowsになる。これはまだいい。
ネットで開発環境の設定をググって、それに従ってコンパイラをダウンロードした。
試しに「hello world」をコンパイルして実行してみようと思った時にそれは起こった。
ウイルスセキュリティが「hello world」プログラムをトロイの木馬だと検出したのだ。
結局、このおかげで自宅でソースを書くことはできるものの、コンパイルできないままでいる。
(実はもう一台ノートPCがある。こちらのPCはコンパイルすることはできる。
が、何故かプログラムを実行すると途中で強制終了されてしまう)
先輩に聞いてみた所、やはりwindowsC言語を書くのに適していないとのことだった。

また、自宅でソースコードを書いて大学でコンパイルするという方法も考えた。
だが大学でプログラミングに使うPCはLinuxである。
そのLinuxPCではUSBスティックメモリが使えないのだった。
よって書いてきたソースコードを持ち込めないのである。
僕はあまりLinuxに詳しくない。しかし詳しくないなりにネットで情報を集めてみた。
するとroot権限というものがないとUSBメモリを使用可能にできないらしい。
もちろん、一介のPC教室利用者に過ぎない大学生にroot権限とやらは与えられていない。
どうにかしてroot権限無しにUSBメモリを使えないものかと頑張ったがダメだった。

結局、僕がとれる手段としては自宅で書いたソースを一旦メールBOXか何か
ネット上にあげておいて、それを大学のPCで落としてコンパイルするというものしかなかった。
そもそも自宅でプログラムを作れないというだけでも苦痛であるのに、ここまで行くと面倒だ。
そんなわけで、僕は今大学の指定した参考書を読むことだけしかできていないのであった。
だがまあ、それですら進みが遅いのだから僕が不真面目であるというのは間違いない。


【追記】
ちょっと前にウイルスセキュリティの期限が切れていたので、今では別の物を導入している。
そこでさっきこちらのセキュリティではどうかと、試しにソースコードコンパイルしてみた。
すると、なんと何の問題もなくうまく表示された。セキュリティソフトの不具合(?)だったらしい。
どうやらこれからはデスクトップでCの勉強ができるそうである。
これでもまだ勉強が進まないというのであれば、それは僕が怠け者である証拠である。
「障害」というのは「言い訳」の代名詞であったのかもしれない。