現在、色々と事情があって、プログラミングを学習しておる。
Pythonとかいう言語らしい。
ちなみに私はコンピュータ言語というと、
C言語
ビジュアル言語
という名前は知っているレベル……という完全な初心者。
プログラミングの授業なんて私の頃に無かったものなので、今回初めて学ぶ。
内容としては、ほとんどゲーム。
前に進む
右を向く
物を持つ
などのブロックを組み合わせ、キャラクターに指示を与えてミッションをクリアする……というもの。
当然後半になるとやれることが多くなり、使うブロックが増え、内容は複雑化していく。
大量のブロックを使ってのゴリ押しも勿論可能なのだが、それだと最高点は取れない。
可能な限り少ない労力(ブロック)で、目的を果たす必要がある。
話が進むとやれることが開放……アンロックされていき、最少の手でクリアを目指す。
なんか、詰将棋とRPGの組み合わせみたい。
……ハッキリ申してかなり簡単。
いずれは日本語で書かれたブロックがアルファベットだので書かれたものになり、最終的には自分で打ち込む形になるらしいが……これで本当にプログラミングの勉強になるのか?
……とか思っていたら、フラグだったらしく、バッチリ引っかかり始めた。
例えば関数。
我々は学校でもって、y=ax+b等の形で習い、グラフがどうのって話が頭にある。
なので、ブロックの組み合わせで、例えるならルーチンの簡略化みたいな形のものを“関数”と言われて違和感があった。
(これは先日解決。まさに“関数”であった)
更に、引数だのローカル変数だのって話が絡んで来て完全にわからなくなる。
何がどう動いているのか?
どこがどう作用しているのか?
そもそも、この場面で何故これを使うのか?
などがサッパリわからない。
しかしながら、チュートリアルやお手本があり、更にブロックの組み合わせなので、
「よくわからんが、出来てしまう。」
まさに
『勝ちに不思議の価値が勝ちあり』
みたいな状態で話がすすむ。
その結果、後半で完全に行き詰まり、しかも何がわからんのかもわからんので、過去にクリアした内容を一つ一つ確認し、僅かでも引っかかる所をコーチにしつこく聞きまくって解決する。
……学生時代、授業後やたら質問に行く同級生を少し馬鹿にしていたが、彼は正しかった。
ちなみに、授業は全てオンライン。
しかも講師は多分バイトの女子大生。
傍目にはキャバクラ。
その女子大生に
「よく出来ました!」
とか言われる。
……何かに目覚めそうである。