できるんですか?

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
井上翔太
記事: 12
登録日時: 2005年10月22日(土) 13:17
お住まい: 京都市
連絡する:

できるんですか?

#1 投稿記事 by 井上翔太 »

MMORPGってActiveBasicでもつくれるんですか?
まだぼくは、そこまで技術がないのですが・・・
がんばればつくれるか教えてください。
Mario2
記事: 205
登録日時: 2005年5月31日(火) 13:31
お住まい: 大阪市
連絡する:

Re: できるんですか?

#2 投稿記事 by Mario2 »

> MMORPGってActiveBasicでもつくれるんですか?
> まだぼくは、そこまで技術がないのですが・・・
> がんばればつくれるか教えてください。

結論から言えば"作れる"と思います。
でも、作るとなると、とても難しく、C言語で作ったほうが、速度的にも作るのにも最適かと思います。

速度とか遅くても、作成が難しくてもABで作る。と言うのなら止めはしませんが、お勧めはしません。
ゲスト

#3 投稿記事 by ゲスト »

> でも、作るとなると、とても難しく、C言語で作ったほうが、速度的にも作
> るのにも最適かと思います。
え、でも "ActiveBasicはC言語並みの処理速度を有するソフトウェアを開発できます。" じゃないの。

速度はやっぱりfreeのC言語を使ったほうがいいのかな?
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

#4 投稿記事 by hira »

