2009-08-07

http://anond.hatelabo.jp/20090807172637

これマジ?

俺、未経験(もちろん非情報系専攻)で業界に入ってプログラミングやることになって1年くらい経つ。

その間の学習の軌跡はだいたいこんなもん。

  • とりあえずK&Rを読まされてCをなんとなく学習。すぐにC++コード書くことになる。C++柴田ボウヨウかなんかの本を読む。
  • メモリ空間イメージがつかめなくて苦しむ。参照と実体の区別がつかなくてオブジェクトをうまく扱えない。
  • メモリ空間イメージを理解した。ここまでくると大体感覚がわかってくる。OOPとかすんなり理解できるようになる(もちろんギークレベルでは決して無い)。
  • デザパタ系の本をあらためて読むと意味がよくわかるようになっている。継承とかよくないよね。できるだけ集約を使って権限と責任を委譲した方がいいよね、みたいな感じ。
  • Template Methodとか正直名前を覚えてられないんだけど、今ググったら普通に使ってる手法だった。ていうか普通に考えてそういう設計になるよね、みたいな。(いまここ)


実際にはコード書く以外の仕事してる期間も結構ある(半分くらい)。設計考えたりとかアルゴリズム考えたりとか。

でも俺、ギークとかなんとかみたいな変態プログラマの人たちには全く追いつける気がしないし、わかんないことだらけで俺センスねーなーと思うことしきり。本当に。

「珠玉のプログラミング」っていう本があるけど、あれみたいにビットレベルコンピュータ原理を最大限活用してパフォーマンスの高いコードを書く、みたいな考え方がさっぱり身につかない。

でもこのエントリ見ると、俺もちょっとは自身もっていいんじゃね?って気がしたわけだ。

でもやっぱりそんなことは無いのかな。

ちなみにデザパタ関連およびOOP関連では『デザインパターンとともに学ぶオブジェクト指向こころ』っていう本がマジオススメ感動的にわかりやすい。

記事への反応 -
  • あれは私がまだ大学助手をしていたころだから3年ほど前のことだと思う。 私の勤めていた大学(情報系)では「プログラミング研究会」みたいなサークル活動が行われていて プログラ...

    • これマジ? 俺、未経験(もちろん非情報系専攻)で業界に入ってプログラミングやることになって1年くらい経つ。 その間の学習の軌跡はだいたいこんなもん。 とりあえずK&Rを読ま...

      • 26歳から職業プログラマーやってるが。 前職は文系職だし、学生時代にCとかFortranでゴミみたいな設計(ていうか設計ってなに?食えるの?みたいなレベル)の数値計算プログラムを書いた...

    • 文章から判断するに、その彼女は、 「創造」と「演繹」の能力に比べて 「分析」と「帰納」が優位だから、 先に理論を説明するより、 良い例、悪い例を見せてから、やらせてみて、 そ...

    • あれは私がまだ大学助手をしていたころだから5年ほど前のことだと思う。 私の勤めていた大学(情報系)では「SEX研究会」みたいなサークル活動が行われていて SEXの講義を受け持ってい...

      • http://anond.hatelabo.jp/20090807204140 C++は中高生のセックスに似ている。何故ならば。。。 みんな、そればっかり考えている みんな、その話ばかりしている みんな、他の人もやっていると...

    • プログラムは論理だけじゃない著作物ってことですね。 コンピューターのためだけでなく、人間にもわかりやすい記述が必要。 しかし、それは論理だけではなく経験も必要ということか...

    • ケース1のどこが悪いかわからない。 変数iのスコープを適切にして、 変な箇所でiにアクセスさせて不良を発生させるリスクを減らせって話? 私がメインはC++のコーディングするから...

      • こういう人が書いたプログラムは保守性悪いだろうな・・・ ケース1で問題なのは、for文内で行っている処理が引数付きのメソッド呼び出しであること。 引数のないメソッドや、単純な...

        • といったってたかが4バイトじゃないか。 ここで問題になるようなバイト数か?

        • メソッド呼び出しは、どちらの書き方でもスタックにiがプッシュされるだけでは? もしかして特殊な環境の話?

        • にやにや

        • ところが今回はカウンタ変数を引数に入れてメソッドを呼び出している。 そうなると、メソッド呼び出し先で、仮引数のメモリを毎回確保することになるので、 カウンタ変数を共通...

          • C/C++ならば、ループカウンタにローカル変数を使えば、最適化されることは分かってるから保守性重視で書く。 真面目なコンパイラなら1はどっちを書いても同じようなコードになるさ。 ...

            • 真面目なコンパイラなら1はどっちを書いても同じようなコードになるさ。 同じようなコードというのはコンパイラが吐き出すアセンブラコードの話?? 真面目なコンパイラなら修正...

              • レジスタの多いCPUの場合で、単純なループが最適化されるとループカウンタはレジスタ上に確保される。 ローカル変数の場合。全てのコンパイラを知ってる訳じゃないから、全部そうな...

                • なるほどコンパイラで同じアセンブラコードはかれるんですね。 じゃ、変数のスコープ短く保つべきですね。

                  • http://anond.hatelabo.jp/20090809221610 最初の文と次の文が全然つながってない気がする 吐かれるコードが一緒なのに、じゃ、の意味が分からない…

            • まー、こんな所をチマチマこだわっても、全体は良くならん。 こまけーこたぁいいんだよ!!(AA略 そこは同意。 ただ大元の増田の投稿で「退行」って騒いでいるから、そんな騒ぐほ...

            • Cから入った中途半端なC++プログラマでオブジェクト指向の理解イマイチだからかもしれないけど、私はこんなコードをよく書く。 ObjA *a = NULL; ObjB *b = NULL; int rc = RC_SUCCESS; a = createA();...

      • 実際に稼げてるか分からないメモリのために、変数の寿命を短く保つというルールを曲げるのは、割が合うかどうかって話じゃないの? 「変数の寿命を短く保つ」という基本的なルール...

    • 長文の割に内容なさ過ぎ。別に難しい用語を使ってるわけでもないのにこういうのがかけるのも才能なのかもしれん。何が正しい方向かが全然明示されないからその逆行現象というのも...

    • お前中卒だろ?

    • 現役中学生の間違いでは。

    • あれは私がまだ大学助手をしていたころだから3年ほど前のことだと思う。 過去形で書いてあるのはクビになったからだろうか。

    • 正直、ケース1は大した問題ではない。 そりゃ、スコープの理解がきちんとしているのに越したことはないけど。 この程度でウダウダ言うぐらいなら後置インクリメントを改めるべき...

      • 後置きインクリメントってi++のことだよな? それが++iの方に改めろって言ってるんだよな? どして? 評価順が換わるのは分かるが、このケースでは処理結果に影響ないじゃん。i++だと...

      • http://d.hatena.ne.jp/cubicdaiya/20080606/1212695409

        • 作法ではないな。内部処理的な問題。 http://anond.hatelabo.jp/20090809204059がよい解説のリンクを張ってくれたので見るといい。 簡単に言えば後置インクリメントは処理の内部で必ず一時的な...

    • Google Docsはグローバル変数を使う、定石とは逆の実装 | エンタープライズ | マイコミジャーナル http://journal.mycom.co.jp/news/2009/08/11/020/index.html

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん