和風スパゲティのレシピ

日本語でコーディングするExcelVBA

人に何か伝えるなら母国語で

このブログの記事が50に到達しました。

令和元年12月1日にスタートしたブログですので、およそ8ヶ月半での到達です。
「年間100記事くらい書きたいな」と思っていましたので、ちょっと遅いペースですね。

なんか変なウイルスのせいで尋常じゃない多忙になり、
まったくの0件の月が3つもあったからしょうがない。(言い訳)

やっと書き慣れてきましたので、ペースを上げていきたいと思います。



半面、アクセス数は想定よりはるかに順調で、
現在までの合計で約7,000ページを閲覧いただいております。


始めの1年は誰にも読まれることなく過ごすと思っていたので、とてもうれしいです。
こんな雑談記事まで見に来ていただいている皆様には、
この場を借りて深くお礼申し上げます。



さて、ブログ記事を50個書いてみて、一番に感じたことがあります。


それは「やっぱり日本語変数はすばらしい」ということです()


「お前はそれしか言わんのか」

と言われるでしょうけど、
まあ別にそこは否定しないのですが、
今回はちょっと違う視点の話です。



このブログの記事を特に届けたいと思っている読者の皆さまは、
このブログについてにも書きましたが、「入門者~初級者~中級者」さんです。


記事を書く際も、記事・セクションごとに
「ここは初級者さん宛てに書こう」
みたいに、誰に向けての文章かを、決めてから書いています。


このとき一番苦労するのが、

  • この解説で理解してもらえるだろうか
  • これだと解説が長すぎて、かえって分かりにくいだろうか
  • この程度のことはもう知っていて、くどいだろうか

という、届けたい相手によって変える「解説のレベル・量・質のバランス」を、
うまくとっていくことでした。

これがほんっっっとに難しいですね。


記事全体の構成は割とすぐ書けるのですが、このバランスを取って推敲するのに思ったよりはるかに時間がかかるな~、というのが50記事を書いた率直な感想です。



さて、この「解説のレベル・量・質のバランス」を取るにあたってですね。


必ず日本語の変数を使っている私のブログでは、
変数名をとにかく丁寧な名前にする
という奥義が使えたんですよ。


解説している本文を付け足したりすると、文が長くなりかえって分かりにくくなるのですが、変数名ではその心配がありません。

むしろ細かい仕様は変数名に説明させて、重要なロジックだけを親切丁寧に本文に書けたりするわけです。

説明しすぎでくどい変数名だったとしても、本文のテキストに比べて、変数名は読み飛ばすのが圧倒的に楽ですしね。


これが記事を書く時にものすごく強い味方になってくれました。


私がこのブログのメインテーマとして書いた最初の記事の中で、
日本語変数のメリット」のうち1つとして挙げていた、

コメントが減って質が上がる
翻訳しているだけのコメントが一掃されます。
よくある「関数の上に引数の翻訳がズラズラ書いてある」やつもなくなります。
コードの意図とか、ロジックに関するコメントだけを書けるので、コメントの質が上がります。

↑これ、「コメント」を「解説テキスト」に替えても同じことだったんですよ。


人に何かを伝える際に、いかに母国語が大事であるか
を啓発するつもりでブログを立ち上げておきながら、
自分が啓発されてしまいました。

英語と数学を勉強したいと思ったとき、
「英語で書かれた数学の教科書で一石二鳥!」
なんて無理ですからやめましょう。


なんて偉そうに言っていましたが、
それ以上に、

日本人が数学の教科書を英語で書くのはそれ以上にむずいぞ!


ってのを痛感した次第であります。



この経験を経て思うことはですね。


「教育」の分野においては、
識別子は「必ず」母国語にしなければいけないんじゃないですかね?


まあプログラミングの世界が「OJT」を教育の軸にしていて、
「即現場に配属 ⇒ 仕事しながら学ぶ」
なので、現場のコードが英語だとしょうがないんでしょう。


でもスクールとかでは、
最初の2ヶ月半は全部母国語の識別子で勉強して、最後の1週間で、
「実務は外人さんもたくさんいるので日本語は使えないことが多いです。
 変数の英訳方法を学びましょう!」
をやった方がいいんじゃないですかね?



母国語でプログラミングを学べる環境こそが、
日本のITに今一番必要なものだと思います(壮大)



とまあ、こんな主張をしたいのですが、
私なんてしがない言語のしがないエンジニア(しかもプロですらない)ですからね。

でっかいことわめいてても仕方がありません。


「ExcelVBAのコードを検索した日本のVBAエンジニアの卵さんたちへ、
 少しでも多くの母国語サンプルコードが届きますように」

という想いを込めて、次の50記事を執筆していきます。


ではまた次の雑談で( ´∀` )ノシ

おまけ:ソースコードで遊べる

記事を書いていて、一息つけているな~と感じるのが、

' 前月と売上を比較して処理を分岐
If 当月集計シート.Get売上合計 > 前月集計シート.Get売上合計 Then
    Call Getお褒めの言葉(社長)
End If

こんな感じで、ソースコードで遊ぶときです。
これも言ってみれば母国語にしかできないことですね。


解説記事を書いていると、正確に書こうとするあまり肩の力が入りすぎて、
読み返すと意味の分からん文を書くことも結構あります。


そういう入りすぎた力をほぐしてくれているな~と感じているので、
同じように読み手の皆さんの肩の力もほぐせているとうれしいです。



案外実用的な効果もありそうで、
「Ifの比較が経営指標の良し悪しの分岐」という背景がおぼろげに追加され、
多少なりとも全体像をつかみやすくしている気がします。(気のせい)


風流の言語はいいですね。


試しに英語でも書いてみましょう。

' 前月と売上を比較して処理を分岐
If SprSheet_CurrMonth.GetTotalSales > SprSheet_PrevMonth.GetTotalSales Then
    Call GetPraise(President) ' ←HAHAHA
End If

 


…。



(#^ω^)