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