近代文明の弊[自分を見つめ]

無知で幸せな私が考える世の中

プログラマへの初めの一歩

2017-07-13 23:02:24 | 日記
プログラム経験者(Programaer)と未経験者(Biginner)との会話です。
B:プログラムを作るための勉強をしたいんです。何か良い方法はありませんか。
P:えッ。 プログラムの何を勉強したいの???
B:プログラムを組めるようになりたいんです。
P:どんなプログラムを作りたいんですか。
B:別に、どんなプログラムでもいいんです。
P:あなたはプログラムをどういう風に理解していますか?
B:プログラムが組めたら課題(仕事)を、素早く終わらせることができると思って。
P:その課題ってどんな内容なんですか? どんな仕事がしたいのですか? 
B:なんていうか……、一般事務です。
P:どんな事務作業ですか? 経理ですか、顧客管理ですか、配送管理ですか? 
B:まだ何をやりたいのかよく分からないんです。
こんな相談にはプログラマP(私)は困ってしまいます。
何を自動化するのかが明確になって初めて、それをプログラムで省力化できるかを考えます。プログラムでなくても省力化できる方法もあります。
目的も内容も分からずプログラムで省力化できるわけはない。目的が変われば方法も変わる。
業務内容・動作内容を分析して、それをコンピュータ(機械)に伝えるのがプログラマの仕事です。
工場のロボットに作業手順を指示したり、温度情報をエアコンに与えそれを素に適切に調節したり、などのハード(機械・装置)を制御できます。データを集計・分析したり、検索したり、データの表現を見栄え良くしたり、Web上でデータをやり取りしたりできます。今では自分の意見を世界中に発表することが簡単にできます。
いろんなところでプログラムは活躍しています。ソフトとかアプリとかいう名でプログラムが使かわれています。

実現したいことを明確にして、それを人間以外の機械にやらせようというのです。面倒な計算を機械に任せ、結果だけを利用しようとプログラミングします。精巧な風洞実験装置の出力データを分析するには人間が手計算していたら何千年たっても正確な結果が得られないかもしれません。精巧な実験装置と解析理論が正しければプログラムによる、ただの演算で結果は出ます。車の衝突実験のデータも同じです。ただし理論が間違っていれば悲惨な結果になります。常に理論の検証は重要です。

これらの目的のために、世の中のテクニックを学んだり、いろんなことを試したり、過去の事例を反省したり整理したりしてプログラマはプログラミング技術を磨いています。具体的な目標・目的があるから進歩するのです。
具体的な案件(経済的優位さ)がなければこんなにコンピュータの機能は発展しなかったでしょう。

プログラムには目標・目的が必要です。これを明確にするのがプログラミングへの第一歩です。

自分でプログラミングしなくても他のソフトを利用することも広い意味でいえばプログラミングです。住所録を作り、それで年賀状の宛名を印刷する、などです。単品処理でなく、自動化(楽な操作を考案)すれば正にプログラミングです。
狭い意味ではボタン一つの操作で自動的に目的を実行できるようにすることですが、一つのボタン操作で決まったことしかできないのでは、操作者はタイミングだけの選択肢しかありません。汎用的ではありませんね。選択肢を広げることで汎用なソフトになっていきます。その分、操作者の能力(学習)が要求されます。
プログラマは操作者の能力も考慮して作成しなくてはなりません。

まず、何をプログラミングしたいのかを決めましょう。それが初めの第一歩です。
ジャンル:
ウェブログ
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« 死後の権利 | トップ | 安保法制を調べる »

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

トラックバック

この記事のトラックバック  Ping-URL
  • 30日以上前の記事に対するトラックバックは受け取らないよう設定されております。
  • 送信元の記事内容が半角英数のみのトラックバックは受け取らないよう設定されております。
  • このブログへのリンクがない記事からのトラックバックは受け取らないよう設定されております。
  • ※ブログ管理者のみ、編集画面で設定の変更が可能です。