2ntブログ

プログラムは欧米的思考で作る

日本人プログラマのレベルが欧米に比べて低いのは、コンピュータが欧米で開発されたもので、開発言語なども全て英語が元になっている・・・からではありません。
日本人の思考がプログラムに向いていないからです。

例えば1980円の買い物をした時に2000円出せば2000-1980でお釣りは20円だなって日本人は考えます。
しかし欧米人は1980円に20円足したら2000円になるからお釣りは20円だなって考えるらしいです。

この引き算的考え方が、日本人のプログラム作りを難しくさせている一番の大きな要因です。
つまり過程を思い描くのが下手なんですよ。

「空を自由に飛びたいな」→「はい、タケコプター」これが欧米人
「はい、タケコプター」→「あれ?なんかこれ頭に付けたら空飛べるんだけどwww」これが日本人です、本来は。
日本の文化が欧米でクールと言われるのも、この考え方の違いがあるからですね。
つまり結果ありきで過程を考える欧米人が、思いも付かない結果をなんかやってたら出たってのが日本だからです。

プログラムってのはゲームだろうがビジネスソフトだろうがツールやドライバやOSだろうが、作ろうと思った時にはっきりしているのは「結果」だけです。
何をどういう順番でどうすればその「結果」が出せるかを考えるのが、プログラマの主な仕事と言っても過言ではありません。
お釣りの計算のように、「結果」から「素材」を引けばすぐ答えが出るわけじゃないんですよ。

そもそもCPU自体がそういう風に作られています。

CPUって実は足し算と引き算しかできないって知ってますか?
CPUが直接理解できる命令=マシン語には、A+Bの「+」って命令はありますが、A×Bの「×」は存在しません。
じゃあ掛け算や割り算はどうやっているかっていうと、足し算や引き算を何回も繰り返して実現してるんですよ。
A×BならA+A+A+A+・・・っていう処理をB回繰り返しているんです。

よくプログラマは「数学が得意じゃないとできない」と言われたりしますが、正確には「数学の証明問題が得意じゃないとできない」です。
難しい公式を沢山知っている人より、単純な計算でその結果を出せる方法を考えられる人の方が、プログラマとしては優秀って事になります。
実際、わたし高校の数学の卒業テストは赤点でしたからw

つまり算数、それも小学校低学年レベルの、日常生活に困らない程度の足し算と引き算だけできりゃプログラムは組めるんです。

話がそれましたが、プログラマになりたいなら、小難しい開発言語の本とか買って読んで命令語を覚えるより、学びたい開発言語で作られた、誰かのプログラムを解析した方がいいです。
ExcelでVBA使って普通じゃできないような事ができるようになりたいなら、VBAの解説書やホームページを読むのではなく、「こういう事がしたい」ってので検索して出てきたサンプルプログラムを解析して、「なるほど、だからこうなるのか、こういう風にしているのか!」ってのを学んだ方が遥かに早く使いこなせるようになります。

普段から「何をどうすればそうなるか?」って過程を考える、理屈っぽい人間の方が成功しますって事です。

コメントの投稿

非公開コメント

カウンタ
プロフィール

ウホッ!いい男

Author:ウホッ!いい男
異世界転生を待ち続ける中高年のおっさん

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR