プログラムの組み方 [雑談]
プログラムの組み方 [雑談]
シューティングを作成しているのですが、どういう風に組むかで悩んでいます
簡潔に言うと C++ か ピュアなC のどっちで組むかです
C++だと
・ソースコードの量が増え、保守が複雑になる
・再利用しやすくなる
ピュアなCだと
・簡素かされソースコードが見やすくなる
・単純化ゆえにバグの発見が遅れるとのちのちの痛手になる
・ライブラリを自前で実装しないといけない
と考えていててどっちもどっちでして
どうしようかと悩んでおります
どちらのほうが完成させるには王道でしょうか?
簡潔に言うと C++ か ピュアなC のどっちで組むかです
C++だと
・ソースコードの量が増え、保守が複雑になる
・再利用しやすくなる
ピュアなCだと
・簡素かされソースコードが見やすくなる
・単純化ゆえにバグの発見が遅れるとのちのちの痛手になる
・ライブラリを自前で実装しないといけない
と考えていててどっちもどっちでして
どうしようかと悩んでおります
どちらのほうが完成させるには王道でしょうか?
Re:雑談 プログラムの組み方
慣れているほうでいいと思います。
余談ですが以下の認識は違うと私は思います。
>C++だと
>・ソースコードの量が増え、保守が複雑になる
C++の機能をうまく利用すればCよりも少なくなる場合もあります。
>ピュアなCだと
>・簡素かされソースコードが見やすくなる
これもC++のほうが簡素化される場合があります。
>・単純化ゆえにバグの発見が遅れるとのちのちの痛手になる
バグの見つかりやすさの問題はプログラマのスキルによるので言語は関係ないです。
致命的なバグの発見が遅れると痛手になるのはどの言語でも大して変わらないと思います。
>・ライブラリを自前で実装しないといけない
どういったライブラリを想定していますか?
DXライブラリを使うのであれば関係ないと思いますけど。
余談ですが以下の認識は違うと私は思います。
>C++だと
>・ソースコードの量が増え、保守が複雑になる
C++の機能をうまく利用すればCよりも少なくなる場合もあります。
>ピュアなCだと
>・簡素かされソースコードが見やすくなる
これもC++のほうが簡素化される場合があります。
>・単純化ゆえにバグの発見が遅れるとのちのちの痛手になる
バグの見つかりやすさの問題はプログラマのスキルによるので言語は関係ないです。
致命的なバグの発見が遅れると痛手になるのはどの言語でも大して変わらないと思います。
>・ライブラリを自前で実装しないといけない
どういったライブラリを想定していますか?
DXライブラリを使うのであれば関係ないと思いますけど。
Re:雑談 プログラムの組み方
図で示すと画像のような設計になるのですが
言語というよりやはり設計の問題でしょうか?
するとどのような設計がいいのか?といった問題になるのです
ライブラリとはSTLで使われるvectorクラスなど基礎的なものです
もっともC/C++混合で使えば解決できます
言語というよりやはり設計の問題でしょうか?
するとどのような設計がいいのか?といった問題になるのです
ライブラリとはSTLで使われるvectorクラスなど基礎的なものです
もっともC/C++混合で使えば解決できます
Re:雑談 プログラムの組み方
> 言語というよりやはり設計の問題でしょうか?
>
> するとどのような設計がいいのか?といった問題になるのです
設計に問題ないと思いますし、Cを選択してもC++を選択しても特に問題ないと思います。
拡張子をcppにしておいて、dicさんのやりやすいようにするのが一番じゃないでしょうか。
(ソフトを完成させることが目的であるならば)
経験上、変に形にこだわりすぎると出来るものもできなくなりますよ。
>
> するとどのような設計がいいのか?といった問題になるのです
設計に問題ないと思いますし、Cを選択してもC++を選択しても特に問題ないと思います。
拡張子をcppにしておいて、dicさんのやりやすいようにするのが一番じゃないでしょうか。
(ソフトを完成させることが目的であるならば)
経験上、変に形にこだわりすぎると出来るものもできなくなりますよ。
Re:雑談 プログラムの組み方
Mistさん たかぎさん
ご回答ありがとうございます
たしかにこだわりすぎて変な物を作ったことがあるので
今回は変な物を作らないようにしようとしていてて、どうしようかと悩んでいます
C++ はたしかに扱えるのですが、時間の関係上、とぎれとぎれの開発になってしまうのです
なので、前回どこまで開発したのかを逐一確認しながらバグのないプログラムを組まないと
いけなくなるので n,n+1,n+2....n+m行 読み返す必要がでてくるので
前回のソースを読んでいる時間がy=x式に増えていき、これを解釈しながらとぎれとぎれの
時間で開発していくことになり・・・
う~ん、もう少し、設計を単純にし考え直してみます
ご回答ありがとうございます
たしかにこだわりすぎて変な物を作ったことがあるので
今回は変な物を作らないようにしようとしていてて、どうしようかと悩んでいます
C++ はたしかに扱えるのですが、時間の関係上、とぎれとぎれの開発になってしまうのです
なので、前回どこまで開発したのかを逐一確認しながらバグのないプログラムを組まないと
いけなくなるので n,n+1,n+2....n+m行 読み返す必要がでてくるので
前回のソースを読んでいる時間がy=x式に増えていき、これを解釈しながらとぎれとぎれの
時間で開発していくことになり・・・
う~ん、もう少し、設計を単純にし考え直してみます
Re:雑談 プログラムの組み方
> 私は別にC交じりのC++でもかまわないと思います。
これは二種類の意味にとれますね。
1. 本当にCとして記述し、Cとしてコンパイルしたモジュールの関数をextern "C"を付けて呼び出す。
2. 形式的にはC++だけれども、Cと同等の文法のみを用いて記述する。
1.を採用するには相応の理由があるはずです。
2.ないしは"better C"であれば、何も問題はありません。
これは二種類の意味にとれますね。
1. 本当にCとして記述し、Cとしてコンパイルしたモジュールの関数をextern "C"を付けて呼び出す。
2. 形式的にはC++だけれども、Cと同等の文法のみを用いて記述する。
1.を採用するには相応の理由があるはずです。
2.ないしは"better C"であれば、何も問題はありません。
Re:雑談 プログラムの組み方
私はC++でSTGを作っています。
もちろん、STGを完成させるのが目的ですが
C++を学ぶことを優先して作っているので
失敗したら作り直しながら、良いコーディングを目指しています。
目的によって使う言語は違うと思いますが
1.C言語 or C++で作りたい(覚えたい)のなら、選んだほうの言語を・・・
2.STGを1本作り上げたいのなら、慣れている方でいいのでは?と思います。
もちろん、STGを完成させるのが目的ですが
C++を学ぶことを優先して作っているので
失敗したら作り直しながら、良いコーディングを目指しています。
目的によって使う言語は違うと思いますが
1.C言語 or C++で作りたい(覚えたい)のなら、選んだほうの言語を・・・
2.STGを1本作り上げたいのなら、慣れている方でいいのでは?と思います。
Re:雑談 プログラムの組み方
返答ありがとうございます
C,C++ どちらも同じくらい慣れてるんですよ
保守性、可読性、簡潔であることなどあまりにも求めるものを追求してまして
ちょ~っと完璧主義入っているのかな?
ゆっくり考えます
C,C++ どちらも同じくらい慣れてるんですよ
保守性、可読性、簡潔であることなどあまりにも求めるものを追求してまして
ちょ~っと完璧主義入っているのかな?
ゆっくり考えます
Re:雑談 プログラムの組み方
> C,C++ どちらも同じくらい慣れてるんですよ
> 保守性、可読性、簡潔であることなどあまりにも求めるものを追求してまして
> ちょ~っと完璧主義入っているのかな?
この条件だけなら、たかぎさんに同意。
Cを選ぶ利点が見つかりません。
> 保守性、可読性、簡潔であることなどあまりにも求めるものを追求してまして
> ちょ~っと完璧主義入っているのかな?
この条件だけなら、たかぎさんに同意。
Cを選ぶ利点が見つかりません。
Re:雑談 プログラムの組み方
Cを選ぶ利点。
きっとここで赤ペンを入れてもらう時に
C++よりもレスがつきやすいとか(笑)
イヤ、冗談でふ。すみません。
以下、激しく余談^^;
昨日、パチンコで桃太郎電鉄をやっていて、
こんな感じのすごろくゲームをプログラミングするなら・・・なんて考えながらやって
いるうちに2万も突っ込んでしまいました。
最終的に4万になったので2万円勝ちでした(^-^)v
きっとここで赤ペンを入れてもらう時に
C++よりもレスがつきやすいとか(笑)
イヤ、冗談でふ。すみません。
以下、激しく余談^^;
昨日、パチンコで桃太郎電鉄をやっていて、
こんな感じのすごろくゲームをプログラミングするなら・・・なんて考えながらやって
いるうちに2万も突っ込んでしまいました。
最終的に4万になったので2万円勝ちでした(^-^)v