マイテックのマイツール
はじめに プロ初級編 プロ中級編 プロ上級編 あとがき

      プログラムもいろいろな形式あります・・・

 文学の世界では、俳句、短歌、小説、エッセイーなどと色々あるようにプログラムも形式が色々です。

たとえば、マイツールでは、FKS、CMDのような短いストロークの命令記述から、ロングなオートプログラムRUN命令などが構築できます。

 どれも、仕事の目的によって使い方が違ってきます。しかし、本来プログラムといえば、オートプログラムを指します。マイツールユーザーは、オートプログラムという言い方を良くしますが、一般的にはプログラムと簡単に言っています。これは、プログラムが自動で動くのは当たり前ですから、わざわざオートなどと言うことは、野暮だからでしょうか?

 初心者は、どんなソースコードでも、ちょっとしたショートプログラム(ルーチンという人もいます)を組むことから始めるのが普通です。それは、プログラム結果の検証が早く出来、しかもバグもすぐわかるからです。

      アプリケーション・ソフトウエア開発環境はどうなっているのか?

 マイツールにとってこれは、ちょっとつらい質問になります。プログラムの編集から保存など殆ど、マニュアルでの構築となります。特に、マイツールの場合、ED(エディター)で作成したプログラムは、注意して保存しないと、一瞬にして灰になってしまいます。つまり、元に戻る機能があるにはありますが、一つ前ぐらいしか戻りません。

 肝心のプログラム・バグの対策にはTRON(トレース・オン)機能があります。マイツールのバグ対策としてはVB(Visual Basic)より簡単に判断が出来ます。これは、マイツールの命令語がシンプルだからです。また、VBのようにプログラムバグで、Windows本体が固まることは、まずありません。マイツールがエラーで終わるだけです。ですから、PCにやさしいソフトなのです。

      プログラム開発支援ソフトを構築するのも、ひとつの手!

 マイツールを手にした20年前(バージョンが、M2の頃)に、マイツール最大の欠点は、元に戻る機能がRV命令の一度だけでしたので、書き込み先を間違えて上書きして気付くのを逸したら大変なことになっていましたが、そのうちバックアップも、USBやHD、或いはNET-HDなどが出回るようになってからは、保存先が増え、少しは解消しましたが、油断をすると、やってしまいます。

 当時、そうしたストレージがFDしかありませんでしたから、大変不便でした。それで当時思いついたのが、プログラム開発支援ソフトです。これはマイツールで色々なアプリを開発する為の支援ソフトです。
