InStr-ここにも見られる劣化現象

Excel VBAの関数にInStrがある。Excel2016のオンラインヘルプによると次のような関数である。記述は2018年12月13に最終更新となっているが、この会社はインチキが常習化しているからこれはアテにはならない。
この関数の動作は「特定の文字列が別の文字列内で最初に見つかった位置を指定する Variant (Long) を返します。」というものである。

そして、この関数は次の4個の引数をとる。
InStr ( start , string1 , string2 , compare )
startは検索を開始する文字位置である(先頭が1)。startcompareは省略可能である。
string1は対象とする文字列である。string2は検索する文字列である。

「篠崎愛はかわいい。」という文字列(string1)から、「愛」という文字列(string2)を探す場合などに使う。


疑問点

さて、その戻り値についての記述の中で、次のようになっている部分がある。

条件InStrの戻り値
start > string2 0

問題点
ここでは「start > string2」の場合は「0」を返すとなっている。
start > string2」とは、「startの値がstring2の文字数より大きいとき」という意味であるが、これは疑問である。むしろ、デタラメの間違い記述である。
  1. start (検索開始位置) とstring2 (検索する文字列) の長さとは何の関係もないし、関連性もない。
  2. しかし、start (検索開始位置) とstring1 (対象とする文字列) の長さは密接な関係がある。


Microsoftデタラメの系譜

このインチキ、デタラメの記述はどれぐらい昔から始まっていたのであろうか。
要するに、このデタラメ・間違いのインチキ記述は、Visaul Basicが日本に入ってきた当初から現在まで、25年以上もの長きにわたって修正されることもなく維持されていることになる。まさに「害悪」を垂れ流し続けているわけで、もう「公害企業」「ブラック企業」といってもいいほどである。

こういう例はこれだけに限ったことではない。Microsoftではどこにでも見られるような普通の事である。MicrosoftWindowsの成功でOSを握ったときから腐敗が始まったことになる。いかに、その準独占の上にあぐらをかいて慢心し、自己研鑽を怠っているか。安易に過去のものを「焼き直し」「流用する」だけで金儲けをしているか。そしてユーザー軽視の方向に一直線で進んでいることがよくわかる。


昔はまともな会社だった

ところで、WindowsVisual Basicになる前はどうだったのだろうか。
パソコン草創期の頃にBASIC小僧たちがよく遊んだN88-BASIC/N88-DISKBASICNECの製品であるから、ここでは除外しておこう。

Microsoftの製品としては代表的なものにQuick BasicVisual Basic MS-DOS版がある。
これらでは、startstring1(第2引数)との関係が記述されていて、startstring2(第3引数)の関係については何も書かれていない。この段階ではまだマトモで正常なことを書いていたことがわかる。この時代はまだパソコンの群雄割拠の時代である。ヘンなものを出せば(書けば)この世界からすぐに脱落してしまう時代である。それでいい加減なことはできない。そんな緊張感のあふれた時代だった。

Microsoftの進歩が止まり腐敗がはじまったのは、Windowsになってパソコンの準独占化が始まった時からであることがよくわかる。世阿弥の「花鏡」にある有名な「初心忘るべからず」の「初心」を忘れたガタガタの会社は「害悪」でもある。その現状を見るにつけ、新年の始めにわれわれもそれを銘記しておく必要がありそうである。

- 2019/01/01 -