ここから本文です

今の時代C++でwindowsのウィンドウ関連のAPIとかスレッド関連のAPIとかを直接使う...

ico********さん

2018/3/1304:32:13

今の時代C++でwindowsのウィンドウ関連のAPIとかスレッド関連のAPIとかを直接使うことってあるのですか?
boostとqtのほうが普通ですか?

今C++でwindowsのウィンドウ関連やスレッドを学ぼうとしているのですが、今の時代そんなもの学んでも意味があんま無いのかあるのか知りたいです

閲覧数:
144
回答数:
3

違反報告

ベストアンサーに選ばれた回答

abi********さん

2018/3/1308:11:40

[C言語の必要性]
時々、「今は、もうC言語(C++)は、不要である」と言う人がいます。
しかし、それは、「今は、ハードがなくてもソフトは動作する」と言っているのに等しく、ありえないことです。
ハードがあるから、その上でソフトが動作するのです。
ハードがある限り、そのハードを制御するC言語(C++)の必要性は高いです。



[ユーザーインターフェイスの作成]
ユーザーインターフェイスの作成の場合は、もともとC言語(C++)は、活躍していません。
C言語(C++)は、システム的な処理が得意だが、ユーザーインターフェイスの作成は苦手です。
これに対してVBは逆で、ユーザーインターフェイスの作成が得意だが、システム的な処理は苦手です。
よって、Windows系のソフト開発の多くが、VBとC言語(C++)の連携でした。
ただし、C++ならMFCと言うライブラリを使えば、システム処理からユーザーインターフェイスまでC++だけで作れます。
しかし、多くの企業が、MFCよりBorland C++と言う開発環境を好んでいました。
そのBorland C++は、今はすっかり使われなくなっています。
まとめますと、もともとユーザーインターフェイス作成では、C言語(C++)はあまり使われていませんでした。
今はさらに、使われなくなりました。



[Windowsアプリケーションの作成]
上記「ユーザーインターフェイスの作成」での説明から、Windowsアプリケーションの作成では、C言語やC++は使われなくなりました。
多くが、C#やVB.NET等で作られています。



[ゲームの作成]
ゲームは、多量データ(画像や3Dオブジェクト)を高速に処理する必要があるので、C言語やC++は重要な存在です。
C#やJavaでのゲーム作りがだいぶ増えてきましたが、まだまだC言語(C++)は重要な位置にあります。



[クラウドコンピューティングが中心の世の中では]
SaaSと言うタイプのクラウドコンピューティングが中心の世の中になって行くと、C言語やC++で作られて来たシステムは、JavaやC#に移行して行きます。
SaaSと言うタイプのクラウドコンピューティングは、サービス(機能)を発信して行くタイプのクラウドコンピューティングです。
しかし、C言語(C++)が全く不要になる訳ではないです。
クラウドコンピューティングでのユーザーインターフェイス側は、HTML5やXAML等のテキストベースなので、かなり重くなります。
それなのに、3D等の高度な処理が求められます。
よって、状況によっては、C言語やC++でバックグランドの処理(背景側の処理)を行なって、高速化させることもあります。



[C言語でのマルチスレッドプログラミングの件]
全体的には、C言語やC++が活躍する割合が減って来ました。
しかし、システム処理では、まだまだ重要度があります。
そのシステム処理の代表機能のひとつが、マルチスレッドです。
よって、少なくとも「意味がない」と言うことはないです。

  • abi********さん

    2018/3/1310:07:11

    [C++/CXについて]
    私はまだC++/CXには手を付けていませんが、C++/CXが、前述したものの「その物」です。
    すなわち、「HTML5やXAML等のテキストベースでは、かなり重過ぎるよ。なんとかならないの」と言う時に役経つ言語です。
    C++/CXは、C++系列で、XAMLも使えるようにした言語です。
    C++/CXでは、従来からのC言語やC++(Win32 やCOMテクノロジー)も活かしやすくなっているようです。
    C++/CXを使えば、WindowsAPIによるマルチスレッドプログラミングが役に立ちます。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/3/14 18:12:42

ありがとうございました!!
・業界内でもWinAPI使える人少ない上に今はさらに利用者現象
・多くのUIはWinAPI直接でなくVBかC#
・boostとqtの使用も別にそう使うわけではない
・しかし重い処理のバックエンドではWinAPIが使われたりが実際ある
・.NETも内部ではWinAPI使われてたりする
頂いたご回答をふまえて一通り勉強したいと思いますm(_)m 

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

bas********さん

2018/3/1311:58:34

意味はないわけではない。

が、まったくわからなくてもプログラミング自体は可能。

でもWindows API ってある意味 C言語と同じです。

なぜJavaでは Test test = new Test(); となっているかとか、ヒープ領域とはとかを初心者にわかりやすく ( Wikipediaを貼り付けるだけじゃなくて ) 説明できますか?

C言語とかみたいな言語を学ぶと、ちゃんと理解していれば説明できますよね。

それと同じ。

Qtも WxWindowsだったかな。後は .NET Framework とかも内部では Windows APIを実装しているようです。

包み込んで使いやすくしているだけです。

なので、Windows APIが分かれば、理論も習得しやすくなる。

プロを名乗るなら必須。( 私としては。 )

だって、人体のこと ( 生物学とかそういうの ) を知らない医者にかかりたいと思います?
それと同じです。

プロフィール画像

カテゴリマスター

n2q********さん

編集あり2018/3/1308:19:20

『今の時代C++でwindowsのウィンドウ関連のAPIとかスレッド関連のAPIとかを直接使うことってあるのですか?』

あります。事実としてです。ただ、一般的かどうかへの言及は控えたいと思います。


『boostとqtのほうが普通ですか?』

特定の分野を想定なさっているとしますと、それについては何も言えません。ただ、個人的には「boostとqt」は使用しません。


『今C++でwindowsのウィンドウ関連やスレッドを学ぼうとしているのですが、今の時代そんなもの学んでも意味があんま無いのかあるのか知りたいです』

なるほど、了解です。

それが心配な場合「今の時代そんなもの学んでも意味があんま無い」可能性が結構あるように思います。


「C++でwindowsのウィンドウ関連やスレッド」

出来る人は業界内でも少ないと思います。

前から少なかったのですが、やはり「今の時代」、淘汰されてきた感があります。昔は中途半端なレベルでも「C++でwindowsのウィンドウ関連やスレッド」を取り扱ってる人も居ました。今、そういう人は減ってきていると思います。(たいていは C# に引っ越している模様。)

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる