新人をバイナリアンに育てる ~ その7 ~

新人で C の初心者高橋君。4週間本を読んで配列を理解し、社長からコメントをもらいます。


新人「ー拡張させてみたが予想以上にソースが煩雑なため訂正予定」
社長「重要なことは”煩雑”であることを一歩引いて感じることができるかどうかだね。
あと、無駄な処理をしていないかとか、、、、
この経験が重なると、美的感覚が(プログラミング上の美的感覚)が養われてくる。
これらのことを感じるためには、”動いた”を終着駅にしないことだね。」

こんな”哲学的”なこと言ったってわかるわけないじゃん。そもそも、今の自分でも理解が難しい。この数年後「神の数式」を見て、「美的」ということがいかに空疎な事かを知ることになります。数式やプログラムが「美しい」なんてのは妄想でしかないと今は思っています。

新高橋君:日報 7/11(Mon)

作業報告します

今日行ったこと
 ー"Unix/linuxコマンドの使い方"を322ページ中237-247まで読み進める
 ー"新C言語入門"を198ページ中75-98まで読み進める
 今週の計画の詳細をまとめる

プログラム関連
 ー線分を描画するプログラムの作成
  ー第四象限内の線分を描画するところまで終了
 
今後のtodo
 ー"Unix/linuxコマンドの使い方"を読み進める
 ー"新C言語入門"を読む


 ー入力に応じて三角形、四角形、円を複数個描画その後にrawデータで保存するプログ
ラムの作成
  ー三角形を描画させる関数を作成するための前準備として線分を描画するプログラムの作成
   ーあらゆる点の線分を描画するプログラムの作成
    ー与えられた値に応じて適切な線分の描画関数を呼び出すプログラム
    ーfloatを使わずに線分を描画するプログラムにするように変更
  
  ーまた円を描画する方法について調べるべき
   ー図を回転させるプログラムを応用できないか確認したい

 ー図を回転させるプログラムの作成
  ー行列計算を用いるため要確認
  ー変換後の座標の判定方法についても考える必要がある

コメント

C 言語の習得はやはり難しい。とにかく回数。と思い、複数の本の配列までをやってもらうことにしていた。線の描画は、第四象限内までできたらしい。え!こんなペース?と思う人もいるかもしれない。でも、実際はこれくらいがが妥当なのだ。

社長通信 7/11(Mon)

みんながリーナス・トラバースさんになろう。
 =>どうすればなれるか?
 =>科学的アプローチが必要


脱線しつつ、、、直接スレッデッドコードを勉強。(LOL で読んだはずなのだが、、、、)
http://jp.rubyist.net/magazine/?0008-YarvManiacs
がわかりやすい。

スタックマシンの本を読むことにする。
あと、IA64 の本も読むことにする。=>レジスタウィンドウを使っているから。

GLSL について調査したことを一杯忘れたので、やり直し、、、
スーパースカラー=>アウトオブオーダーなプロセッサ
ついでにレジスタを動的に割り当てるかレジスタウィンドウにするかしたい。

コメント

社長が率先して技術的なことを頑張っているなというメッセージ

新人じゃない人の日報

  • Fill Rect の、性能評価テスト

fps を計って表示するようにした
HW 使った場合 -> 580 FPS 前後
HW 未使用 -> 60 FPS 前後

コメント

おーさすが。Fill Rect (DirectFB のアクセラレータとして実装)、HW 使うと相当速くなる。当たり前だけどちょっとうれしい。

新進高橋君:日報 7/12(Tue)

作業報告します

今日行ったこと
 ー"Unix/linuxコマンドの使い方"を322ページ中248-260まで読み進める
 ー"新C言語入門"を198ページ中99-120まで読み進める

プログラム関連
 ー線分を描画するプログラムの作成
  ー第四象限内の線分を描画させた
  ーfloatを使用しないで線分を描画させた
   ー少々汚いため軽く手直しが必要
  ー実行時の引数で線分を描画するように改良

今後のtodo
 ー"Unix/linuxコマンドの使い方"を読み進める
 ー"新C言語入門"を読む


 ー入力に応じて三角形、四角形、円を複数個描画その後にrawデータで保存するプログ
