- 締切済み
C言語の理解を深める
僕はC言語を大学で学び始めて2年ぐらい経ちます。授業ではデータベース、深さ優先アルゴリズムなど広く(しかし浅く)学んできました。よりC言語の理解を深めるためにあらたにC言語の応用編の参考書を見たりしようかと思ってます。 ここで質問ですが、現在プログラマーの人やプログラミングを学んでいる皆さんは、一体どのような勉強法で理解を深めているのですか? また以前を振り返って学生時に挑戦したりやっておくとよかったことは何だったとおもいますか? たくさんの回答お待ちしています、ご協力お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- m_mik
- ベストアンサー率26% (31/117)
理解を深めたというわけではないかもしれませんが… ・作ったプログラムからライブラリ化 作ったプログラムで自分の中でだけでも共通で使えそうな処理を抜き出して、ライブラリ化していました。 今後、自分が楽になるというのもありますし、どのような感じで共通化していけば良いのかとか、どの程度の大きさで共通化していけば良いのかが解かったと思います。 ・プログラムの最適化 根が貧乏性のためか、どんなプログラムでも1クロック(おおげさですが)は速くなると信じて書き直したりしています。 そのためには違うアルゴリズムを考えて作ったりして、実行してさらに書き直したりと… こうすることにより、自然に色々なパターンのプログラムを作れるようになったと思います。 学生時代にはやっておけば良かったと思うことより、今のところは学生時代に習った内容をもっときちんと覚えておけば良かったとおもうことはあります。 三角関数だって習ったはずなのにきれいに忘れていたり、ド・モルガンの法則を忘れていたりなど…
- lv4u
- ベストアンサー率27% (1862/6715)
C言語を理解するのに役に立ったとおもうことは 1)アセンブラ言語の学習 2)GnuのCコンパイラ解析と機能追加 3)市販データベース(C言語ソース)の解析と機能追加 4)Linux環境の構築 特に3は、C言語の初・中級の書籍ではお目にかからないコーディングがあったり、巨大ソースの読みこなし方とか、とても勉強になりましたね。現在はもうそのDBのソースソード販売はやってないようです。でもMySQLなど、フリーなDBでソースを見ることができるものは多いので状況は良くなっていますよね。 ちょっと関係ないですが、学生時代には、ハンダゴテを握ってラジオやアンプを作っていたので、パソコンに接続するI/F基盤の自作などを通じて、パソコンがより理解できるようになりましたね。
お礼
市販のデータベースを解析するのは面白そうですね。プログラマーの作ったプログラムとかみるとおもしろそうですね。リナックスのソースを手始めに見物しようかと考えます。 学生時代にハンダコテをつかってラジオを作ったのはすごいですね。 今のお仕事は何をされているのか気になるところです。 参考になりました。
他人のコードを見て処理を追ってみる事を良くやった。 つまり打ち込んで実行させるのではなく、「これはこう動く筈だ」と追いかける。 これは教科書の例題のようにあまり長くない物の方がやりやすい。 他には「scan以外でキー入力はどうするんだろう」とかを調べて簡単なゲームに挑んだりした。(UNOとか) 言語の理解も大事だけど、どのように組立てれば良いのかを学んだ方が良い。
お礼
ご回答ありがとうございます。 どのように組み立てるのかイメージしながらプログラミングするのはいいことだとおもいます。あと、あそびの要素を取り入れることで飽きずにまなべますね。 参考になりました。
お礼
最適化という言葉は知っているのですがそれを取り入れてプログラムに反映させるというのはどんなことになるのかよくわかりません。 というのもまだそこまで長いプログラミングを書いたことがないためです。想像ですが企業のプログラムで最適化を取り入れることで時間、人、コストを抑えることができるので大事だと思うのですが、一体どんなことをしているのでしょうか?もし知っていたら教えてください。 ご回答ありがとうございました。