これを作ることによって、ED(エディター)で書いたプログラムは自動保存されますから、そうしたトラブルは解消されました。

      プロは、無い道具は自分でつくる!

 例えば、プログラムを変更したいときは、まずタイトルページが表示されて、どのページを変更しますか?と聞いてきますから、変更するプログラムページを入力すれば、次に参照するページも聞いてきます。その手続きが終わると、指定したプログラムが表示され、ED(エディター)状態になりますから、あとは変更してESCをすれば、自動保存となりますし、変更中止も可能です。

      自社の環境レベルを考えて、道具をつくる!

 ED中でも、戻る機能がもともとありますが、一度だけです。従って、ある程度プログラムを書いたら、一旦ESCしてからプログラムをチェックしての繰り返しが必要です。ESCしてからの元に戻る機能は、自分、あるいは会社開発者達の未熟なレベルに合わせて、何回もどる必要があるのかを決めておけば、その回数まで遡れるよう、バックアップページを用意します。バックアップページは、FILE、FILEXいずれに構築してもかまいません。

 オートプログラム中に(仕事は= )の状態をプログラム中で構築することもできますから(Ctrl+Pauseキー操作からの手入力モードのことではありません)その辺は工夫次第です。

 つまり、マイツールでマイツール・アプリケーション開発支援ソフトも簡単に作ることができるのです。こうしたことは、マイツールに限らず、他のソースコードでの開発も、自社にあった道具をこしらえる必要があります。スキルある大手ソフト会社などは、そうしたところに関しては、とくにソフトウェアの生産性上、大変重視しています。

       プログラムのページサイズとファイルは定型にすべし!

 プログラムを書き込むページは色々なサイズが可能ですが、特に企業での自社開発の場合は、ルールが必要です。お勧めは、FDに収まる固定ページで100ページとすべきでしょう。横の桁数は90桁くらいがお勧めです。命令文が短いからと言って、ページの横の桁を短くするのは禁物です。それは、コメントを書き込むことが大切だからです。他の人が見てもわかるプログラムづくりが企業の技術の伝承に欠かせないからです。

       プログラムは作業単位で簡潔にする!

 作業のルーチンを作ることは、プログラムのモジュール化につながります。長いプログラムをつくることが、一見すごいプログラマーと思われますが、とんでもありません。プログラムは、目的指向での作業目的ごとに、クラスター化することで、体系的な構築が容易になりますし、プログラム変更時のバグ防止とバグ発見も楽になります。

       モジュールは、その企業の財産! 

 モジュールにはどんなものがあるかと言いますと、例えば大小文字などめちゃくちゃな入力をしても、データベースには、あとできちんと定型の半角文字、英文字なら活字体に自動で文字矯正する機能とか、カンタン検索機能、マウス検索機能など、あるいはアナウンス表示やデータ処理中のレベルメータ、などなど色々作っておくとあとで共用できます。

       データベースは、仕事の基本!

 どんなにすぐれたプログラムでもデータが虚偽であれば、出てくる結果は意味の無いものとなります。だから、データベースは大変重要なものです。しかし、残念ながら多くの中小企業はデータベースの中身が整理、整頓されていません。これは、データ数が増えるに従って不明なデータや重複データ、関連付けが出来ていないデータなどが存在してきます。殆どの企業がデータベースを大掃除する必要があるようです。

       まずは、規則が明確であるかの点検を!

 データベースを整理する前には、企業の作業ルールや登録条件などを明確にしたり、見直して新規則を作ったりすることから始めます。例えば、製品番号において、製品名に似たような付け方をしますと桁数が膨大になります。すると、入力も大変ですし、ミスも続発し、作業自体にも支障をきたします。

       製品が多い場合、コードに意味を持たせようとすると失敗する!

 コードに意味を持たせたがるのは、どこの企業でも同じですが、あまり多くの製品がある場合は、最低限に抑える必要があります。多くのアイテム製品を抱えている企業がよく失敗するところです。

 例えば、製品アイテム数が10万種類未満であれば4桁の英数字で済みます。色コードが必要であれば後ろ2桁を足して7桁でアルファベットを付ける程度が理想的です。コード英文字は連続で2文字以内がわかりやすいです。

 また、製品と部品、そして資材などを同一のバーコード・ハンディー機器を使用したければ、部品と資材に関しては、英数字の組み合わせで、これも4桁程度に抑えるべきです。10〜100万個未満のアイテムであれば、桁数は5桁となります。

       長たらしい製品名よりも、シンプルなコードがもてはやされる!

 何故、桁数を少なくすべきか?それは、例えば製品が9万種類あっても良く売れる製品のアイテムはどこの企業も限られた数です。するとオペレータや営業マンがそれらを日常で扱っていますと、電話番号の下4桁が自然に覚えられるのと同じで、業務上或いは取引先とのコミュニケーションにおいても長たらしい製品名よりも、短いコードがいつの間にか愛称となってしまいますから不思議です。

       データベースの正規は、データベースの基礎の基礎です!

 データベースの基礎の基礎を学びたい方にお勧めする本があります。それは、技術評論社の「これだけはおさえたい・・・データベース基礎の基礎/谷尻かおり著」があります。データベースだけでも結構奥が深いですが、この本を読めばデータの運用については納得されると思います。技術書には、わかりにくい書物が散在していますが、この著者谷尻かおりさんは、シンプルに大変良くまとめられています。


                  マイツールのデータベースは?

一般的に、データベースといっても色々な形式があります。そして、世界共通のデータベースと言えば、CSV形式のものがシンプルで取り扱いが簡単です。マイツールではPC内部、外部を問わず、ネットワーク上でもCGET命令で呼び出せますし、CPUT命令で上書きすることがカンタンにできます。

マイツールのデータベースは、大きく分けてMYFILEとFILEXの二通りがあります。MYFILEは、マイツールをすでにお使いの方は周知のFILE命令で構築できます。これは、頁サイズを定型としたノートブックに似せた固定と可変の頁サイズが構築できます。固定ページは、例えばプログラム用とか、業務に必要な定型のテンプレートみたいなものに向いています。そして可変ファイルは、業務で発生したデータ・レコードを順次蓄積していくのに最適です。

