プログラミングの実は。

時間が一時的に空いたので更新。


個人的な話になるんですが。

プログラミングの話って、理系向きって思っている人が多いんですよね。
なんでなんだろ?



私的にはそんなことないと思っているんですが。
理由は3つある。

【1】、一年頑張れば、最低限の習得はできる
【2】、数学的知識は、そんなに要らない事。(論理的思考の方が大きい)
【3】、プログラミングができるより、人の話を理解できる方がはるかに重要。


【1】、一年頑張れば、最低限の習得はできる
例え、大学から情報工学系の学部でプログラミングをやっていると言っても、
大体の人は、課題がやっとできる程度のプログラミング。
ひどい人はまともにプログラミングができない人もいる。

事実、1年必修のプログラミングの授業でTAをやっていたとき、専門的課程で電気電子系を選ぶ人
の中にはプログラミングが嫌だから、というネガティブな理由も結構いた。
3年の授業では、プログラムのエラーをまともにデバッグ(直すこと)しきれない人もいた。

情報工学系学部の人だからといって、プログラミング能力などその程度の人だっている。
だったら、理系だからというのは、もはや関係ない気がする。
もしかしたら、私がやっていることすら社会では児戯に等しい事なのかもしれない。
(まぁ、それはないと思いたいのですが・・・)

【2】、数学的知識は、そんなに要らない事。(論理的思考の方が大きい)
数学的知識は、持っているに越したことはないのは確か。(様々な数学的知見を生かせるから)
しかし、だからといって現実的に使用することはあまりないと思う。

少なくとも。
行列の詳しい知識を必要とする事はほぼないし。(3次元グラフィックや画像データの処理くらい?)
微分積分も厳密に使用することはないし。(数値のシミュレーションでなら擬似的に使ったことあるけど・・)

最悪、ググってしまえば出てくる数式を忠実に再現してしまうだけで解決するかもしれない。
本当このレベル。じゃあ、どうやってプログラムを作っているのかって?

プログラムなんて、ほぼ日本語でかけるのですよ。
例えば。ファーストフードの話とか。

まず。
ファーストフードとしては、【客が来て注文をする】をしないと
何もできないので、ここまでは前提とする。。。。すると?

1、【レジ】が【客】が注文した商品の代金の合計値を計算
2、【レジ】が【客】に代金を請求
 ├──────────────お金を払わなかった → 注文キャンセル
お金を受け取る
 ↓
3、【レジ】が注文した商品を【調理場】に伝える
4、【調理場】は注文された商品を調理する
5、【調理場】は商品を【レジ】に渡す
6、【レジ】は【客】に商品を渡す

っていう過程をふめばOKである。
じゃ、これをプログラムで書こうと思ったら?
詳しくはめんどくさいので書かないけど、そんな難しくない。

もちろん。
あくまでこれは、ファーストフードを概念で説明したモデルだから
具体的な話にはいるとめんどくさい所はあるんだけど・・・。

でも、根本はこうやってプログラムを組むもの。
どうですか。数学的な話なんてありましたか?


【3】、プログラミングができるより、人の話を理解できる方がはるかに重要。

一般的にプログラムは汎用的に組むことができます。例えば・・・、
例:
(1).書かれた値(入力)を認識して、全ての合計値を出す機能
(2).書かれた式(入力)を解釈して四則演算を可能にする機能

さて、これはどっちのプログラムの方を組むのがいいのでしょうか?



答えは、【プログラムの目的による】です。

例えば、全部の合計値だからといって、23+45+...と書くより、23,45,...,と書いたほうが
列挙しているという直観的意味では分かりやすいですし、理解されやすいかもしれません。
また、簡単な方がプログラムを書く方も楽で、ミスも少なくなります。

逆に、四則演算が必要な事になるのなら実装すべき。電卓で(1)のような機能じゃどうしようもありません。

また、(2)のような複雑な機能の場合、コンパイラ方式のプログラムを採用した場合、
内部にスタックや後置記法を実装しなければいけないかもしれません。

・・・まぁ、つまり、単に合計するより複雑な処理を記述しなければいけません。
時間もコストも余計にかかっちゃうかもしれません。

じゃあ、この差はどこにあるのかって、いったら・・・。
****プログラムの目的、ユーザが欲する仕様**** 次第なんですよ。

それを理解するのは、プログラムを書くより重要。そりゃそうですね。
無駄なモノは作るとコストがかかっちゃいますし、ましてやユーザの目的と違うモノなんて作っちゃったら
コストの無駄なだけではなく、下手すりゃ損害にすらなっちゃいます。

つまり、プログラムを書くより大事なのは、【人の話をちゃんと理解する】こと。
その上で、プログラムを作成すべきなのです。

実際、大手IT企業の求人は、文理は問わないのが普通っぽいです。
少なくとも、理系しぼって集めてた企業は一応なかった気がします。
(まぁ、表向きかもしれませんけど・・・)

だから、プログラミングは難しい。理系じゃないから・・・
って理由で断る人は、個人的には、よくわからない。

まぁ、ブラックがなんたら・・・って聞くからかもしれません。
まぁ社会人になってない自分がこういうのは、おかしいですが。
一部の食品系やサービス業の方がよっぽどブラックだと聞いてます。


まとめ。

プログラミングは、理系・文系というより、その人のモノの捉え方(モデル化)の能力次第だと思う。
むしろ、理系じゃないからやっても、理解できないということはない。

もちろん、その方向に興味がないなら仕方ないブフッ∵(´ε(●=(゚▽゚ )
スポンサーサイト

COMMENT


TRACKBACK

↑
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。