_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
◇ もう冬か? ・・・・・・ 第711
☆モバイルオフィスの作り方 ★
Vol.0711
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
□ エディターのお話し
□ プログラミングの学習手順?・・・・
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ エディターのお話し
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
エディターというのはもっとも原始的なもので言えばWindowsの標準の”メモ帳
”でしょうね。実は私が初めてエディターを使った際はこれが基本的にプログラ
ミングのツールだとは知らなかったのです・・・
◇ 大昔のエディター
遠い昔、熱心なPCファンではありましたがまだプロではなかった1980年代から
つい先頃(2015年頃)までは私にとってエディターは文書を執筆する道具であっ
て、プログラムとは無縁でした。
当時はプログラムというのは例えばLotus123のマクロ言語やExcelのVBAのよう
に専用のソフトに記述する場所に専用の道具で記述するものであって、単にテ
キストを書いたからと言ってプログラムにはなりませんでした。
その後、Windowsのソフトをたくさん書きましたが、ほとんどはMicrosoftのVi
sualStudioの言語用のエディターを使いましたので、これも今回話題にするエ
ディターとは別物です。
今回の話題のエディターは目的ではなく、テキストを記述する道具で、プログ
ラムとは少し別の場所にあったように思います。
でも私はエディターにはとってもうるさい!
それは鉛筆やペンで文字を書かない私にとって、エディターこそが唯一の執筆
の道具だからです。
◇ なんでワープロではない??
本来の私の使い方はワードプロセッサーです。
でも遠い昔からワードプロセッサーは使いませんでした。
なぜなら・・・・起動が遅く、装飾など私には必要とは思えない機能がたくさ
んあり、しかもいつも時代の最先端のPCを要求するからです。
今でもそうなのですが、私は文章の装飾(読んでもらうための)はテキスト自体
でするべきだと思っています。
今と違って4倍角の文字や網掛け、下線などは私は必要だとは思いませんでし
た。
プレーンなテキストを愛していたのです。(その割には腕は上がりませんでし
たが・・・)
一太郎、松、VJE-PENなどそうそうたるワープロソフトがあり、覇を競ってい
ましたが結局私のもっとも嫌いなMicrosoftWordが一人勝ちし、未だにWordの
操作はよくわかりませんが・・・・と言った事情でワープロはついに使わずじ
まいでした。
◇ VZエディター
まだMS-DOSの時代にはVZエディターという極めて高性能なエディターがあり、
当時としては破格の9,800円でした。
このエディターはどんなに大きなテキストファイルでも一瞬でオープンし、数
千行のスクロールも高速でした。
(今なら大抵のソフトがこの程度の速度ですが、当時は640kbのメモリーと8028
6と言った貧相なCPUの時代です。ところでメモリはMBでもなく、もちろんGBで
もありません。kbであり640の後ろに0が3個つくだけでOSはもちろんソフトや
データも扱っていたのです。)
VZの高速性は目を剥くほどで、長く愛用しました。
メールはもちろん(インターネットはなくてNiftyメール)ワープロ代わりにす
べての文章はVZで記述しました。
印刷・・・ですか?。
印刷は”PRT++”という印刷を専門にするソフトがあって、VZのマクロ機能で
連動し、まるでワープロのように印刷も出来ました。
そう・・・エディターにはマクロ言語があって、これを駆使すると大抵のこと
が出来ます。
◇ VZエディターのマクロ言語
私が過去に使ったプログラミング言語の中でもっとも難解だったのがVZのマク
ロです。
例えば今は秀丸のマクロを使ってちょっとした小道具を作りますが、難しさは
雲泥の差で、秀丸マクロはC言語やBASIC言語を使ったことがあればすぐに使え
ます。
VZのマクロはCやBASICといった高級言語よりもアセンブラーに近かったのでは
無いかと思います。
でも他に方法もなく、ワープロ嫌いな私はVZマクロを駆使してメーラーを作
り、ワープロの代用ソフトを作って使っていました。
私が使っていたダイナブック(CPU8086)でも充分高速で快適に使えたのです。
◇ 当時は比較する相手もなく・・・
当時はMS-DOS以外のコンピュータのことは何も知らず、UNIXのEmacsとviとい
う二大勢力がまるでキリスト教とイスラム教のように大勢の信者を集めてハル
マゲドンを繰り広げていることも知りませんでした。
https://ja.wikipedia.org/wiki/Emacs
https://ja.wikipedia.org/wiki/Vi
遠い噂でこれらのエディターのことを知り、きっと高性能なのだろうな・・・
と想像するぐらいでした。
(その後、私もこの両者を使ってみてその原始的な性能や許せないほどアホな
インターフェースに驚きました。あんなものをテキストエディターと呼ぶ人達
がいることにこそ腰を抜かさないばかりに驚きました。)
そんなわけで私はMS-DOSにいる間はずっとVZに魅了されていました。
◇ 秀丸と出会う
秀丸と出会ったのは1995年・・・そう、Windows95の登場のときです。
今ではアホな話ですが、当時はWin95に行くかどうかを真剣に迷っていたので
す。
行ったとしてもろくなソフトはないし、PCの買い替えなどそれなりの投資が必
要だったのです。
https://ja.wikipedia.org/wiki/%E7%A7%80%E4%B8%B8%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF
私がWin95を評価したのは秀丸を見た瞬間です。
ひと目でエディターに超うるさい私は秀丸の虜になりました。
高性能でわかりやすく、印刷機能までついている(当時のエディターでは異例
だった)秀丸をとても気に入ったのです。
そしてこんないいエディターがあるのならWindows95はきっと良いOSに違いな
いと考えて引っ越しを決意したのです。
それから25年・・・・長い付き合いです。
未だに秀丸以上に気に入っているエディターはありません。
◇ ついにエディターがプログラミングツールと気づく
結構プログラマーとしては長いキャリアを持っているのですが、エディターと
いうものがプログラムを記述する道具だと気づいたのはわずか5年ほど前で
す。
そのときに今まで使っていたMicrosoftのVisualStdioに見切りをつけて新しい
世界に引っ越ししようと決めたからです。
きっかけはMicrosoft SurfaceRTを買ってとても気に入ったからでした。
SurfaceRTはWindows風のOSを搭載していますが、今までのWindowsのソフトは
稼働しません。
でももともとついているMS-OneNoteやOutLookの使い勝手の良さを気に入った
私は秀まるおさんにWinRT用の秀丸を作ってもらえないか打診して断られ、仕
方なくARMのプロセッサー向けのWindowsでも稼働するプログラミング言語を探
しました。
結果としてOSを問わないHTML5を見つけてプログラミングを学習し始めたので
す。
そしてまだMicrosoftのVS-Codeもなく、GitHubのATOMもないところでプログラ
ミングのツールとしての秀丸を(本来の機能ですが)再発見したのです。
秀丸はもともとワープロ的な使い方より本来のプログラミングツールとしての
機能が豊富です。
例えばサブルーチン(C言語ではFunction)ごとに段落として一覧を表示してい
つでもそこにジャンプできるとか、他のバージョンのプログラムとどこが違う
か比較したり、何よりGrepを内蔵していますから似た機能を探すのにもとても
有用です。
その後は私はスクリプト言語にハマっていくのですが、これらはすべてテキス
トの世界であり、秀丸の得意分野です。
次回はVS-Codeの良いところを少し取り上げます。
私は今更・・・という気もしますがやはりVS-Codeでないといけない理由もある
ようです。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ プログラミングの学習手順?・・・・
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
前回はVisual Studio Code for the Webの発表を記念してプログラマを始めるた
めの道具立てをお話しました。今回は少し進めて、道具が揃ったら何をするかを
お話しましょう。
◇ プログラミングの学習スタイル
世の中ではプログラミングを学習するにあたって教科書の1ページめから一つ
づつ学ぶ人と、自分の知りたいことだけを探す人がいるようです。
前者は真面目な人であり、後者は世間をナメたやつです。
私はどちらかって???後者の一番うしろに並んでいます。
まだアマチュアの頃から教科書をすべて読むことはなく、自分が作りたいもの
の(もしくはそう思えることの)説明だけを読みました。
したがって知識は極端に偏り、びっくりするほどの物知らずです。
でもそれでもプログラミングで長いこと生きてきました。
私の説明は前者の真面目な方たちを対象にはしていません。というか・・・
教科書を最初から学ぶ真面目な方たちにどう説明してよいかさえ想像できませ
ん。
そもそもこの二者のうち、真面目な人はプログラマに向いていないような気が
します。
これは私の個人的な考えですが、プログラマとは”手を抜くためならどんな面
倒なことでもする人”だと思うからです。
真面目な人はプログラマなどという横着な仕事を考えずに真面目に生きればも
っと成功すると思う次第です。
◇ 最初の第一歩
さて、最初の第一歩ですが自分の作りたいプログラムを決めましょう。
何??作りたいプログラムが思いつかない???
ではプログラミングの学習をやめたほうが良いと思います。プログラミングと
いうのは結構集中力や努力を要求される仕事です。
”どうしてもこれを作りたい”というほどの執念がないと学べるものではあり
ません。なにかないですか???
私は最初は会社の損益計算書を作りたかったです。
その当時、勤めていた会社を退職して自分の会社を作ろうとしていたのです
が、勤めていた会社には大型汎用機があって、オンラインで納品伝を入力する
と、配送倉庫に伝票が出力されて請求書まで連動するというものでした。
それがどの程度難しいのかは全く理解できておらず、しかもその電算関連の業
務は全くわからなかったのですが、会社を作るならコンピュータがいるだろ
う・・・と漠然と考えたのです。
◇ 簡単なPOS
実は損益計算書と言ってもごく初歩的なPOSのようなもので、売上が発生した
らその商品群のコードを入力し、金額を入力すると売上合計に集計されるとい
うものです。
経費や仕入れも同様です。
そしてある期間(月次とか年次とか)の売上と仕入れと経費が集計できたら損益
計算書が出来上がります。
(BS:貸借対照表はもう少し別の要素が必要)
これは無謀にもメインメモリが5kbの小さなコンピュータで私が挑戦した課題
でした。
それでも・・・出来たのです。
シャープのPC1501という(PCはパーソナルコンピュータの略ではなく、ポケッ
トコンピュータの略)小さなコンピュータでプログラミングしました。
http://kyoro205.g.dgdg.jp/cgi/calcdb.cgi?k=PC%2D1501
5kbのメインメモリということは、5000文字ほどのプログラムとデータを扱え
るということで、80文字*40行=3200文字=昔のPCの1画面ほどのメモリにす
べてを収めないといけないのです。
でも24個しかない配列変数に商品群や経費を割り当て、それなりの感動しなが
ら使いました。
これが私のプログラミングのスタートでした。
でもよく考えたらわずか5000文字のプログラミングというのは到底複雑なプロ
グラムは出来ませんから学習しやすかったとも言えます。
ディスプレーも1行だけで、インターフェースに拘る必要もありません。
昔話(もう40年も前)を長々とお話したのは全くの素人の私が1台のポケコンを
買って、新しく作った会社の基幹システムをプログラムすることから私のプロ
グラムのキャリアは始まり、今でもそれを仕事にしているという話です。
◇ 時代が違う??
この話を聞いて、今とは時代が違い、今のプログラミングはもっと大規模で複
雑だと反論される向きもあるかと思います。
でもご安心ください。当時のPCに比べて今のPC(少し意味が違いますが)は数万
倍ほど性能が向上し、どれを使うか迷うほど良い道具が出揃っています。
情報だって、当時のポケコンに付属していたA4で数十ページのマニュアルとは
比べ物にならないほど充実しています。
その上、これはプロの私が断言できますがプログラムの仕様の本質はそれほど
変わっていません。
人間の営みの中で起こることを処理するだけで、当時だって仕事は難しかった
のです。
でもプログラミングは当時に比べて何万倍も簡単です。
ただし情報が多すぎて何から手をつけたらよいかわからなくなるだけです。
だからこれからプログラミングを学ぼうという方は自分が作ってみたいプログ
ラムを思い描いてください。それを作る以外のことは全て無駄!
見向きもせずに自分が作りたいプログラムを考えるのです。
私は今でもそうしています。