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

サイト構造やネットワークというと正直とっつきにくいです。
ホームページやブログの開設には知っておいて損はないのですが、
用語をGoogleで調べても、知らない言葉のオンパレードで、
眠くなってしまいますよね…。
分かっている人には余計なお世話なのですが、
初心者のみなさんが最初につまづく壁でもありますので、
イメージの手助けになればと思ってまとめてみました。
完全な説明ではありませんが、
「あーそういうことか!」という部分が少しでもあれば幸いです。
ホームページやブログの開設には知っておいて損はないのですが、
用語をGoogleで調べても、知らない言葉のオンパレードで、
眠くなってしまいますよね…。
分かっている人には余計なお世話なのですが、
初心者のみなさんが最初につまづく壁でもありますので、
イメージの手助けになればと思ってまとめてみました。
完全な説明ではありませんが、
「あーそういうことか!」という部分が少しでもあれば幸いです。
PR

某大学で院生がこしらえた
ユニークなアプリケーションを見てきました。
見た目、普通のワープロなのですが、
面白いのは、ツールバーのコマンド名が、
使用頻度が高くなるにつれて、
表示順位が上がり、文字が大きくなるのです。
たとえば、よく使う「印刷」も、
5回目は「印刷」、10回目は「印刷」と巨大になります。
院生さんは、タグクラウドをヒントにしたそうで、
「よく使うコマンドまでの短縮化を図ってみた」
と目的を教えてくれましたが、
「でも、実際のところ、操作に慣れてくると邪魔w」
とも自嘲していました。
ここに
素人向けのユーザビリティ(使いやすさ)と
玄人向けのフレキシビリティ(柔軟性)、
そのバランスを取る難しさがあるように思います。
ユニークなアプリケーションを見てきました。
見た目、普通のワープロなのですが、
面白いのは、ツールバーのコマンド名が、
使用頻度が高くなるにつれて、
表示順位が上がり、文字が大きくなるのです。
たとえば、よく使う「印刷」も、
5回目は「印刷」、10回目は「印刷」と巨大になります。
院生さんは、タグクラウドをヒントにしたそうで、
「よく使うコマンドまでの短縮化を図ってみた」
と目的を教えてくれましたが、
「でも、実際のところ、操作に慣れてくると邪魔w」
とも自嘲していました。
ここに
素人向けのユーザビリティ(使いやすさ)と
玄人向けのフレキシビリティ(柔軟性)、
そのバランスを取る難しさがあるように思います。

プログラム言語といいますか、原理そのものなのですが、コンピュータは絵を見るのが苦手です。
以前に「プログラムのコア」記事で、彼らが理解しうる「二進法」に触れましたけど、基本的にコンピュータは紐に書いてある情報しか読み取れないという1次元的な宿命があるので、絵画のような二次元を判別するのにはとても苦労します。
以前に「プログラムのコア」記事で、彼らが理解しうる「二進法」に触れましたけど、基本的にコンピュータは紐に書いてある情報しか読み取れないという1次元的な宿命があるので、絵画のような二次元を判別するのにはとても苦労します。

プログラム言語って正直難しいです。どうも謎の英数字が羅列されていて、「これが一体何を意味するのか」という辺りがイメージがしづらいんですよね。長年、プログラマや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」の登場順を人間用に書き換えただけ」
- 「簡単なプログラムというのは。とても丁寧(丁寧すぎて処理が面倒、そして遅い)」
- 「難しいプログラムはいろいろ端折ってる(から処理が早い。通っぽい)」
ってな感じになりますが、プログラムのコア(核)、ちょっとはイメージの一助となりましたでしょうか。

パソコンの不具合を調整しているとき、プログラム(言語)の話をすると「難しそう」「分かんない」と即座に脳内シャッターを下ろす方多いです。
無理もないです。日常生活とはまったくかけ離れた言語ですので。しかも今、パソコン周りでもてはやされているrubyやPHP、python、jqueryなどは 「初心者でも理解しやすい」とまで言われていますので、「こ、こ、これで初心者向け?!」とげっそりしてしまうのでしょうね。
でも、プログラマやエンジニアの方も最初は同じだったのです。ひたすらTry&Errorで、いじり倒して、いじり倒して、ちょっとした発見や驚き、感動を経て、職業として成り立つ技術レベルになったのです。
まぁ、この「いじり倒す」というあたりが曲者で、つまるところ「夢中になれるか、どうか」が大事です。「プログラムって面白いわー!!!」と感じて、寝食忘れて没頭できるか、ですね。
ちょっと趣向は違うかもしれませんが、困難さに立ち向かう自分の精神耐久度を測るには、こんがらがった糸と対峙したときにどういう行動にでるかが類推適用できます。
2を選んだ方は、ごく普通の方です。やれるかもしれません。
3を選んだ方は、習得は難しいですが、こういう大胆な発想は時として大革新を産み出すこともあるので、プログラム云々はあまり気にしないでくださいね。
無理もないです。日常生活とはまったくかけ離れた言語ですので。しかも今、パソコン周りでもてはやされているrubyやPHP、python、jqueryなどは 「初心者でも理解しやすい」とまで言われていますので、「こ、こ、これで初心者向け?!」とげっそりしてしまうのでしょうね。
でも、プログラマやエンジニアの方も最初は同じだったのです。ひたすらTry&Errorで、いじり倒して、いじり倒して、ちょっとした発見や驚き、感動を経て、職業として成り立つ技術レベルになったのです。
まぁ、この「いじり倒す」というあたりが曲者で、つまるところ「夢中になれるか、どうか」が大事です。「プログラムって面白いわー!!!」と感じて、寝食忘れて没頭できるか、ですね。
ちょっと趣向は違うかもしれませんが、困難さに立ち向かう自分の精神耐久度を測るには、こんがらがった糸と対峙したときにどういう行動にでるかが類推適用できます。
- よし、この糸絶対解いちゃる!
- ちょっと解くのに挑戦してみて、難しかったら諦める
- はさみで切ってしまう
2を選んだ方は、ごく普通の方です。やれるかもしれません。
3を選んだ方は、習得は難しいですが、こういう大胆な発想は時として大革新を産み出すこともあるので、プログラム云々はあまり気にしないでくださいね。
Advertisement
プロフィール
HN:
ポラリス
HP:
性別:
男性
職業:
シスアドっぽいこと
自己紹介:
@akhj313をフォロー
心掛けているのは、ざっくり「理解」と見える化。
物事にはその時その時で「コア(一番大切な事)」があるはず。コアを探しの実践者、別名「コアラー」です。コーラも好きです。
物事にはその時その時で「コア(一番大切な事)」があるはず。コアを探しの実践者、別名「コアラー」です。コーラも好きです。
最新記事
(12/11)
(11/24)
(11/22)
(11/21)
(11/20)
ブログ内検索
お問い合わせ
アクセス解析
時間計測