2014年06月07日

プログラマに数学は必要なのか?

愛と勇気と缶ビール:プログラマーは文系の仕事か、理系の仕事か
の記事を読んだついてにちょっと書いてみようかと


結論から一言
「プログラマに向いているのは理系だろう」
と思っています。

その前にまず理系と文系の違いは何かと言うと、
「文学や言語学」と「数学や科学系」
どっちの学問を中心に持っているかという感じになります。

まずプログラミングという物は、存在しているほぼすべての学問が必要になってくる“事もあります”
ある人はありとあらゆる絵や写真を数字に変換して、それに類似する別の画像を探し出す物を作りましたし、
ある人は小説の言葉の並びから音楽を作るシステムを作成しました。

ただこのような超高度で他の学問についても詳しいプログラミングという物は、
普通のプログラマでは歯が立ちませんし、まず作る機会はないと思います。
一般的な職業プログラマの9割が日常的に取り組んでいる物なんて、
今まで収集したデータを表示する物やツールを組み合わせたシンプルな動きを組み合わせたゲームくらいでしょう。

正直な話、一般的なプログラマはそこまで難解なプログラムを書きません。
仕事でやるようなプログラムの大半は初級中級と言われるプログラム本の概念ばかりで作れてしまいます。
それ以上に難しいコードというのは、
その会社に置いて能力の高いプログラマに回されるでしょうから、
一般的なプログラマはあまりやる機会はないでしょう。

一般的なプログラマが出来る範囲というのは、
詰まる所、本をちゃんと読み解き、その様々な部分を組み合わせる考えが出来れば仕事が出来ます。
そこで生きてくる概念は、
文学的な読みやすさも含めたクラス設計もありますし、
数学的に無駄を綺麗に省いたコーディング技術もありますが、
理系文系のくくりにおいて、大きな違いはおそらく出ません。


仕事でやる範囲の大半は、理系と文系に大きな差違は出にくい。
ですが、高度な開発を要求された時、
理系と文系の違いがはっきり出てくると思われます。

例えば、
出来うる限り高速で無駄なく動く設計、
これに必要なのは、数学的に計算出来る最良設計を探し出す事です。
ゲームでも複雑な物理演算を独自設計しなければいけない、
行列・四元数・物理知識など最低でも高校レベルの知識や経験がダイレクトに必要になります。

このように高度な物を作ろうとした場合、
どうしても理系の方が知識量に勝りますし、文系が持つ文学的な概念では上手く再現出来ない物が多いです。
結論として、
文系より理系の方が高度な物に対応する為の下地を持っているのです。
その下地まで考えると、
理系の方が出来る事は多いのです。


残念ながら私の周りにいるプログラマは少ないので、
この予測から統計的な物を図る手段は持っていないのですけど、
時折出会う非常に難しいソースコードに出会った時、
どうしても一定以上に高い数学概念や数学知識が必要になると感じる事が多いです。
posted by 迷い猫 at 23:56| Comment(0) | TrackBack(0) | パソコン専門 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


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

この広告は1年以上新しい記事の投稿がないブログに表示されております。