IBMシミュレーションのためのプログラミング言語
個体ベースモデル(Individual Based Model: IBM)を使った研究をしようとすると、ある程度は自分でプログラミングを行うことが求められます。
これまでにプログラミングの経験がある人はとりあえずその言語を使えばいいのですが、初めての人はどうでしょう?過去のしがらみが無い分、機能性や、IBMとの親和性で選べますね。それから、習得しやすさも重要でしょう。
これまでにプログラミングの経験がある人はとりあえずその言語を使えばいいのですが、初めての人はどうでしょう?過去のしがらみが無い分、機能性や、IBMとの親和性で選べますね。それから、習得しやすさも重要でしょう。
そこで、ここではいくつかのプログラミング言語を、これからIBMをやってみたい人にとっての適否、という視点で比較してみました。
実行速度の比較などではいくつかのページ(こことか、こことか)を参考にさせて頂きました。
個人的な印象ですが、A, B, Cの三段階の評価を付けました。
実行速度の比較などではいくつかのページ(こことか、こことか)を参考にさせて頂きました。
個人的な印象ですが、A, B, Cの三段階の評価を付けました。
C
論外。初心者が習得しやすくないし、オブジェクト志向(Object Oriented: OO)でもない。どこでも使えるのはいいんだけど…。
評価: C
評価: C
C++
メジャーだし、OOもできるし、習得できたらいいんじゃないでしょうか?しかし、メモリ管理をプログラマがしなきゃいけないというのがどうも…。あらゆるプラットフォームで使えるのはよい。
評価: B
評価: B
C#
メモリ管理もやってくれるし、速そうだし、楽そうなのはよい。しかし、Windwosでしか使えないし、げいつソフトだ。
評価: B
評価: B
Java
こちらも使える場面は広い。意外と実行速度は速いのだそうだ。メモリ管理を任せられるのはよい。OOもしっかり。将来は開発元のSunMicrosystems次第だろうから、そういう意味ではちょっと不安。あと、見せ物用にGUIのシミュレータを作るのはちょっと面倒そう。
評価: A
評価: A
Basic系
OOじゃないのでパス。あ、でもVB.NETは違うのかも(でも、げいつさんはこれ以上儲けなくていいので、やっぱりパス)。
評価:C
評価:C
Ruby
ばりばりOOらしい(まだ、触ってない)。色んな環境で使える。でも、実行速度はシミュレーション用としては致命的に遅いようだ。スクリプトなんでしょうがないけど。
評価: B
評価: B
ObjectPascal (Delphi/Kylix)
マイナーだけど、OOだし、ネイティブコードを吐くので実行速度もなかなか。WindowsでもLinuxでも使える。GUIアプリも作りやすい(っていうか、もとはそのためのものだろう)。ただ、将来性が不安かも。
評価: A-
評価: A-
以上の結果から、講習をJavaでするのか、ObjectPascalでやるのか決めかねています。
どうしたものでしょうねえ?
どうしたものでしょうねえ?