ソフトウェアでの遊び方

パソコンでカタカタターン!と遊ぶにはちゃんと準備をしよう,パソコンくんに遊び仲間に入れもらうにはちゃんと質問をしようという話です。ついでに物理やってる時の姿勢の確認にでもなればと思います。

上手く整理して一般的な学び方とかに昇華できたらいいなぁ......。

 

下でごちゃごちゃ書いてるけどわかんねぇよという人への第一歩

基本的には下の内容を押さえてほしいですが,長ったらしくなりそうなのでとりあえず最速かつ安全で肝となるところだけ。

  • どこから始めて何をしたいのかを整理する。 例:「Windows10のPCにイチからLaTeX環境を入れて,VSCodeで日本語を含んだ学術的な文書を作りたい!」 この時点でWindows10,LaTeX環境,VSCode,日本語がチェックポイントなことがわかります。
  • その情報を全て抑えた記事を参考にする。特に比較的新しい記事を参考にする。]同じ環境で同じことをした先輩がいれば何を参考にしたかも教えてくれるかもしれないし,行き詰まった時に一番頼りになるはずです。 「LaTeX環境についてはこっちを参考にして,VScodeはこっちで,でなんか上手くいかなくて調べた結果は忘れたけどなんかあって...」はもう完全に遭難してます。こうなると情報系のつよつよ戦士を連れてこないと救助不能なので,諦めて全部消したやり直すしか言えなくなります。
  • 具体的に何をしたのかメモをする。 これがあれば救助可能性が上がります。未来の自分や目の前の後輩,ネットの向こうの誰か知らない人の助けになります。

ということで本題です。


ソフトウェアを触るときにも論理がある

パソコンでTeXノートを作ろう,mathematicaに計算させよう,などなどは「何か大雑把なおまじない」で実現されているものではありません。「これをしてあれをしてこっちはこうしろ」という目的を持った命令の積み重ねです。 物理では「こういうこと求めたいなぁ,じゃあこういう設定を考えて,こういう計算をしていこう!」とできるようになっていくのに,ソフトウェアを相手にするときだけ「なんか知らんけどこんなおまじないを言ったらできるらしい」「言われた通りやったけど上手くいかない」というのは非常にもったいないことです。「なんか知らんけどガチャガチャ式変形したらいいらしい」「公式に当てはめたけどだから何?」というのと同じレベルのことだと認識するのが出発点です。 物理だろうがパソコンだろうが英語だろうがなんだろうが,「目的に対して手順を踏む」というのが当然あるべき接し方です。

 

遊ぶ前に始め方と終わり方を覚える

例えばパソコンを触り始める時は電源の入れ方と切り方を覚えるように,新しいソフトウェアを入れるなら,「どういう環境から」「手順は何が必要か」「困った時はどこまで立ち戻ればいいか」を覚えるということがまず必要です。 新しいソフトを入れようとして上手くいかないたびにパソコン全部を綺麗さっぱりにしますか?やってられるかそんなこと!!っていうところをおさえるわけです。 頭と尻尾を抑えるのは,みんな物理だとしっかりできてるのになぁ......。 記法や定義はなにか?どういう条件で何を求めたいのか?


遊んでる時はどんどん調べる = 質問する

ソフトウェアを扱っていると問題に直面しない方が稀です。分からなくて悩んでも答えは出ませんし,時間の無駄なことばかりです。そんなもん広大なインターネットにぶち込めば誰かが同じように失敗して誰かが解決しています。 ということで,質問しましょう。ネットの向こうの誰かへでも,見知った誰かへでも。質問しても解決しなければ諦めるしかないですが,多くの質問はググると解決します。

物理をやってても一緒。わかることとわからないことを区別してどんどんわかりそうな人に聞きましょう。 何かを質問すると,「ググレカス」って言われるのは令和でもそうなんですかね?でも「ググレカス」って言われても難しいから聞くんです。そりゃ〜そうですよねぇ。とは言いながらも実は,「ググレカス」って「具体的な解決方法までも親切に教えてあげている完璧な助言」です。


ネットでの調べ方,詳しい人への質問の仕方

LaTeXを入れたけど上手くいきません」は「レポート問題解こうとしたけどわかりません」と同レベルの発話です。導入や挨拶の一環であって質問ではありません。 学部生の時にスタッフに「レポートわかりません」と聞きに行ったらたぶん間違いなく「何を考えたのか」「何をしたのか」「何がわからないのか」を細かく引き出してくれたはずです。その経験を積み重ねて自分からそれらの情報を提供するようになっているはずです。その要素と姿勢がどんなことに対しても同じです。


質問に必要な要素:ソフトウェア編

  1. 大まかに何が問題なのか? 「TeXLiveを入れたが日本語のコンパイルができない」 環境は何か?パソコンなのかスマホなのか?Windows10なのかWindows7なのか?macOS 11.2.3なのか10.15.7なのか?
  2. 具体的に何をしたのか?何を参考にしたのか?
  3. 具体的に何が問題なのか?何ができないのか?どんなエラーが出ているのか?
  4. 問題解決に試したことは何か?

ソフトウェア編とは言いながらも,上手く読み変えればどんなことでも変わらないことです。

 

質問とその解決自体にはあまり関係ないが大事なこと

  1. 日本語の記事だけでは非効率的です。英語から逃げてはいけません。どうせ論文もプログラミング言語も英語なのでちゃんと目を通す癖をつけてください。
  2. 「できた!」で終わりではありません。未来の自分が同じ問題を解決できるか,未来の誰かが同じ問題を解決できるかが重要です。見知らぬ誰かへの慈愛の心を持つのは難しいかもしれませんが,未来の自分の脳みそを信用してはいけません。絶対覚えてないし解決できません。自然の摂理です。 1年後の自分とか卒業後の自分とかではありません。明日の自分も1秒後の自分も信用してはいけません。 計算ノートも未来の自分を信用しないで作ると,過去の自分に感謝したくなります。修論を仕上げるのもチョチョイのパーです。


質問される側の意識

質問される側もうまく質問を引き出せるようになりたいとは思っています。なぜなら,ソフトウェアで遊ぶときの最悪なことは「誰かがおまじないをしてあげたらできるようになった」だからです。これは「使うのを諦める」よりもひどい状況で,質問者の手足をもぐような行為です。わかっていながらもついつい質問者が存在することを忘れて目の前のトラブルに注目しがちです。先達は解決の補助になりましょう。できる人間がどんどん計算を進めた先で,後輩の寄与はどこにあるんでしょうね。 先達は意地悪で「ググレカス」と言ってるわけではないよ,ということをお互いが意識できてるのが健全です。質問者も「解決してもらってソフトウェアを使えるようになる」が目標ではなく,「自分が解決して使えるようにする」が目標です。後輩はパソコンを奪い返すぐらいの気合いで臨みましょう。


参考

https://www.isee.nagoya-u.ac.jp/~okumura/files/RHEA2017-1.pdf の27ページからの内容も踏まえています。全部書いても仕方ないなと思ったのでこっちも読んでください。 https://dic.nicovideo.jp/a/ググレカス