プログラミングって楽しい

時々勘違いされるのだが、オレはバリバリの文系人である。

数学馬鹿だし、物理駄目だし、化学は化学式が理解できない。

完全な感性人なので、理屈をこねらるとムカッとしてしまう。

だから、あまり「占星術」というものが好きではないのね。

角度がどうとか言われても分からん。

中学生の時だったか、高校生の時だったか、理科か地学の授業で、星の角度の計算などというものがあり、どうしても理解できなかった。

なぜ、こんなことを書いているかというと、タイトルのことである。

プログラミングってのは、別に理系人がやるものと決まっているわけではなく、文系人にとっても楽しいのだよ。

再就職先でひさーしぶりに、実際問題としてXX年振りに本格的にプログラミングをやってみて、改めて面白いなー、好きだなー、と思ったのだ。

最後に触ったのはJavaという言語で、これが面白くなくて(当時は恐ろしく遅かった)止めたのね。

その前に仕事で触ったのがVisual Basicという言語で、これも面白くなかった。

性に合わないというものが世の中にはあるのだ。

C++という言語までは楽しかったのだ。

それで、今回、C#という言語を触ってみて、これはJavaという言語に似ているらしいのだが、割とすんなり入れた。

C#は、某M社の専属言語なので、仕事で使うのは仕方がないとしても、今度は他の言語を触りたいと思ったりしている。

今はJavascriptという言語も仕事で触っている。

これは、Javaとは全く異なるものではあるが、どうなのかなあ。

食わず嫌いだっただけでもなく、相性が良くない気がしている。

プログラミングって難しそう、と思うかもしれないが、文章を書くのと同じなのだ。

ストーリーを考え、言葉を組み立てていく。

日本語や英語にルールがあるように、プログラミング言語にもルールがある。

コンピューターに分からせるためのルールなので、少しだけ厳密。

たとえば、オレはよく「汗がぺたんぺたんする」「頭がげでげろ」などと感覚的な擬音語(関西生活が長かったからだと思う)を使う。

これは、相手が人ならば何となく通じる。

しかし、コンピューターはそこまでお利巧ではないので理解できない。

日本人が英語を習うよりも、たぶんプログラミング言語を習う方が楽だ。

なぜなら、プログラミング言語は文法がはっきりしているから、イディオムなどというものがない。

「It's raining cats and dogs.」という英文を読んで「雨が土砂降りだ」と日本人が理解するは難しいのでないか?

「Say when.」という言葉を「今、何時?」と訳した本があって母が笑っていたが、その用語を知らなければ、そう聞こえるかもしれない。

もちろん、イディオムみたいな物がないでもないが、それほど多くはない。

そして、プログラムの場合、書いた通りに動くことがほとんどだ(必ずとは言わない)。

物を作り上げる喜びがある。

少しずつ組み上げていって、形が見えてきて、思った通りに動くのを見ると楽しい。

そういう意味では、小学生が英語を学ぶよりもプログラミングを学ぶ方が理に適っているのではないかとオレは思う。

筋の通った考え方が出来るようになるからだ。

物事を論理的に考え、筋道を通した話し方をしなければ、コンピューターは理解してくれない。

論理的に考えることは、何をするにしても基礎的な学力となる、とオレは考えている。

論理的に物事を考え、思考を組み立てる方法が学べ、自分の手で物を作り上げる喜びが味わえる。

すごく有意義だと思うんだけどなあ。

英語を学ぶということは、もっと感覚的な物が必要だと思うから難しい。

理屈ではなく覚えなければならない部分があるし、座学で学ぶよりもとにかく読んで聞いて話す、を繰り返さないと駄目だから。

英語だと、長く離れていると次第に分からなくなるが、論理的な思考方法は一度身に付くと忘れることはない。

日常生活でも活用するものだからね。

そして、論理的な思考を論理的に話したり、書いたりすることは、相手に自分の意思を伝えるためには絶対的に必要なことなのだ。

ここまで書いていて気が付いた。

オレ、英語が嫌いなんだなあ..................仕事で英文サイトばかり読んでいる弊害かもしれないが。

プログラミングを仕事にする上で、英文を読むのは必須技能なのだ。

プログラミング言語もそうだが、言語は手段に過ぎないからさ。

何かを実現するための手段である。

そこをはき違えてはいけない。

だから苦痛に感じる方法で学ぶのは違うとオレは思う。

プログラミングは楽しい。

楽しく学べることは、ものすごく重要なことだと、オレは思うよ。

にゃおやしき

好きなモノへの愛を語ろう!

0コメント

  • 1000 / 1000