ラムの作成
  ー三角形を描画させる関数を作成するための前準備として線分を描画するプログラムの作成
   ーあらゆる点の線分を描画するプログラムの作成
  
  ーまた円を描画する方法について調べるべき
   ー図を回転させるプログラムを応用できないか確認したい

 ー図を回転させるプログラムの作成
  ー行列計算を用いるため要確認
  ー変換後の座標の判定方法についても考える必要がある

コメント

前日までは線分描画に float を使っていたらしい。この辺が、数学とプログラミングの違いかな。float つかったら遅くなるからね。

新進高橋君:日報 7/13(Wed)

作業報告します

今日行ったこと
 ー"Unix/linuxコマンドの使い方"を322ページ中261-272まで読み進める
 ー"新C言語入門"を198ページ中121-140まで読み進める

プログラム関連
 ー線分を描画するプログラムの作成
  ー引数の数に対応したヘルプの作成
  ー点が指定された範囲を越えた場合の処理の関数の作成
  ーあらゆる線分を描画するプログラムの作成
   ただし手直しすべき部分があるかもしれない

今後のtodo
 ー"Unix/linuxコマンドの使い方"を読み進める
 ー"新C言語入門"を読む


 ー入力に応じて三角形、四角形、円を複数個描画その後にrawデータで保存するプログ
ラムの作成
  ー三角形を描画させる関数の作成
  
  ーまた円を描画する方法について調べる
   ー図を回転させるプログラムを応用できないか確認したい

 ー図を回転させるプログラムの作成
  ー行列計算を用いるため要確認
  ー変換後の座標の判定方法についても考える必要がある

コメント

ついに線分描画で全方向の描画ができるようになった。if を使ったのか case を使ったのか、、、、いずれにせよ場合分けが出来たということ。「ただし手直しすべき部分があるかもしれない」が何なのかは不明。

新進高橋君:日報 7/14(Thu)

作業報告します

今日行ったこと
 ー"Unix/linuxコマンドの使い方"を322ページ中272-281まで読み進める
 ー"新C言語入門"を198ページ中141-161まで読み進める

プログラム関連
 ー線分を描画するプログラムの手直し
 ー三角形を描画するプログラムの作成
  ー複数個描画させる仕組みについて考える必要がある

今後のtodo
 ー"Unix/linuxコマンドの使い方"を読み進める
 ー"新C言語入門"を読む


 ー入力に応じて三角形、四角形、円を複数個描画その後にrawデータで保存するプログ
ラムの作成
  ーまた円を描画する方法について調べる
   ー円を描画させるアルゴリズムはあるようなので利用したい

 ー図を回転させるプログラムの作成
  ー行列計算を用いるため要確認
  ー変換後の座標の判定方法についても考える必要がある

コメント

線分を組み合わせて三角形を作るプログラムにチャレンジ。Logo とかだと簡単にできそうな気がするが、、、

新進高橋君:日報 7/15(Fri)

作業報告します

今日行ったこと
 ー"Unix/linuxコマンドの使い方"を322ページ中282-294まで読み進める
 ー"新C言語入門"を198ページ中161-174まで読み進める

プログラム関連
 ー三角形を描画するプログラムの手直し
 ー円を描画するプログラム
  ー見たアルゴリズムには欠点があるらしいので別の方法を模索中

今後のtodo
 ー"Unix/linuxコマンドの使い方"を読み進める
 ー"新C言語入門"を読む
 ー"C実践プログラミング"の読んでいない部分を読み進める

 ー入力に応じて三角形、四角形、円を複数個描画その後にrawデータで保存するプログ
ラムの作成
  ーまた円を描画する方法について調べる
   ー円を描画させるアルゴリズムはあるようなので利用したい
  ー線分を描画するプログラムの訂正
   ー関数が多すぎて逆に分かりにくくなってる問題
   ー線分を描画させる関数について冗長性がありすぎる問題
    ーエラー判定も若干冗長性がある

 ー図を回転させるプログラムの作成
  ー行列計算を用いるため要確認
  ー変換後の座標の判定方法についても考える必要がある

C実践プログラミングを今週の休日中借ります

コメント

三角形の次はなぜか円。四角形が簡単すぎるから?「関数が多すぎて逆に分かりにくくなってる問題」があるらしい。どんな問題なのだ?土日の間に勉強するらしい。えらいぞ。