FILEXは、言ってみればExcelファイルみたいな一枚シートでの拡張されたページです。これは使い方としては、固定ページをすべて結合させるRC命令で一枚にしてFILEXに保存登録すると言った使い方から、色々です。

       データベースファイルのネーミングの付け方

ファイルのネーミングですが(ページタイトルとは違います)、マイテックではファイルについてはすべて、英数文字で半角の活字体を採用しています。例えばプログラムファイルであれば、PR、PS、PEと言った具合に頭にPを付けて二文字程度に抑えています。定型帳票あるいは慣用表示などはFS、FE、FD、といったFを頭にしたものを二文字程度で付けています。

何故そうするかと言いますと、たとえばそのページを呼び出すときがカンタンだからです。プログラムの5ページを読み出したいときは、R実行PR/5で済みます。

データについては、種類が色々ありますから、イニシャルをつけています。例えばマスターコードであれば、MC、在庫データであれば、ZDと言った具合です。こうした工夫で、プログラムの編集作業が手短になりますし、例えば一時的なマニュアル呼び出しでも、例えばT 実行PR実行(T:PR:)とすれば、PRファイルのタイトルリストがカンタンに閲覧できます。

       データベースの文字の統一性

素人の方がプログラムを組まれますと、例えば在庫管理用のマスター入力処理が甘い為、文字のゆらぎが複数のレコード上に発生します。例えばアルファベットひとつを例にとっても、A、A、a、a、と実に四文字の種類で入力される状況になります。また、横棒も、−、- 、ー、ーと四種類の横棒がデータベース上に入り込んできます。実は、これは後で大変厄介なことになります。

この問題はマイツールだけではありません。データベースを検索するとき、コンピュータは正確にこの違いを峻別しますから、検索に引っかからないことになります。この問題はパス名(コンピュータ上のファイルのアドレス名)も同じく影響します。ですから、業務に際しては、必ず社内の使用文字ルールを厳格にしないとあとで面倒になります。

マイツールが、もともと横棒を二種類に絞ってしか入力できないようにしているのは、やはりデータベースの統一を考慮されたからでしょう。だからマイツールは素晴らしい。

文字の揺らぎに対する問題については、データ入力処理のところに、モジュールとして、文字矯正自動変換プログラムを組み込むことで解消されます。

       バックアップについて

企業のITでもっとも重要なことのひとつにバックアップ体制があります。これが意外と出来ていないのが中小企業の実態です。つまり、「こけたらこけた時さ」といった企業体質があったり、まったく気付かなかったり、お金がもったいない、であったり理由はいろいろですが、データを消失して後であわてたり、怒ってしまったり、がっかりしたりの企業が殆どです。

バックアップを取っていると安心している企業で、それがPC上のHD内での別の場所だつたり、サーバー上だったりします。最低でも別のHD、NETHD、や別場所に保管できるMOなどに保存することも大切です。バックアップは、マイツールでもカンタンにバックアップモジュールをつくれば、ネットワーク上どこでも自動で保存できます。もちろん、コマンドプロンプトでバッチを組んで、タスクのタイムスケジュールで自動バックアップもできます。対策は色々ありますがデータをセキュリティが完備した信頼できるインターネットサーバーへ保存するのが大変有効な手立てです。


       アルゴリズムとはなんなの?

 この言葉を知らなくてもプログラムは組めますから・・・ご安心を!皆さんに作文を書けといっても書けない方は果たしているでしょうか?

 作文を書くには、まずテーマが決まっていないと、書けませんね。次に経験に基づいた出来事を引っ張り出して、あとは起承転結などといった構成で書いているうちに、自然と出来上がって来るはずです。もし、それが出来ないとおっしゃる方は、残念ながらプログラムを組むことは無理です。つまり、文章の展開の仕方を自然と出せない方には、プログラム作成は無理なのです。

 プログラムを組む最低の条件があります。それは、数学の力、言語の理解力、そして構文作成力あと、物理学の素養があれば、申し分ありません。

 アルゴリズムは、構文作成と思った方がわかりやすいでしょう。この言葉の定義が非常に広いですから、言葉に惑わされます。

 また、フローチャートなどを作成しないとプログラムは作れないかといわれる方が時々おられますが、そんなことはありません。アメリカのSEに、日本のプログラマーが、「このプログラムのフローチャートを見せてください」といったとき、「このプログラムがフローチャートだ!」といった逸話があります。

 昨今、ソフト会社がフローチャートを作ってから、プログラムを組むことは稀でしょう。そんなことをしていたら、コストが合いませんし、納期も掛かってしまいます。 オペレーションマニュアルすら作らないソフト会社が多いのが現実です。

                  マイツールを導入したらオートを使わないと省力化にならない!