うたい文句はそうなっていますが、現在のActiveBasicは速度的にはC言語には及ばないレベルなんです(^^;
(原因は http://d.hatena.ne.jp/dai_optimistic/20050928)
64ビット版の制作にあたってこの辺りは改善されていくようですので、お急ぎでないならActiveBasicを使ってみてもいいかもしれません。

※64ビット版制作のタイミングで(32ビットも含めた)コンパイラが改善されていくという意味であって、64ビットPCで開発しろということではありません(誤解を招きそうであるため)。
マティ
記事: 161
登録日時: 2005年8月23日(火) 00:15
お住まい: 沖縄県
連絡する:

#5 投稿記事 by マティ »

ABは最適化を行ったC言語には負けますね!(完璧に!)
なんせ1パッスですから・・・hiraさんからの指摘通りレジスタベースの演算コード生成は行っていません。しかしMSのFreameworkで生成するコードはスタックベースなのです。
もしかしたら、AB6ではMSIL対応のコンパイラが出るかも・・・

その前に、レジスタベースの演算コード生成を行えって話も・・・

今後の山本様に、ご期待って事で・・・
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#6 投稿記事 by イグトランス »

 皆さん遅い遅いとは言いますが,たしかに速いに越したことはありません。
しかしそもそも現在のPC自体が十分に速いですし,本当に遅くて困る場面と言うのは意外と限られます。
普通のプログラムでは気にするほどのことではありません。

 ABは遅くて困ると思われても困るので弁明のようなことを書いてみましたが,
MMORPGが速度面において普通のプログラムと同列に扱えるかというとたしかに返事に困ります。

 それにC/C++は市場原理での競争があるので最適化技術が進んでいるのは確かですし,
それに比べればABの最適化は発展途上だということは否めないでしょう。

 大切なのは様々な言語を上手に使い分けることです。
マティ
記事: 161
登録日時: 2005年8月23日(火) 00:15
お住まい: 沖縄県
連絡する:

#7 投稿記事 by マティ »

ごめんなさい私の書込みが不適切であった事をお詫びします。

MMORPGにおいても、速度を重視する部分と、さほど速度を問題としない部分があります。
イグトランスさんのご指摘どおり、速度を重視する部分をアセンブラ等の言語で作成し、基本部分をその他の言語で作成するのが最適です。
また、速度を重視しないのであれば、より保守性の良い言語を使用する事が最善になります。ABは、程よいレベルで保守できるような気がしましたので・・・

今後ABが発展すると、『性能が改善する可能性が大と思われます』って、個人的な考えでした。
井上翔太
記事: 12
登録日時: 2005年10月22日(土) 13:17
お住まい: 京都市
連絡する:

なんでですか?

#8 投稿記事 by 井上翔太 »

なぜみなさんは、C言語のほうがいいとおもうんですか?
開発が、早くなるんですか?
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

Re: なんでですか?

#9 投稿記事 by hira »

私はC言語のほうがいいと言うつもりはありませんが、私の考えを。
確かにC言語はActiveBasicよりも高速であるというのも理由の一つでしょう。しかし、C言語の方が後からソースを見たときに読みやすいんじゃないかと思います。
ActiveBasicでは「End ~」というフレーズが大量に出てくるのでProjectEditorの色分けを使えば読みやすいのですが、メモ帳などからでは読みにくいこともあります。C言語では分岐やループを閉じるのはたいてい } の1文字ですんでしまうため、メモ帳で見てもスッキリした感じがする、というところでしょうか。
あとはC言語がプログラムでは主流であるが故に、ネットで検索すると出てくるサンプルコードなどもC言語のものが圧倒的に多く、参考にしやすいというのもあるかもしれません。
ActiveBasicではC言語のコードを移植するか、VisualBasicのものを使う(それでも少し修正が必要な場合あり)ことになりますので、その作業が面倒だという気は私もしています(^^;;
井上翔太
記事: 12
登録日時: 2005年10月22日(土) 13:17
お住まい: 京都市
連絡する:

いくらくらいかかりますか?

#10 投稿記事 by 井上翔太 »

ActiveBasicなら平均で何日くらいかかりますか?(MMORPGのこと)
それと、C言語ならなんにちくらいかかりますか?


話がかわりますが、
>速度はやっぱりfreeのC言語を使ったほうがいいのかな?
フリーのC言語ってあるんですか?
あったらダウンロードできるアドレスを教えてください。
(自分でも探します)
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

Re: いくらくらいかかりますか?

#11 投稿記事 by hira »

何日ぐらい…それはやってみないとわかりません。
プログラムの技術にもよりますし、内容にもよります。

それからフリーのC言語ということですが、私がインストールしているのは「Visual Windows for BC++」です。
BCC(コンパイラ)が付属している(付属しないバージョンもあり)ので、B○rlandに個人情報を登録しなくても使い始められるということで(何
色分け可能なエディタも付いています。
※コンパイラだけをダウンロードしても、使おうと思えば使えます。ただし作業が面倒です

アドレスもわかっているのですが、ここはActiveBasic板なので記載は自主規制です(^^;; 検索してみてください。
井上翔太
記事: 12
登録日時: 2005年10月22日(土) 13:17
お住まい: 京都市
連絡する:

比較すると?

#12 投稿記事 by 井上翔太 »

比較すると、
C言語とActiveBasicならどちらが性能がいいといえますか?
ぼくてきには、ActiveBasicのほうが、使いやすくいいとおもえるのですが・・・

あと1つ聞きたいことがあるんですけど、ActiveBasicには、作れないものは、ないといいけれるほど、すごいものなんですか?
それと反対に、

ActiveBasicに作れないものがあったとします。
でもC言語なら作れるということはあるんですか?
それだけ教えてください。

山本大祐さんへ

山本大祐さんのプライド?にかかわる話ばっかりして本当にすみません。
マティ
記事: 161
登録日時: 2005年8月23日(火) 00:15
お住まい: 沖縄県
連絡する:

#13 投稿記事 by マティ »

井上翔太 さんが書きました: ActiveBasicに作れないものがあったとします。
でもC言語なら作れるということはあるんですか?
基本的に、ActiveBasicで作成出来ないプログラムはありませんが・・・現状ではC言語で作成する方が、より高速に動作します。将来的には改善するでしょう・・・

hiraさんとは矛盾しますが個人的な意見です
VBやABの良い点は、End ...で構造が明確になる点が良い点だと思います。
(C言語は、エディタで開始と終了を調べる事が出来るので便利ですが・・・)

コード: 全て選択

    for i=1 to 1000
        do
            while 条件1
                if(条件2)then exit for
                .
                .
                (処理)
                .
                .
            wend
        loop until (条件2)
    next
のようにコードを組むと、exitで抜ける範囲が分かりやすい。
(C言語では、組んだ人しか分からないようなロジックも作れるので、コーディング規約を徹底する必要がある。)
各言語によって一長一短があるので、他の言語を勉強するのも良いと思います。
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

Re: 比較すると?

#14 投稿記事 by hira »

ActiveBasicはベースがBASIC言語です。BASIC言語は「Beginners All purpose Symbolic Instruction Code」というだけにもともとプログラムの学習用に作られたため、初心者であればBASICのほうが理解しやすいでしょう。しかし、実際は人によると思いますので、ご自分の使いやすいほうを選択されるとよいと思います。
それからActiveBasicの機能ですが、C言語やC++スタイルのステートメントなどが導入されてはいますがまだまだできないこともあります。とはいっても、無理矢理コード(APIの宣言も含めて)を書けば可能なことも多いです。
但し、私もよくわかっていないのですが、オーバーロードという機能があります(これがないと、OLEドラッグ&ドロップが実装できないのです)。このオーバーロードはActiveBasicでは現在開発中で、まだ我々は使えません。
その他、Visual C++ではインラインアセンブラが使えますが、ActiveBasicにはありません(まあ、なくても普通は困らない機能ではありますが)。
マティ
記事: 161
登録日時: 2005年8月23日(火) 00:15
お住まい: 沖縄県
連絡する:

#15 投稿記事 by マティ »

あくまでも、個人的な意見です。
hira さんが書きました:但し、私もよくわかっていないのですが、オーバーロードという機能があります(これがないと、OLEドラッグ&ドロップが実装できないのです)。このオーバーロードはActiveBasicでは現在開発中で、まだ我々は使えません。
オーバーロードはクラスを使用するプログラムを使用しない限り必要ありません。ロールプレイングを作成する際に必要になる機能とも思えません。DirectXを使用するならインラインアセンブラを使う必要があるようなクリティカルな処理は無いと思うのですが・・・
またhiraさんのおっしゃるとおり、ActiveBasicはこれからも、C言語等の他言語の良い点を取り込んで進化して行くと思いますので期待したいですね!

あくまでも、個人的な意見です。
返信する