• ベストアンサー

C++かAPI?

anmochiの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

 C言語ばりばりという事なのでこういう表現するするが、WinAPIはもっとも単純に言うと「Windowsを操作するための関数群」だ。  元々CやC++でアプリを組むというのは、ターゲットとなるシステムにあわせてライブラリを使う。標準Cライブラリでコンソールプログラム、OpenGLでグラフィックを操作するプログラム、WinAPIでWindowsを操作するプログラム。この点において究極のところC言語とC++言語はまったく変わりが無い。言語仕様が違うだけだ。  つまり、WinAPIに行く、というのは「C言語は覚えた、OpenGLの関数群も覚えた、さぁ次はWinAPIでも叩いてみるか」という風に、ライブラリを変更するという話だ。OpenGLだって「Open(オープンソースの)G(グラフィック)L(ライブラリ)」でしょ?  これに対して、C→C++というのは言語を変更するというお話。  ところで、「1.C++に興味が湧いた」のか、「2.C言語に飽きた(と言ったら語弊があるかも知れないが)のでC以外もやってみたい」のか、量りかねているところだ。 1→前述の通り、WinAPIはライブラリなので、C++に行くかどうかとはあまり関係のない話だと思う。将来、C++屋になりたいというのであれば、WinAPIは無理して通る程のものでもないと個人的には思う。まぁ、「ライブラリ構築の仕方」としてはある程度参考になるかも知れない。C++の前にオブジェクト指向の基礎を学んでおくと良いだろう。 2→どうせ別の事をやるなら生C言語とは理念もジャンルも違うサーバサイドJavaなんてどうだろう。今後も講義でCを進めていくなら、個人的には別ジャンルの事をやる方が見聞も広がろうというものだ。

eallendir
質問者

お礼

お返事ありがとうございます。そしていまいち掴めないプログラミング言語の体系をわかりやすく噛み砕いて説明していただきありがとうございます。 1,2とありますが、多分どちらでもない感じです・・。C言語に飽きたなど言えるほど使いこなせてはいないし、かといっていきなりC++に興味がわいたわけでなく、C言語という一つの言語をとりあえず授業としては習い終わり、他の言語があるという事に気づき単純に他の言語の存在に興味がわいたのです。 C++が選択肢として出たのは、ここの掲示板でWindowsソフトの90%はc++でできている、というのを見てそれほどまでに重要な言語なのかと最近知ったからです。また、学校で提出する作品作り(どういう事を学び、何を作れるのかまだわかりませんが)に使える言語なんじゃないか、という漠然としたイメージもありました。 またJAVAも聞いた事がある、ネット上で動くアプリケーションなんだったかな?程度の知識であまりピンときていませんでしたがやはり重要な言語なのですね。 選択肢に入れ考え直してみます。

