ストレージの整理をしていたら、20数年前の HSP のコードが出てきました。
HPS とは Hot Soup Processor のことで、中学・高校の頃に使っていた和製のプログラミング言語環境です。
当時を思い起こすと、
- プログラミング入門者が
- Windows 98 や Me で
- 無料で
- 導入のハードルが低い(=とっつきやすい)環境を準備し
- それなりに動く
- GUI ソフトを書ける環境
って HSP や Delphi くらいだったような気がします。(今検索してみたら、まだまだ HSP 界隈は活動中のようです。すごい!)
HSP は簡単に GUI ソフトが書ける BASIC みたいな感じの言語でした。「簡単に GUI ソフトを書ける」というのは、入門者のモチベーションに影響を与える重要なファクタだと思っています。
小学生の頃にオーサリングツールの名作である HyperCard で HyperTalk/AppleScript を少しだけかじって、中学の頃に C 言語に触れて、そのまま HSP に行っちゃったので良くも悪くも当時の手堅い言語環境には触れてきませんでした。(もっと Lisp とか、生まれたばかりの Ruby とかに触れておきたかった)
僕よりひとまわり上の世代までの国産コンピューター野郎は「少年期に BASIC」が多いと思います。僕よりひとまわり下の世代はどうなっているんだろう。もっと細分化されていて「猫も杓子も BASIC」みたいな状態はなくなっていたかもしれません。
さて、見つけたコードは HSP から Perl (当時は特に CGI/Perl ) に興味が移ってきた頃に書いていたようです。
#include "hspsock.as"
title "TCPクライアントテスト"
width 320,240
adr="000.000.000.000"
port=2663
mes adr+"のポート"+port+"に接続中..."
sockopen 0,adr,port
if stat : mes "socket error" : goto *bye
mes "接続しました..."
button "pushme",*send
*main
a=0
repeat
sockcheck 0
title "CHK="+stat+"/"+a
if stat!=0 : break
wait 10
a+
loop
a=""
sockget a,64
if stat : mes "受信失敗" : goto *bye
mes "サーバーからの応答: "+a
goto *main
*bye
mes "終了"
sockclose
stop
*send
mess="now"
sockput mess
if stat : mes ""+time+" Socket Sending ERROR": goto *bye
goto *main
似たようなコードがありました。当時のサンプルとして HSP に同梱されていた client2.as を編集して試していたみたいです。価値はないですが、思い出として貼りつけておきます。