2009年05月13日

情報処理屋に数学は必要か?!

文系の大学出身の人が気軽にプログラマになることはお勧めしません。
http://anond.hatelabo.jp/20080830010043

↑が面白かったので、ちょいとネタに。
PGに数学は必要かと考えると、職場によりけりだと思う。
いらない職場ならいらないし、必要なところもある。

ゲームだのグラフィック関連は必須でしょう。
ベクトル(敵を動かしたりするときとか)とか、行列(図の回転とかするの、行列+三角関数だよね?)とか。
建材の計算などには、たしか積分の知識が必要ですね。
しかも、パソコンが計算できるように誤差を丸めてみたり。
あとは、大学関係とかなら言わずもがな。

まあ、そういうのは別としても、いくらかは数学の知識が必要ですね。
浮動小数と丸め誤差。
暗号化と共通鍵のBigInt。
上限桁のないBigInt系の実相には、2進数が必要。
つか、2進、16進数がわからないと、ちょっとしたことで困った時に、手も足も出なくなりますか。
あと、数学じゃないですが、バイナリーアレルギーと英語アレルギーはプログラマとしては致命的ですね。

どこまでを常識程度の数学とするか、それによって微妙ですが、そこまで専門的な数学が必要になることはめったにないのではないでしょうか。
文言こそベクトルだのスプライン曲線だの難しい横文字をあげてみますが、要はどこにドットを打つかって問題なだけですし。
暗号系は自分で実装するわけじゃないので、中身までわけわからなくて済みますし。
お金の計算なんて、桁あふれと丸め誤差さえなければ、単なる四則演算程度です。
これって数学の知識が必要なのでしょうか?

業務系であれば、その業務に関する知識。
最近は豊富なソフトウェア資源が安く手に入るから、別に特殊な計算ができなくてこまるのは、作るときじゃない、バグったプログラムが個性に目覚めた時だ。
・・・あれ? ということはやっぱり必要?
どうでもいいけれど、先頭であげましたリンクですが、ちょっぴり突っ込み。
C言語のポインタが難しい概念だってのは、昔の通説ではないだろうか?
コンピュータにたいする知識のレベルが上がっている昨今、ポインタが難しいなんていう人は、普通のプログラムも難しいのではないかな?
参照渡し、値渡しなんて、ポインタ概念とさほど変わらない。
ついでに、ゴミあさり機能(GC)なんて、最近このまれるだけで、それほど大したものではないと思われ。
C言語にも、auto型変数は普通に存在するし、newだのmallocだのしないプログラムは、普通に開放してくれる。
逆にC#だのPerlだのといっても、APIだのでOS資源を確保したら、解放しないと結局同じ。
つくりの問題だというなら、C言語にもObjectCみたいなあやしいものもある。
C++もあれば「__gc」が使えるC言語のお仲間だって存在する。

言語なんてただのツールだし、開発すればどうにでもなる。
低級言語が偉いわけじゃない。
目的しだい。

ああ・・・、読み返したら自分に突っ込みを入れたくなるのだろうなぁ、俺w
posted by w033 at 22:18| 東京 曇り| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/119404242

この記事へのトラックバック