高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

プログラミング言語のススメ

Hiekichiの覚書 - お仕事ですから(スープ召しませ)
うーん…。個人的には、HSPはあまりお勧めしないです。知る人ぞ知る、わたしもほんのちょこっとHSPをいじったことがありますが、あれを入門用途に使えるかというと…。

 まず、GUI関連。わたしがさわったのは2,3年前なので変わったかも知れませんが、GUI部品の命令が非常に弱いです。システムカラーの取得にもちょっとした手段を踏まなければならなかったし、コンボボックスだって、フォントサイズが標準的なダイアログなどとは違って違和感を覚えてしまう。端から見て「あ、HSPで作ったな」とすぐ分かるのがHSP*1という感じ。まあ、見た目に凝りたい(と思われる)初めての人があのようなGUIプログラミングで満足できるかというと、どうだろう?というのがわたしの感想です。
まあゲーム方面なら問題ないとは思いますが。DirectX関連を使いやすいらしいので、これで出来たゲームでよいものも結構見かけます。


 それから、初心者のうちは、ゲームと同じでレベルアップが早いでしょう。するとすぐにAPIを使う必要が出てきたりして。構造体の扱えないHSPでは、かなりハードウェアよりなプログラミングをする羽目になってしまいます*2。下手するとアセンブラちっく*3なこともやらなくちゃいけません。初心者は特に、素質があればすぐに中級者になってしまうので、その後も使え、克つ、上級者へのステップにもつなげられる言語であるほうが望ましいと思いますね。
その後のステップをある程度無視して、実行命令タイプや、流れ図タイプなどの全く違う仕組みの言語に手を出してみるのも良いかも知れませんが*4


 とにかく、わたしのお薦めは、今時ならば.NETですかね(まあ、VB.NETなり、C#なり、その辺は好みで決めてもらえばいいと思います。C#をお勧めはしますが)、とりあえず限界もないし手軽に何でも出来るし、開発環境も安定しているし、なにしろぺたぺたRAD作業だけでGUIデザインの簡単な部分が出来てしまうという手軽さは、代え難いものがあります。その面ではDelphiも良いのですが、開発環境の安定性と、手軽に何でも出来るという面で若干落ちます*5、.NETも速度面でDelphiに劣りますが、ガマンできない程度のものではない。
まあ、Delphiは6Personalが無償で使用できますが、中学〜大学・専門学校生ならばC#だって数千円で環境が買えますしね(もうちょっと性能や安全性があがれば、SharpDevelopでも良いでしょうし)。何しろVisualStudioには入手のプロセスに日本語以外の言語が関わりませんから。

 文章が前後しましたが、まとめると

C#(.NET) Delphi(6Per基準)
GUIデザインのしやすさ しやすい しやすい
成果物の実行速度 遅め 早い
機能の豊富さ とても豊富 豊富
(開発環境の)入手のしやすさ しやすい (英語が絡むぶん)しにくい
(開発環境の)価格 (条件によっては)安価 無償
(開発環境の)安定性 安定 やや不安定

 といったところ。ということでわたしは.NETをお勧めするわけです。知名度もまあまあですし。


 だいたい小学生でも立派にDelphiが使えるんだ、わざわざ入門用仁別言語を使う必要などない…ってね(^_^;)

*1:それっぽいDLLがそのあたりにあるというのもありますが

*2:変数のサイズを意識する必要があったり、配列変数を構造体に見立てるため、ポインタの使い方も覚えないといけなかったり

*3:他言語のオブジェクトファイルを使うなど

*4:前者は言語ではありませんがRPGツクールのこと、後者は名前は忘れましたが、ベクターのプログラミングカテゴリーにいろいろあったはずです。限界がある言語かも知れませんが…

*5:安定性という面では言うまでもなく。何でも出来るという面では、C#などではGDI+によるアルゴリズム要らずのグラデーション処理や、知識がなくとも出来るHTTPダウンロード機能などがある。Delphiでそこまで出来るコンポーネントは今のところ国内&無料ではない