プログラマとSE側とエンドユーザの橋渡しをしてます。
「それって結局どういうこと?」。
とにかく難しいことをやさしく考えるのが好きです。

プログラム言語って正直難しいです。どうも謎の英数字が羅列されていて、「これが一体何を意味するのか」という辺りがイメージがしづらいんですよね。長年、プログラマやSEとまったくのパソコン素人さんたちの間を橋渡ししてきて、個人的に思うのですが、もうちょっと視覚的にフレンドリーになると、プログラムも可愛げがあるような気がします。
せめてイメージしやすいようにと、私自身がクライアントさんへの研修で使う話なのですが、「細かいことはよく分からないがなんとなく意味が分かった!」と好評なたとえ話があるので、ちょっと紹介しておきます(※プログラマさんたちは鼻で笑わないでねw)
と頼まなくていけません。これでは非常に面倒で、毎日毎日、この命令を繰り返していたのではくたびれてしまいます。ですから、家族間の会話と同様にどんどんプログラム上の命令は洗練されていくのですが、「洗練される=言葉や説明がどんどん省略されていく=格好いい!スマート!」という構図は、第三者、部外者である「初心者」には「どうすれば???」となってしまうのです。
好例として、たとえば、ネットで流行っている「PHP」という言語は非常に初心者でも扱い易い言語で、うっすい教科書一冊マスターすれば大概のことは本当にできます。ですが、とても「初心者に優しい」ということは冗長な表現や命令も多く、熟練プログラマたちにすれば「PHPって…ぷっ」となってしまうのです(あまり気にしないでくださいね。私はPHP大好きです)
せめてイメージしやすいようにと、私自身がクライアントさんへの研修で使う話なのですが、「細かいことはよく分からないがなんとなく意味が分かった!」と好評なたとえ話があるので、ちょっと紹介しておきます(※プログラマさんたちは鼻で笑わないでねw)
コンピュータは、ケーブルの中を通ってくる「電気的な信号」を読んでお仕事をしています。電気的な信号というと難しい気がしますが、懐中電灯を点けたり消したりする感じです。
つまり「光った!」「消えた!」という信号の組み合わせを色々な「命令」として受け取って処理を進めているわけです。ふた通りしか表現方法がないので、これを「二進法」と呼びます。正確にコンピュータで使っている呼び名では「0」と「1」ですね。
便宜的に男を「0」、女を「1」とすると、コンピュータは究極的にはケーブルというトンネルの出口でじっと待っていて、「男男男女女男男女女女女女…」と数えることしかできません。
でもって、数える際に、人間側の方で「もし男男女女女女男女男男男…の順で現れたら、それは『Excelを起動する』って意味だから」とルールを決めておいてコンピュータに実行させているわけです。このルールがプログラムの根本っていうことになります。
ただ、この「男男男女女男男女女女女女…」という複雑な組み合わせをたくさん覚えるのは人間にとっては苦痛なので「男男男女」は「Excel」の意味で、「女男男女女女女女…」は「実行する」って意味にしよう、と『約束事』を決めて、人間にも分かりやすくアレンジしたのが「プログラム言語」になります。
さて、その『約束事』なんですが、わたしたちの日常生活でも家庭や学校、会社でいろいろ決まりがあって、略語とかでも家族同士なら成り立つというパタン多いですよね。たとえば、奥さんが旦那さんに「ごみ出しおいて」といえば、旦那さんは出勤前にごみを出していってくれるというケース。これは奥さんと旦那さんの関係だから成り立つのであって、まったくの第三者であれば、
つまり「光った!」「消えた!」という信号の組み合わせを色々な「命令」として受け取って処理を進めているわけです。ふた通りしか表現方法がないので、これを「二進法」と呼びます。正確にコンピュータで使っている呼び名では「0」と「1」ですね。
便宜的に男を「0」、女を「1」とすると、コンピュータは究極的にはケーブルというトンネルの出口でじっと待っていて、「男男男女女男男女女女女女…」と数えることしかできません。
でもって、数える際に、人間側の方で「もし男男女女女女男女男男男…の順で現れたら、それは『Excelを起動する』って意味だから」とルールを決めておいてコンピュータに実行させているわけです。このルールがプログラムの根本っていうことになります。
ただ、この「男男男女女男男女女女女女…」という複雑な組み合わせをたくさん覚えるのは人間にとっては苦痛なので「男男男女」は「Excel」の意味で、「女男男女女女女女…」は「実行する」って意味にしよう、と『約束事』を決めて、人間にも分かりやすくアレンジしたのが「プログラム言語」になります。
さて、その『約束事』なんですが、わたしたちの日常生活でも家庭や学校、会社でいろいろ決まりがあって、略語とかでも家族同士なら成り立つというパタン多いですよね。たとえば、奥さんが旦那さんに「ごみ出しおいて」といえば、旦那さんは出勤前にごみを出していってくれるというケース。これは奥さんと旦那さんの関係だから成り立つのであって、まったくの第三者であれば、
「今日は水曜日で可燃ごみの収集日だから、家の中のごみ箱から可燃ごみを自治体指定のごみ袋にまとめて、この家から25メートルほど東にある町内会のごみ集積所に午前8時30分までに出してきてほしんですけど、可能でしょうか?」
と頼まなくていけません。これでは非常に面倒で、毎日毎日、この命令を繰り返していたのではくたびれてしまいます。ですから、家族間の会話と同様にどんどんプログラム上の命令は洗練されていくのですが、「洗練される=言葉や説明がどんどん省略されていく=格好いい!スマート!」という構図は、第三者、部外者である「初心者」には「どうすれば???」となってしまうのです。
好例として、たとえば、ネットで流行っている「PHP」という言語は非常に初心者でも扱い易い言語で、うっすい教科書一冊マスターすれば大概のことは本当にできます。ですが、とても「初心者に優しい」ということは冗長な表現や命令も多く、熟練プログラマたちにすれば「PHPって…ぷっ」となってしまうのです(あまり気にしないでくださいね。私はPHP大好きです)
まとめになりますが、プログラムを理解する上で大事なのは、
- 「コンピュータの世界は突き詰めれば男「0」と女「1」しかいない」
- 「プログラムは男「0」と女「1」の登場順を人間用に書き換えただけ」
- 「簡単なプログラムというのは。とても丁寧(丁寧すぎて処理が面倒、そして遅い)」
- 「難しいプログラムはいろいろ端折ってる(から処理が早い。通っぽい)」
ってな感じになりますが、プログラムのコア(核)、ちょっとはイメージの一助となりましたでしょうか。
PR
この記事にコメントする
Advertisement
プロフィール
HN:
ポラリス
HP:
性別:
男性
職業:
シスアドっぽいこと
自己紹介:
@akhj313をフォロー
心掛けているのは、ざっくり「理解」と見える化。
物事にはその時その時で「コア(一番大切な事)」があるはず。コアを探しの実践者、別名「コアラー」です。コーラも好きです。
物事にはその時その時で「コア(一番大切な事)」があるはず。コアを探しの実践者、別名「コアラー」です。コーラも好きです。
最新記事
(12/11)
(11/24)
(11/22)
(11/21)
(11/20)
ブログ内検索
お問い合わせ
アクセス解析
時間計測