中小企業で実際に、仕事をする社員の皆さんの殆どがコンピュータに弱い方ばかりです。ですから、Excelにしても、マイツールのマニュアル操作にしても、ある程度の勉強が必要です。でも電卓と仕事の内容がわかっていれば、仕事が出来る人は多くいます。そこでマイツールでオートプログラムを対話形式で構築すれば、キーボードさえ打てればカンタンに作業オペレーションが出来ます。ここが、みそなのです。PCスキルの無いパートさんでも操れることで゜仕事の役割と振り分けが容易に変更できるのですから、経営者にとっては人的管理がしやすくなりますので魅力です。そしてそれは、経費の節約効果をもたらします。

       仕事は学問ではない!

 企業における仕事は、学問ではありません。常に他社との競争の中で生き抜いているのです。
企業は、最低限の経費でもって戦いに望まなければなりません。そうなりますと、無駄な作業は省かれます。でも、企業目的によっては、そうした学問の力が必要な企業もありますから、そこは話が別です。

 従って、プログラムの目的が決まれば、あとは命令語を積み重ねて、頭の中で構文を作り、起承転結のスタイルでどしどし、作文を書けばよいのです。プログラムづくりは、まさに物語づくりなのです。

 プログラムづくりは、数学力と、物理学の素養がなければ高度なプログラムは組めませんから、やはり自然科学の勉強は仕事外で鍛えておかなければなりません。

 それは、本当は大学レベルで仕上げていなければいけないことなのですが・・・やる気があれば、いつでも克服できることです。

SEの仕事は現場を体験し様々な知識を積み上げることで、まったく年齢に制限はありません。逆に現場の体験や幅広い知識の積み上げを怠りますと、恐らく若いうちにSEからリタイアさせられる羽目になるでしょう。

                 最後に、プログラム開発者の倫理は、何処に!

プログラム開発者は、個人、企業と立場はいろいろでしょう。個人だけでのものであれば、何をしても構いませんが、(社会に害を及ぼさなければ!)企業としてのお仕事をされている方は、下記の点に留意する必要があります。

(1) 開発プログラムは、同じ立場の社員が見てもわかるよう、プログラム作成時に必要と感じたらコメント  を記すべきです。(企業秘密として隠す場合を除きます)

(2) データベースは、マイツール専用のMYFILEやFILEXだけでなく、CSVファイルとしてもエキスポー  ト機能で抽出できるようにすべきです。

(3) 上司の指示以外を除いて、自分だけにしかわからない暗証でキーを掛けたり、或いは高度なプログ  ラミングで、ブラックボックスを設けることで、自分にしかわからないシステム占有を行ってはいけませ  ん。

以上の三点は、社員も個人として防衛本能で自分の地位を守る為にやりそうなことがらです。
でも、これらをやりますと、企業はその人が突然、要因はともあれ、いなくなれば困ってしまう重要項目なのです。

例えば、
(1)では、プログラムを開発した本人が、その会社で一番優秀であったとしたら、複雑な構築の意味とか、どうしてこんな処理をここでするのか?とかその人がいないと解読できないことが起きてきます。

(2)では、企業がマイツールからVBやその他のプログラム言語に切り替えようとしたとき、データベース  がマイツールを知らない為に取り出せないという事態も起きます。もっとも、マイツールがわかる人は  、カンタンですが、他のソフト会社は意外と苦手なようです。

(3)では、会社が頼みもしないのに鍵を掛けたり、ブラックボックスにしてしまって、自分しかやれないよう  にしてしまうことがあります。これは、意外と開発中でも開発者自身にとって作業として不便なもので  す。そして、これもその人がいなくなれば、もうバージョンアップも、メンテナンスもできません。

上記の三項目は、マイツールだけの話ではありません。立場を変えて、VBやJavaの開発者でも言える事なのです。そして、技術者にとって大切なことは上記のような小細工で個人の身を守ることより、それらを無しでも、必要とされる実力を磨くことに集中すべきだと思います。