|
HSPはプログラム作成言語(スクリプト言語システム)として知名度の高いものです。
ただ、同時に悪い噂も耳にすることが良くあります。
・HSPは、CやJavaができない人が最後にやる言語で、コレを使う人は負け組
・HSPは小学生向きで、中学生・高校生・大学生・社会人はやるべきではない
・HSPをすると、CやJava等ができなくなる etc...
C等ではウィンドウを生成して画像1つ出力するにも面倒な手続きを踏む必要がある。
手続きが多いC等が使えないからHSPを使っていると思われるのも一理あります。
他人の目がどうしても気になるのであれば使わないほうがいいかもしれません。
しかし、画像を表示させるのに面倒でもCを使わなければならないというのはおかしいことでしょう。
Cでやらなければならない処理の一つとして面倒でもCで画像表示するというのは正当な理由ですが、
表示させるだけであればより簡単にできる方を利用すればいいことではないのでしょうか。
これはケースバイケースです。
言語が特定されておらず、HSPだけで実現できることであればHSPですれば良いことでしょうし、
さらに簡単にできる言語があるのならその言語を使えばいいことでしょう。
HSPが小学生向きということを耳にしますが、
HSPは小学生にも手軽に扱えるというだけで小学生の為にある言語ではありません。
使うことが恥ずかしいことでも何でもないと思います。
何人もの方が有名なものを作られていますし、何かのソフトを作る目的だけに使用するのではなく
別言語で何かをするためにHSPを利用するという方法でも利用できることでしょう。
管理人の会社でもC#によるパッケージ製品開発をしていますが、
C#ソースコードの一部をジェネレートする為に使用したりしています。
言い方を変えれば、C#のソースをHSPで作成しているのです。
HSPに慣れるとOOP、オブジェクト単位に操作する手続きを行うオブジェクト指向な技巧ができなくなる。
確かに、HSPはGOTO文によるスパゲティプログラムになりやすい言語です。
スパゲティプログラムというのは一連の処理を分割せずに一本化したコードのことですね。
プログラムの再利用について深く考えなければ、オブジェクト指向言語には移行し辛いかもしれません。
そもそもそういう人の場合は初めからオブジェクト指向言語を扱った場合でも
メイン関数内等で同様のスパゲティ化を起こしがちであると思いますが…。
HSPはBASICライクなシステムとなってはいますが、モジュールやサブルーチンを多用し
処理の細分化を行う癖をつけておくと、オブジェクト指向言語にも移行しやすいことでしょう。
言語の違いにより構文は異なっても、アルゴリズムの考え方等については同じです。
言語自体やIDE(開発環境)操作に時間が掛かることが多い別言語で時間を割くのなら、
直感で理解できてすぐ操作し、コードを組めるHSPでアルゴリズムを学ぶのも悪くないと思います。
|