和風スパゲティのレシピ

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

明けましておめでとうございます。

明けましておめでとうございます。
今年もどうぞよろしくお願いいたします。


このブログを始めて、1年が経過しました。

というか厳密には、13ヶ月が経過しました。


1年の区切りになにか書こうと思ってはいたのですが、
1周年直前の11月に記事がひとつも書けなかったので、

「1ヶ月半ぶりに書いた記事が1周年記念記事」

というわけにもいかず、新年のあいさつと一緒に書くことにしました。


この1年間、ブログをお読みいただいた皆様に、この場を借りてお礼申し上げます。


ブログを1年書いた感想ですが、
まずは1年目の目標「100記事」を達成できませんでした(´∀`;)

100どころか毎日書いていらっしゃる方は、
とんでもないやつらだと再認識した次第です。


執筆が滞る原因は、変なウイルス記事を書いている途中でその記事からリンクすべき記事を思いつき、それを先に書いてしまうというのが多かったですね。

下書きがたまりにたまって、ついに40を超えてしまいました。

まあでもそれはある程度しょうがないことですし、記事数が増えるほど公開スピードも増えると前向きに解釈して、どんどん書いていこうと思います。




さて、記事数という最低減の目標が達成できなかったのに、
なぜかこの一年で、ブログの最終目標をひとつ達成してしまいました。


それがこれ↓

日本語 変数 の検索


サイト全体がしょぼくても行けるもんなんですね(笑)

まあ変動する物なので、これから行ったり来たりはするんでしょうけど。


注目してほしいのは、「vba」が無いことです。


ExcelVBAに関わらず、全言語のプログラマの卵さんたちに、

「日本語を使ってもおk」

という考えを多少なり届けることができ、とても嬉しいです。


ぶっちゃけ中身を読んでもらわなくても、
「日本語 変数 で表示されるページリストの賛否が賛に傾くだけでもいい」
と思ってるくらいなので、例えクリックしていただけなかったとしても、「変数を日本語にするとプログラミングが上達する」というワードが、多くの人の目に映っているだけでうれしい限りです。


これのおかげか、「日本語使い始めて捗ってます!」というお便りも結構いただき、更新の励みになります。

こちらこそ、いつもご愛読ありがとうございます。



さて、この「日本語を使ってもおk」という想いですが、
当然ですが「=英語はダメ」とは微塵も思っていません。


変数を日本語にするとプログラミングが上達する内でも言及していますが、
「全部日本語にする」「全部英語にする」の、どちらともが理想です。


どちらがいいかは単純に「書く人と書くコードによる」話であり、
「どちらも使いこなした上で、状況に応じて適切に使い分ける」
ができれば最強だと思います。


こんな酔狂なブログやってる私でも、普通に英語オンリーのマクロは作りますし、
英語力が完璧な上級者さんや、プロのプログラマさんが、

  • モジュールごとに切り替えて統一
  • シートレイアウトの定数定義だけ日本語
  • メインコードはすべて英語で、関数の仮引数だけ日本語
  • テストメソッドはすべて日本語

あたりで自然と使いこなしているのを、私も参考にさせていただいています。


世の中なんでもそうだと思いますが、

白黒はっきりすることはあまりないでしょうし、
白黒はっきりさせることが良いこともそんなにないですよね。


私がこのブログを始めようと思ったモチベーションは、
「日本語=ダメ」と思考停止で英語変数が選ばれていることに嘆いたことであり、
両者のメリットデメリットを比べた上で、英語変数を選択することには、微塵も否定の気持ちはありません。


何回か他の記事でも書きましたが、
究極読みやすければ何でもいいと思っています。

読みやすいように工夫されているコードは、何語で書かれていても美しいし読みやすいです。


その工夫がまだできない(あるいはできるレベルまで訓練するつもりがない)方は、
母国語使っておけば、簡単に読みやすさを底上げできます。

全員がその底上げを享受すれば効率は上がるでしょうから、マクロな視点では、
「みんなが日本語変数を使うとよりよい世の中になる」とは思っています。

でもミクロな視点では、慣れ親しんだ英語変数を今更切り替える必要がない人はいっぱいいるでしょうし、その人個人を見て、日本語変数を使った方がいいとは思いません。



このブログの目標は、

「日本語を使うことができるという選択肢」と、
「使い方によってはとても優秀であるというメリット」を、

ひとつのアイデア、ヒントとして提供することです。


今年も引き続きそれを目標として、コツコツ記事を書いていきたいと思います。

日本語変数を使う方も、使わない方も、
今年もどうぞ、よろしくお願いいたします(´∀`)


おまけ:日本語 vs 英語に隠された意味

八方美人のきれいごとばかり並べていないで、
最後にちょっとぶっちゃけトークも記しておきます。


今回の話は「日本語 vs 英語」は引き分け~って話でした。

でもこれには、ある暗黙の了解が隠されています。


この話は、厳密には「理想的な英語 vs 理想的な日本語」の話をしています。
この対決は引き分けで、いかに使い分けるかが大事という話です。



なんとなく何が言いたいか分かりますかね?




ひどい日本語 vs ひどい英語

これは論ずるに値せず日本語の圧勝だと思っています(笑)


どんなにひどくても母国語には限度がありますが英語には…

というかただ半角にしてるだけのALLローマ字までありますからね(´∀`;)



日本語変数を否定する意見を見ると、
対戦相手は当たり前のように理想的な英語です。

本当にそんな理想郷ありますか?



たまに
「日本語変数ばっかりのマクロに出くわして死にそう」
というTweetを見ますが、たぶん原因は日本語変数ではありません。

そのコードが英語だったとしたら、
「英訳がめちゃくちゃなマクロに出くわして死にそう」
とTweetするはずです。


しかも、プログラマはさておき、ExcelVBAユーザーにとって、
英語ができないことは罪ではありません。

というか、英語やってる暇あるなら本職の勉強してほしいくらいです。




ズバリ英語変数erさんに聞きます。



「作成者が行方不明になったマクロを改修してほしい」
という依頼下において、そのマクロは何語で書かれていてほしいですか?


日本語でしょ?(笑)


気持ち悪い日本語を見て、美しい英語に想いを馳せる気持ちはわかります。

しかし、現実で待ち受けているのは気持ち悪い英語なのです。


どのみち読めないコードなら、せめて手掛かりが母国語であることがどれだけありがたいか。


いつか(休み明けくらいに?)、私にもそんなパンドラの箱を渡される時が来るでしょう。


その箱を開けた時、中の暗号コードがせめて母国語で書かれていることを祈って、
今年もネットの海に日本語のサンプルコードを放流していきたいと思います。

あらためて、今年もどうぞ、よろしくお願いいたします(´∀`)