2014年2月20日木曜日

問題だらけの登録

気づいたらなんだかプログラミングをしているような感じになってきた。


下記をクリックし、学籍番号と氏名を入力しましょう。

http://a1.zeroprm.com/b31_c50/10.html


学籍番号は半角でと書いてあるけど―
全角でも問題なく登録できちゃう(笑)

問題!

2014年2月18日火曜日

ゼロプロステージ4―プログラミングと「変数」の壁

「変数」は翻訳ミスなのではないだろうか?

講師の千葉さんは、プログラミングができるようになるかならないかの最初の関門は、「変数」が使いこなせるか否かだと話していた。

したがってゼロプロでは、「変数とは何か」の説明がたいへん丁寧になされている。それを受講すると「なるほど変数はこういうものか」というイメージ ができ、そのあと出されていく課題もそれほど難しいと感じず、進めていくことができるのだが、進めるにつれ、「そもそも『変数』という訳は適切なのだろう か」という疑問がわいてきた。

プログラミングになじみがない私たちが、「変数」と聞いてまずはじめに思い浮かべるのは、文字通り、「数字が変化する」というイメージだろう。

しかし、「変数」は「変化する数字」ではないのである。講座では、「変数とは同じ種類のものを入れる『箱』のようなものである」という説明がなされ ている。つまり、「変数」は「変化する数字」ではなく、時には、数値が、時には、文字列が入ったりする入れ物のようなもののだ。
私たちは聞きなれない言葉を耳にしたとき、その中からイメージしやすい単語や漢字をピックアップし、そこからその意味を想像しようとする。

つまり、「変」や「数」という漢字から、その中に何かが入るというイメージを持つことは、私たちにとってほぼ不可能だ。しかし、プログラミングにおける「変数」は、私たちが「変」や「数」の2つの漢字からイメージするものとは大きく異なる働きをするのである。

それでは、そもそも「変数」は英語でなんというのだろうか。辞書を引くと、”variable”と出てくる。これは、ほぼ間違いなく、英語の variation【名】 vary【動】といった言葉から派生していると言ってよい。variationが意味するのは、同じタイプの中の違った種類である。つがる、ふじ、紅玉 は、リンゴのバリエーションということもできるだろう。

variationやvaryといった単語をもとに、プログラミングにおけるvariableをイメージすれば、それが何かについての漠然としたイメージを-使いこなせるか否かは別として―持つことができる。

しかし、変数の場合はそれができない。何度もいうように変数は、「変化する数」ではないが、この言葉ゆえ、私たちの想像力がそちらに流れるのは避けられないのである
プログラミングを学ぶにあたって多くの人が「変数」を理解できず、立ち止まってしまう1つの理由は、variableの翻訳ミスにあるのではないだろうか。現役SEにこの点についてぜひ伺ってみたいところだ。

ちなみにあるSEに、「『変数』じゃなくて『箱』と訳したらよかったんじゃないの?」と聞いたところ、変数は厳密にいうと箱とは少し違うらしい。それは『配列』というのを学ぶと明らかになるとのことだった。