あなたははどっち派
覚えてから機能を使いこなす、それとも 動かしているうちに理解して使いこなしてしまう、あたははどっち?
勉強(やらされるもの)
学習(ならうもの)
練習(くりかえしならうもの)
いずれも自分に知識や技能を身につけて自在に操れる(使いこなせる)ようになるための方法。使いこなせるようになる前提として、知識や技能を記憶することが必要です。無理やりがんばって記憶するのが勉強で、試験はその記憶したことを制限時間内にどのくらい思い出せるかを計るものです。試験の時間内に試験を作っている人の思惑通りに自分の記憶から引き出せ(思い出せ)なければ、試験に合格することはできません。
試験とは違って、仕事での作業中、趣味など自分でなにかをしているときは、正確に記憶から思い出せなくても、いいですよね。うろ覚えでもいいんです。必要な情報を正確に記憶から引き出せなくても、本やウェブ、その他情報を持っている誰かからなど、読んで、調べて、聞くことで、求めている情報にたどり着ければ万事OKです。
情報にたどり着くまでの時間は記憶よりも遅いでしょうが、なんでも記憶に頼るとその情報の鮮度や正確性がかけている可能性も否めないので、どちらがいいかなどと、一方に優劣をつける次元ではないんです。より新しく、より正確な情報にきちんとたどりつくこと、が大切なんです。速度や効率ではありません。
試験は特殊な環境なので、横に置くと、「記憶」は、なにも自分のあたまだけに貯め置く必要もありません。あたまの代わりにコンピュータがあります。ターミナルとzsh(シェル)とvimなどを含むシェルコマンドと、そして、プログラム言語(中でもPython)があれば、これまでもこれからも頼りになります。販売しているアプリ(ソフト)も頼りになりますが、仕様変更や価格改定、定額制への変更、独自ファイル形式、開発停止などによって、使っているOSのバージョンでは使えなくなったり、より高額なPCに買い換えなくてはならない可能性がとっても大きいので、将来的に使えるかどうかは不安です。実際にわたしもLinux、シェルコマンド、vim、tmux、Pythonたちに出会わなければ、GUIアプリたちに振り回されていたままだったでしょう。
突然、定額制になったり、高額になったりで、使っていた機能が使えなくなったり、開発が停止してしまったりで、それまでに入力していたとてつもなく大量の大切な情報もあたらしい別のアプリで使えなかったり、一から再入力が必要だったり、かなり振り回されていました。データベースソフトも便利に使っていましたが、OS変えたらそのOSでは使えなくなりました。
いまでは大量データ(表計算ソフトでは1000行超えると遅くなり始め、10000行を超えるころには1日中待っていても動かなくなるので)を扱うためには、財務会計データを分析、整理するための加工にはPythonの外部ライブラリのpandasを使い、表計算ソフトは表示用にしています。もちろんサクサク動く範囲であればPythonを使うことにこだわることなく表計算ソフトの機能を使います。(つい最近は、pandasからpolarsに移行しました)
ひとつにこだわることなく、臨機応変さも大切だと思います。
基本は、 「UNIX哲学」 になります。
Mike Gancarz: The UNIX Philosophy Small is beautiful Make each program do one thing well Build a prototype as soon as possible Choose portability over efficiency Store numerical data in flat ASCII files Use software leverage to your advantage Use shell scripts to increase leverage and portability Avoid captive user interfaces Make every program a filter
おおきな複雑なものも、大抵はちいさな単純なものからできています。ひとつひとつの構成は簡単なものが、組み合わせる力でおおきく複雑なものになるのだと思います。それはシェルコマンドなどのコンピュータの中だけにとどまりません。チーム、団体、企業などのように人の集まりにも言えることができると思います。それぞれ別のなにかを得意とするひとが、マラソンリレーのたすきや、スケルトンライナーのパイプのようにできるかぎりの成果を出して、つぎのひとにつないで行く結果、チームの成果につながり、団体や企業の継続的な発展に貢献していくものだと思います。
まさに前掲の中の「Small is beautiful」であり、
「Make each program do one thing well」であり、
「Choose portability over efficiency」ではないですか。
もうひとつ大事なことは、前掲の中の 「Store numerical data in flat ASCII files」です。
あまりに独自のファイル形式を使っているアプリ(ソフト)だと、自分で入力したデータはそのアプリでしか見れないし使えません。どのOSをも問わずにシェルコマンドやシェル(zsh、bashなど)上で動く 「vim」 を筆頭とするテキストエディタで読み書きできる形式(平文テキスト)のファイルであれば、OSやデバイスを問わずアプリにも縛られることなく読んだり、利用したりすることができます。これもとても 大切なこと だと思います。
