HSPのダサいところ

ここ何日かで挙げれるだけ挙げてみた。

  • スタックサイズの上限が128とか少なすぎる
  • プリプロセス文きもい。モジュールや関数定義までプリプロセス文とか意味不明
  • 関数の定義より前にその関数の呼び出しができない
  • 明示的な指定をしなければ関数内の変数も全部static
  • 引数を変数として扱えない
  • strmid や instr に文字列式をそのまま投げられない。変数に代入しないといけない
  • 単純な代入で文字列のコピーが行われている
  • #defineなどのスコープの仕様が意味不明
  • int OP double が int の型の方が優先されてしまう。 100 * 0.9 => 0 とかひどい
  • 関数やサブルーチンで、うっかりreturnを書き忘れるとその下までどんどん進んで実行しちゃう。
  • 戻り値ではint,double,strしか返せない。新しくモジュール変数を作成して返す関数も作れないの?
  • repeat内でgoto、returnするとおかしくなる
  • 変数名などの識別子が大文字小文字を区別しない
  • 未初期化の変数を参照できてしまう
  • && || がショートサーキットでない