2020年3月31日火曜日

過去の遺物

長くコンピュータにまつわる仕事をしていると明らかに過去の遺物と呼ぶべきものに出くわすことがある。
ソフトの面でいえばTurboPascalはオーパーツとも言える遺物だし行番号付きの古いBASICは捨て去られた遺物かもしれない。

これはあるお客さんから処分を頼まれたモノで
懐かしきMOのドライブとメディアとクリーニングディスク一式です。
MOメディアの箱の中には未使用の540MBのメディアが2枚と乾式のクリーニングディスクそして使用中の128MBのメディアと640MBのメディアがあった。
なんとDriveはWikipediaの画像と同じもの

で、一応最も速いであろう640MBのメディアを入れてベンチをとってみた。
うわー!めっちゃおっそ。128MBのメディアなんかこの何分の1のスピードしか出ないもんね。もしかしたらFDより遅いのかも
(ってそんなことは流石にないよね 今度FDのベンチもしてみよ)

でも1980年代から1990年代頃にはあこがれの大容量リムーバブルメディアだったんだよね。今じゃUSBメモリーのほうがずっと使えるメディアになってしまったけど・・・

これでraspberry piとかで当時のPCもどきとか作ったらちょっと面白いのか?まあ必然性は無いけどな

2020年3月26日木曜日

BASICからsmallbasicはたまたvb(a)そしてpythonへ

最初にパソコンで触れた言語と言うこともありBASICが好きなのだけど同時にその欠点については痛いほど知っている。
PC言語最初期の妥協の産物と言ってしまえばそれまでなのだが・・

で、PC言語に関心を抱き始めた人がいるとしてその関心を発展させたくなるような出会いをしてもらう最初の言語は何が良いのだろう。
今はpythonが良いのかもしれない。
美しいoopと言う点では同じスクリプト言語のrubyの方がきれいな気もするけど、こと実用とか実験の手助けのツールとかプロトタイピングのための小さなシステム作りとか考えていくと情報が多い言語の方が向いているに違いないしREPLがある方がずっと良いと思う。
(rubyにもirbというREPLがあるけど漢字を入力しようとすると落ちたり使いやすくない印象。pythonのそれは単純にコマンドラインからpythonと入力するとREPLになるので自然だしクラスやライブラリの中身を調査する手段がその中で使えるので仕組みを理解する助けにもなる)
oopの言語ではライブラリーが独自だと元の言語を覚える以上にそのライブラリーの流儀を覚えるのに時間が掛かったりしてしまう。
で、その点でもpythonはかなり良いと思う。

しばらくはBASICで出来てたことを話のとば口にしつつpythonでの表現を少しずつ紹介していきたい。できれば間に変化の過程の副産物的な感じでsmalbasicを取り上げたりいまだにoffice製品の言語の中核として生きているVBAに思いをはせたりして寄り道を楽しみつつ学びを深めようと思う

2020年3月7日土曜日

問題山積み

最近、身の回りで事件が多すぎる
1)車が盗難に遭って、放置状態で発見されるも消火器まかれてて廃車
  ※当然次の車の手配も必要ですが金もないしまた盗られる可能性も
2)デスクトップPCが故障
  時期が悪くて確定申告前でここ数年分のデータも戻ってこないので今から前年の初期状態まで再登録後に1年分のデータを再入力
  ※次の作業用デスクトップを中古のdell 270sにしようかと思うがメモリーも4GBで何やら重いし全ユーザの不要なソフトのインストールも消さないと・・まあSSD(480GB)と増設メモリー4GBは発注した。
3)納品すべきPCがたまってきた
  ※にっくきコロナめ!
4)開発が遅れてる・・勤怠管理ほか

まあ4)は犯人が自分自身の人災

(200308)
現状での回復状況
1)車両保険が今週中にも降りてくるので以後、次の車を考えよう
  ※あんなに簡単に盗まれるのなら中古で十分
2)壊れたのはHP S5-1050jpだったのだがメモリーを8GBに増設してもかなり遅かったので予備機のDELL Vostro 270sのHDDをSSDに換装して使うことにした。メモリーもちょっと不足気味のような感じだったので4GB追加して8GBでの使用を考える。Officeについては手持ちのライセンスを利用してOffice+Access2013で使用予定。
経理ソフトはこれに入れて利用する。
3)についてはノートPCは3/8の週中に納品。デスクトップ2台は3/15の週中に各々納品していく。
4)はまあ、頑張んなさい>自分。

2020年3月4日水曜日

やっぱりBASICが・・・いつまでやってんのって話

好きなんですよねBASIC
何のかんのと言ってハンドアセンブルの機械語の次に憶えた言語ですから・・

で、行番号付きの古代BASICとの付き合いはこないだのエントリーで本当に控えなくては貴重な時間がどんどん失われていく

で、ふと別の目的でwebサーフィンしてて思い出したのが「smallbasic」
microsoft謹製の初心者向け言語です。
以下の特徴があるけど遠い昔に行番号付きの古代BASICで出来てたことのうち教育で使いそうなことは出来てる感じですね
まあ実用プログラムを作ろうと思うとファイル系が弱いのでしんどい

凄いなって思う点は
1)コンパイラなのです。実行にはSmallBasicLibrary.dllが必要ですけど吐き出す実行ファイルのサイズはかなり小さい。ただし実行は遅い
2)ネットにつながった環境であれば作成したプログラムを共有するための機能として「発行」と「インポート」各メニューが使える。
3)機能をオブジェクトのメソッドの形で呼び出すのだけどC#で拡張機能が比較的楽に書ける。
4)配列が無宣言で結構自由に使える。awkの配列と同じように文字列を配列の要素指定に用いることができるのと要素数もかなりたくさん持てるようなので2次元配列を用いてオブジェクトの配列のような使い方も可能。

えらい割り切りすぎでは?って思う点は
1)グローバル変数しかない
2)手続きはあるけど関数は作れない
3)IO系が命令が極端に少ない
4)文字列操作の関数が少ない

この辺りはmicrosoftとしては超入門用として用意してるのかな

でもIDEも面白いのでちょっと注目する
(もう行番号付きBASICしかわからないような人に面白い言語を紹介して使ってもらうなんてことは僕の指導力とかでは絶対に不可能。)

C#やVB.NETで拡張できるってのも面白い
結構簡単にできそうでアイディアさえあればイロイロと実験できそう

ちょっと余談
最近 いろいろ古いBASICに決別を告げるべくfreebasicやQB64などWindows7時代にちょこちょこ触って遊んでいた言語の最新版と思しきものをWindows10環境にセットして動かしてみたけどちょっとグラフィック命令を実行しようとするとコンパイルエラーが出たのには驚いた
以前のバージョンで動いていたソースが通らないって・・
いくらできる実行ファイルがgccを使っていて速くても・・
もうね、こらえ性が無くなってて一応のことはデフォでできて発展するときにちょっと調べるくらいですすんで行ける言語環境しか触れなくなっているんだなあって思いました
過去に楽しませてもらったので感謝して速攻アンインストールしました
時間は有限なので「本当に」この手の言語に時間を使うのは止めます

dosvaxj3が更新されていた。

 最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...