関連するQ&A

  • WinAPI、DirectXの本

    4月で専門学校2年生になるんですが、2年次からDirectXとWinAPIの授業があるようなので予習をしておこうと思ったのですが、たくさん本があってどれがいいのか分かりません。 皆さんはどういった本でこれらを勉強してきたのでしょうか。 両方とも全く触れてこなかったので入門レベルで、分かりやすい良い本を紹介して欲しいです。 ちなみに1年次はOpenGLとCをやっていました。

  • WinAPIでCGは可能か

    大学で三角形メッシュやCGを勉強するかもしれないのですが 私の大学ではOpenGLを用いて計算機実験をするらしいです. ですが 私は、WinAPIをc言語で書く事の方が慣れているので そっちで計算機実験をしたいという気持ちがあるのですが WinAPIだと何か不足な自体が起こり得るのでしょうか? 又は OpenGLだと使い易いなどの利点があるのでしょうか? 使い易さや、機能の面でWinAPIだと大変と分かったら、潔くOpenGLを勉強するつもりです...

  • RSAのCプログラム

    何かC言語で書かれたRSAの一連の流れを示したものはありますか?Googleでプログラムを探しているのですがどうしてもみつかりません。プログラムとして、単純なものでよいです。ある平文に対して、はじめに2つの素数を見つけ(p,q)、鍵を生成し、暗号化をして、それを復号するというような一連の流れをC言語で見てみたいのでプログラムがありましたら教えてください。お願いします。

  • C言語の解読

    C言語は、まったく未経験でソフトだけは持っています。教えてgooで "OS" や "google" はC言語で書かれている。大概のプログラムはC言語で書ける。というので興味があります。しかし、今からC言語の仕事をする自信はありません。C言語で書かれているプログラムの内容を理解するにはどのくらい時間がかかるのでしょうか?どこかでOSのソースを見ることなどできないでしょうか?

  • C言語でTIFファイルを読み込むプログラムを教えてください。

    C言語でTIFファイルを読み込むプログラムを教えてください。 C言語でTIFファイルを読み込むプログラムを組みたいのですが、テキストや参考書、ネットで調べてもよく分かりません。 もしお分かりになるのでしたらプログラムの一連の流れ(ソースプログラムも書いていただけるとなおさら嬉しいです)を教えていただけると助かります><

  • C言語の勉強について

    C言語の勉強について わたしは、前からC言語に興味を持っており入門書を買って勉強しました。 基本的なことは理解できましたが、これからどうすればいいのかわからなくなってしまいました Cに興味を持つ前はHSPをしていたのですが、これはさすがにプログラムの基本さえわかっていれば ヘルプを開き自分で考えて、だいぶ本格的ななゲームも作れたのですが、Cは思ったとおりに行かなくて そもそも、コマンドプロンプトから実行するプログラムしかわからないのですが みなさんは、私くらいのころはどんなことをしていましたか? ひたすらプログラムを書いていましたか? それとwindowsアプリケーションの開発はもっと後になりますか? C言語ではどんなソフトを作ったりしたことがありますか?

  • C++とWIN32APIとゲームプログラミング

    WINDOWSで動くゲームを作りたくて3日ほど前からC++の勉強を始めました。 (最終的にはグラディウスのような横スクロールシューティングが作りたいです。) そこで質問なんですが 1、Win32APIについて調べるとC言語を使っての入門サイトばかりがヒットします。 Win32APIはC言語で書くものなんでしょうか? そうなってくると今WindowsのGUIアプリを作るのにC++を勉強していますが無駄ってことでしょうか? 例: 猫でもわかるプログラミング http://www.kumei.ne.jp/c_lang/index.html Win32API入門 http://wisdom.sakura.ne.jp/system/winapi/win32/index.html ちなみに今学習に利用しているサイトは以下のサイトです。 C++入門 http://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html 2、ポインタの概念について ポインタのイメージですが値を格納している場所みたいな感じで大方あってますでしょうか? 僕は組み込み系をやっているのでアセンブラにどっぷり漬かっています。 なんていうかレジスタの番地がポインタに該当するのかなって思っています。 ↓みたいなイメージで考えています。 ポインタ=データの場所=レジスタ番地 これであってますか? 3、まだGUIには進んでませんがウインドウのメニュー(ファイル、編集等)を作るのにリソースファイルも作るって説明が上記ページ(猫でもわかる)に書いてましたがリソーススクリプトとかヘッダーもプログラム言語とは別に勉強する必要があるんでしょうか? 4、C++のクラス概念について クラスとは複数の関数をひとまとめにしてグループ管理(おおざっぱに言うとサブルーチンの集まり的な)するようなものってイメージであってますか? 5、WindowのGUIアプリのプログラムの概要ですが各オブジェクト(ウインドウやボタン、マウスポインタ等)に対して「クリックされた」とかのアクションに対して動作するプログラムを書くって事でいいんでしょうか? 6、お勧めの参考書籍について 今までアセンブラをはじめPerlやJavaScript、C言語のお勧め入門書をいろんなサイトのレビューを見て買いましたが本よりネットの入門サイトのほうがかなり役にたってきました。それでも入門書を買うのは気持ち的に安心するからなんですが・・・ それを踏まえた上で僕の最終的な目的にあうような本があったら是非教えてください。 7、勉強の進め方や「合わせてこれも勉強しろ」っていう項目があれば教えてください。 現状としては 「C++の基礎(必要ですか?)」→「Win32API」→「DirectX」で行こうと思っています。

  • 基礎からC・C++を学習し、DirectXへの道

    私はゲームにおけるプログラミングを理解したく、C・C++を勉強したいと思っています。 しかしC言語についてはまったく知識がありません。過去にBASICで音楽をつくったりEXCELでVBAをいじった程度のド素人です。 いちおうゲームに関する技術は一通り理解しています。CGソフトでのモデリング、マッピング、アニメーションもできます。 専門用語になりますが、いちばんできるようになりたいのは「シェーダの作成」です。レンダリング部分を自在にいじれるようになりたいのです。 このような状況で、C・C++を学習するにはどうしたらよいでしょうか?私は普段は会社勤めですのでできれば都内で学習できる学校に通いたいと思っています。 ゲーム全般の学習ができなくても、C・C++がある程度理解できるようになれば、あとはDirectXやOpenGL、Cgfxなどの専門書で理解できるのでしょうか? Cの基礎からの学習方法だけのアドバイスでもかまいません。よろしくお願いします。

  • C言語とJavaの同時学習

    拝見してくださった方、ありがとうございます。 プログラミング言語についての質問です。 知識のある方&経験者にお聞きしたいのですが、 CとJava、Rubyの同時学習は出来るものでしょうか? 当方高等専門学校、情報系の学科に在籍しており 必修科目でCとRubyは単位を取得しなければなりません。 3年次に在籍しているのでCの基礎知識はあるのですが、 CとRubyはあまり興味が持てません……(-_-;) そこで他の言語を色々調べてみたところ、Javaに興味が湧いてきました。 全てしっかり調べた訳ではありませんが、RubyとJavaは同じオブジェクト指向言語という事で 同時学習も可能かな?と考えています。 流石に3つしっかり進めるのは恐らく力量と時間が不足するので、 Androidアプリ等開発してみたいので、Javaを専門的にやってみたいのです。 しかし、必修科目に含まれているためCとRubyもそこそこ同時に学習しなければなりません……。 知識や認識が足りない浅慮だとは思いますが やった方がいいと思われる順番、手順等ありましたらご教授下さい。

  • C言語で一定時間実行し、時間が経過したら処理を終わらせるには?

    今C言語でOpenGLを用いて図形を表示させるプログラムを書いています。 一定時間(例えば5秒)だけ画像を表示させ、 時間が過ぎらたらその画像をけし、 何も描いてないウィンドウだけ表示させるようにさせたいのですが、 プログラミングは全くの初心者で、どうすればいいのかわからず 困っています。 どなたか教えていただけないでしょうか。 出来れば関数名だけでなく、サンプルプログラムなどで 教えていただければ幸いです。 すみません、宜しくお願いします。