feature image

2024年4月17日 | ブログ記事

なつかしい Hot Soup Processor

この記事は新歓ブログリレー2024の41日目の記事です。

Hot Soup Processor(以下HSP)を知っていますか? おにたま氏の開発したスクリプト言語で、BASIC言語に似たスタイルを踏襲しています。

プログラミング言語 HSP3 公式
プログラム言語HSP3(Hot Soup Processor)のトップページです

この動画でHSPを知った人も結構いるかもしれませんね(今の小中学生の生まれる前の動画!)

試作型 windows777 実況説明あり
試作型 windows777 実況説明あり [その他] 全世界に普及されるのではないかと言われるWindows777を実況ありで攻略します。 mylist/12701793

私は小中学生のころにHSPを触りました。残念ながら天才プログラマーにはなれませんでしたが、中学時代は昼夜問わず適当なコードを書き続け、アクションゲームを作りました。

中学生時代に作っていたアクションゲーム(BlockActionやアクションエディターの影響を受けている)
素晴らしく洗練された、GAFAシニアエンジニアも驚嘆するであろう当たり判定処理コード
飛ぶあ君 - Google ドライブ
実行ファイルはウイルス判定されて開けなかったのでソースコードと画像ファイルのみです

この言語を紹介してみます。

良いところ

コードを書く→結果を見る という行為が非常にやりやすいです。

処理が遅くて待つ時間・命令の挙動がよく分からなくて調べる時間が少ないのが、この言語の最大の魅力だと思います。

「コードを書く→結果を見る」というサイクルが回っていくと、ほとんどの命令を理解して、どんなことを実現するコードも思いつけるようになります。コードを手足のように繰り出してロジックが書ける状態です。そうなると非常に楽しいし、コーディングの楽しさを感じられます。

エディタは瞬時に起動し, プログラムはF5キーを押した瞬間に実行

ノーストレスでエディタを開き、ノータイムで実行できます。

コードを実行したいと思ったらいつでも実行できます。

他言語(コンパイル言語でもインタプリタ言語でも)では実行に0.5秒以上はかかるかなといったところです。

命令がわかりやすい・覚えやすい

color 127,0,0
mes "こんにちは"
button "ボタン",*aa
stop

*aa
dialog "こんにちは"
stop

命令がめちゃくちゃ読みやすいと思います。素朴なキーワードで命令が形成されているので非常にわかりやすく、私が小中学生の頃にもすぐに覚えられました。(小中学生は命令が覚えられてもロジックで苦しむことになるのですが……)

F1キーを押すと瞬時にサポートが表示されるので便利です。

サポート

なお命令のわかりやすさとコードのわかりやすさはちょっと異なるので注意です。

エラーが読みやすい

よみやすい! 「コードがよくわからないところでエラーを吐いて、そのコードの内部実装のリンクが飛んできて、なにがなんだかわからない」ことを回避しています。こわくないよ。

微妙なところ

一応書いておくと、良いところが大きいと同時に微妙なところもあります。

小中学生にプログラミング言語の学習として勧めるかといえば判断が難しいところです。

個性的な言語仕様

関数はマクロで定義することになりますが、触っていたころの自分は敷居が高いと感じていました。

オブジェクト指向のサポートはあまりなされておらず、高度に構造化されたプログラムを書くことは難しいです。そのためコードが縦長でちょっと読みにくくなりがちです。

BASICと同様にgoto, gosub はあります。人によってはアセンブリ言語のjump命令を思い出すかもしれません。少なくとも今はめったに使われない処理ですが、これに頼っていると他言語への移行で困惑するかもしれません。

(メジャー言語と比べると)コミュニティが小さくて情報が得にくい

やはりマイナー言語なので、インターネット上や書籍で得られる情報も減ってしまいます。

見た目がちょっと古い

画像を見るとわかるかなと思います。たとえば標準のmes命令はアンチエイリアシングがかかっていません。

結論

HSP すき

余談ですがtraPにも毎年のように「中学時代にHSP触ってた」と主張している人がいます。メジャーなマイナー言語かも?

明日は@Alt--erさんの記事です たのしみ.hsp

s9 icon
この記事を書いた人
s9

プログラムを書きます

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2024年3月22日
traPグラフィック班の活動紹介2024
haru10 icon haru10
2024年4月14日
Spotifyのクライアントを自作しよう
d_etteiu8383 icon d_etteiu8383
2024年4月14日
unityroomでAddressablesを使った話
inutamago_dogegg icon inutamago_dogegg
2024年3月17日
⑨でもわかる8bitアレンジ講習会
vPhos icon vPhos
2024年3月11日
思想の強いゲーム制作をしよう!
Kirby0717 icon Kirby0717
2024年4月22日
Reactで将棋作った話
mehm8128 icon mehm8128
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記