プログラミングは、手で打たないと身につかないのか

プログラミングを身につけるときに、実際に手で打たなければいけないのか。
私は手で打ったほうが身に付けられると思っています。

L1006496

※自宅にて by Leica M10

プログラミングという効率化の武器を手に入れるには

なぜ、プログラミングをやるのか

私がはじめてプログラミングを経験したのは1997年、24歳のときでした。
はじめて就職(就職浪人しましたので)して、目の前にあった仕事が、プログラミングも含むものでした。
前任の方のプログラミングを使えばできるという仕事ではあったのですが、もっとこうならないかなという興味があり、触っているうちに覚えることができたのです。
最初にやったプログラミングは統計用の言語でしたが、同時期に使いだしたExcelにもプログラミング(マクロ)があると知り、ちょっとずつやってきました。

なぜプログラミングをやるのか。

おもしろいからという理由もありますが、効率化するためというのが最も大きな理由です。
当時、仕事を早く終わらせて帰りたかったので、別に時間をかけなくてもすむ仕事であれば、すぐに終わらせたいと考えていました。

帰りたかった理由は、多少デートもありますし、帰ってプレステもやりたかったからです。
1997年といえばプレステでFFⅦ(ファイナルファンタジーⅦ)が出た年でした。
そのリメイク版が2020年4月に出るのは感慨深いものです 。

FFⅦが出たのは1月31日で、就職する4月には、すでにやりこんでましたけど。

効率化の理由はともかく、プログラミングは効率化の武器になりえます。
そのプログラミングをどうやって身につけるか。
私は手で打つ、タイピングが一番だと思っています。

 

プログラミングは手で打って身につける

プログラミングは、手で打つ、手を動かしたほうがいいというと、なんだか古い考えと思われるかもしれませんが、私がプログラミングを身につけてきたのは、手を動かしてきたからでもあります。
だからこそ、開催しているセミナー(Excelマクロプログラミング入門セミナーや、RPA入門セミナーなどでも、手を動かしていただく時間をとっているのです。

これは税務申告書をつくるときにも同じように考えていて、私は必ずExcelで税金を計算してから税務ソフトを使うようにしています。
Excelには自分でつくった数式が入っていますので、考え方が間違っていれば身についていないということになるわけです。

「手を動かす」というのをどこまでやるか。
パソコンを使わないで手書きでやらなきゃいけないという考えもあるでしょうが、私は手書きまではいかずパソコンで手を動かすようにしています。
プログラムのコードを手書きでノートに書くようなことはしません。

もっと効率的に身につける方法があるのかもしれませんし、また物事を身につける、学習に効果的な方法は、人によって違いますので、手を動かさなくても身につく方もいらっしゃるかもしれません。

私は今でもプログラミングを手で打って身につけています。
Excelマクロ、Python、GAS、パワポマクロ、ワードマクロでも、そして RPA でも本やネットで情報があったら自分なりに手を動かして打つようにしています。

それが遠回りであり理解するのに最も速いからです。

時代は、ノンコード(コードを打たない、プログラミングしない)という方向性も出てきています。
RPAもその1つでしょう。
コードを打たないのは、プログラミング学習の1つとしては有効でしょうが、コードを打つことなくして理解は進まない、自分でプログラミングできるようにならないのではないかと思っています。
コードを打たない、プログラミングの知識がいらないといわれていたRPAが、ほんとうにそうだったかどうかです。
『税理士のためのRPA入門』に「かんたん」と書かなかった理由 | EX-IT

プログラミングの練習として、Excel関数はタイピングする | EX-IT

 

私が生粋のプログラマーではない中、手を動かすことでプログラミングを使えるようになったので、これからプログラミングをやろうと思う方にもあてはまるかと。

プログラミングするときに、「これを省いたらどうなるんだろう」とか「こう書いたらどうなるんだろう」というような実験をしています。
1つの効率化をするのにめちゃくちゃ時間がかかるのですが、「世の中にはすぐ身につくものはない」いう現実がある以上しかたがありません。

効率化するために非効率に学び、 学ぶことに投資した時間とお金を、効率化により取り返せばいいわけです。

いくら優れたプログラムのサンプルがあったとしても自分に合ったものとは限りませんし、効率化する上でそのプログラムがどういった意味を持つのかというのを知っておかないと応用がききません。
意味がわからないまでも自分で打ってみましょう。

プログラミングを身につける上でネックになるものの1つは、アルファベットのタイピングです。
日本人はアルファベットのタイピングに慣れていません。
たとえば worksheet とすんなり打てるかどうか、キーボードを見ずにすばやく打てるかどうかというのは日本語とはまた違う感覚です。

キーボードを見ないでピリオドを打てるか、()を打てるかというのも地味に効いてきます。

そのタイピングの感覚も磨くためにも、プログラムを見て打つということが欠かせないのです。

プログラミングの練習として、Excel関数はタイピングする | EX-IT

目の前の効率化とのプログラミング習得のバランス

プログラミングは、打ったほうが身につくと考えているからこそ、プログラムのコードを本とは別にダウンロードできるようにしないほうがいいのか、ネット=ブログに載せないほうがいいのでは?と悩んだことがあります。

ブログにコードを載せるとしても、スクリーンショットとして、画像で載せればコピーできないわけです。

ただそうはいっても目の前の効率化も大事ですので、ブログにあるコードをコピーして貼り付けていただければ、すむようにはしています。
(多少なりともアレンジは必要ですが)

非効率な勉強をするには、目の前の効率化を実現しなければできない場合も多いものです。
まずは、効率化して時間をつくり、その時間で勉強するのが現実的でしょう。
効率化した時間を、また仕事で埋めてしまわないように気を付けなければいけません。

時間をちょっとずつ使ってでも、プログラミングを身につける=手を動かすことをやっていきましょう。

たとえば、毎月ある仕事で、プログラミングすれば効率化できるようなものがあれば、「今月はコードをコピーしてひとまず効率化するけど、来月はこの部分を自分が書いてみよう」とか「まっさらな状態から書いてみよう」と打つことを忘れないようにしましょう。

タイピングすることも行動であり、物事を身につけるには行動が欠かせません。

教科書だけ読んで身につかず、練習問題を解かなければいけないのと同じ話です 。
仕事とは、プログラミングとは、問題を解くことでもありますので 。

 



■編集後記

愛用のiPad Pro12.9インチ。
「あれ、充電されてないな」という兆候はありましたが、昨日ついに充電できなくなりました。
充電口が壊れている感じです。
残り5%で、イチかバチかの初期化もしましたがダメで。

Appleだと、修理(というより交換)の代金は、8万………。
別のところに頼むか、かわりのタブレット(AndroidかiPad)を買うか、3月末の新iPadを待つか。
新iPadは出ないまたは遅れる可能性があるので、別のところに修理を頼む予定です(修理代3万弱)。

■昨日の1日1新
※詳細は→「1日1新」

ねじねじバイキンマンUFO
iPad Pro 修理依頼

 

■昨日の娘日記

昨日は、焼き肉をパクパク。
私の分もあげました。
最近、肉ブームです。
その後、鶏の手羽先(スープ)も食べ、カレーも。
「おなかぱんぱんになっちゃう」と言いながら、よく食べています。

大分のじいじ・ばあばからのプレゼントも届き、楽しんだ1日でした。