C++ , C# , Javeの違いについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
SantaxPro
記事: 14
登録日時: 13年前

C++ , C# , Javeの違いについて

#1

投稿記事 by SantaxPro » 13年前

こんばんわ
質問お願いします
C++, java, C# のそれぞれのよさとかなにができるとか違いを教えてください

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: C++ , C# , Javeの違いについて

#2

投稿記事 by softya(ソフト屋) » 13年前

とりあえず丸投げ禁止なのでSantaxProさんが調べて知っていることや疑問なことをまず書きだしてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。


アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: C++ , C# , Javeの違いについて

#4

投稿記事 by Dixq (管理人) » 13年前

SantaxProさんの知りたいことが何かによって回答が変わってきます。
また、ある程度のことを知っているのか、プログラムのことさえほとんど知らないのかなどが分からないと、どこから説明して良いかも分かりません。
質問が具体的であるほど、回答も具体的に行えます。

・自分はどの程度プログラムを理解しているのか
・具体的にどのような違いを知りたいのか

この辺がはっきりすると回答もスマートになるかと思います。

SantaxPro
記事: 14
登録日時: 13年前

Re: C++ , C# , Javeの違いについて

#5

投稿記事 by SantaxPro » 13年前

返答遅れてすみません
ぼくはほとんど初心者でC言語の条件分岐とかループとかポインタとか構造体とかは一通りやり終えて
C++でクラスをうまく作れるようになったぐらいです。
ここからゲームを作ったりするにはどう勉強していけばいいのかとか一番使いやすく定番な言語を教えてほしくて
まずC++, java, C#の違いからどのようなものを作りやすいか教えてほしいです
わかりにくい質問すいませんでした

non
記事: 1097
登録日時: 15年前

Re: C++ , C# , Javeの違いについて

#6

投稿記事 by non » 13年前

>C++でクラスをうまく作れるようになったぐらいです。

すばらしい。それでは、C++で簡単なゲームを作ってみたらいかがでしょうか?
どの言語でも、まず1つめの言語をマスターすることをお勧めします。
non

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: C++ , C# , Javeの違いについて

#7

投稿記事 by softya(ソフト屋) » 13年前

SantaxPro さんが書きました: ぼくはほとんど初心者でC言語の条件分岐とかループとかポインタとか構造体とかは一通りやり終えて
C++でクラスをうまく作れるようになったぐらいです。
C++でクラスをうまく作れるのであれば、既にゲーム作れるだけの経験は重ねていませんか?
入門書を読んだぐらいではC++のクラスはうまく使いこなせるものでもないですし。
【補足】 そういえば、この間のヘッダの質問の方ですね。
だとしたら、何とかC++のクラス入門の入り口ぐらいです。
SantaxPro さんが書きました: ここからゲームを作ったりするにはどう勉強していけばいいのかとか一番使いやすく定番な言語を教えてほしくて
まずC++, java, C#の違いからどのようなものを作りやすいか教えてほしいです
わかりにくい質問すいませんでした
C++をある程度理解しているのなら文法の違いはすぐ見て分かりますよね。
あとは使えるライブラリとターゲットの違いです。ちなみに作りやすい物は大差ありません。
どっちかと言うと言語ではなくライブラリ/フレームワークの問題だからです。

【C++】 DirectXなどのAPIやDXライブラリを使用してWindowsなどでゲーム作成。速度が早いが特徴。ガベージコレクションがないので自分でメモリ管理。現在の家庭用ゲーム機とwindowsのゲームのメインはコレ。

【Java】 プラットフォームが幅広い。androidでゲームを作るなら理解する必要あり。ブラウザゲームの開発でも使われている。

【C#】 問題はあるが色々なところで使われている。 Vitaなど「PlayStation Suite」やunity3Dでゲームを作るとか、XNAでWindows/xbox360のインディーズゲームを作成可能。

【その他】ついでにHTML5+javascriptもブラウザゲームでは注目。

聞きたいことはこんな感じのことでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

SantaxPro
記事: 14
登録日時: 13年前

Re: C++ , C# , Javeの違いについて

#8

投稿記事 by SantaxPro » 13年前

皆様たくさんおしえていただき本当にありがとうございます
自分はまだまだ勉強不足なのでC言語と基本的に同じC++をまず磨いていきたいと思いました
C言語も問題があってそれを解いていくとすらすらわかっていけたのでC++も問題で覚えていければいいなと思っています
わかりやすいサイトとかおすすめの本とかありませんか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: C++ , C# , Javeの違いについて

#9

投稿記事 by softya(ソフト屋) » 13年前

そういうふうに考えているとなかなか実践的なプログラミング技法やゲームの勉強を始められません。
既に文法書を読んだのなら実践的に覚えていく方が良いと思います。
それと並行で実践的なC++の組み方の本を勉強されてはどうでしょうか?

ゲームの勉強として、ここの講座サイト使って下さい。
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
C言語でやっていることが分かったらC++で書き換えてみると良いと思います。
サンプルプログラム(C++)もあるので参考にして下さい。

あと龍神録の講座の方にもC++のサンプルがあります。
「龍神録プログラミングの館」
http://dixq.net/rp/
いちばん下にあります。

一応練習問題も紹介しておきますね。並行して学ぶと良いと思います。
「BohYoh.com【著書】解きながら学ぶC++入門編」
http://www.bohyoh.com/Books/TokinagaraCPPA/index.html

あとこんなのとか。
「Amazon.co.jp: C++クラスと継承完全制覇 (標準プログラマーズライブラリ): 矢沢 久雄: 本」


いきなりレベルが上がりますが、これは良い本です。
「Amazon.co.jp: Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES): スコット・メイヤーズ, 小林 健一郎: 本」


その他にもオブジェクト指向設計、デザインパターンやSTLやらアルゴリズム(一般並びにゲーム)など色々必要に応じて学んでいく必要もありますね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

SantaxPro
記事: 14
登録日時: 13年前

Re: C++ , C# , Javeの違いについて

#10

投稿記事 by SantaxPro » 13年前

なにからなにまでありがとうございました
これからがんばって参考していただいたサイトで学びたいと思います
またよろしくお願いします

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: C++ , C# , Javeの違いについて

#11

投稿記事 by beatle » 13年前

なんか向上心が有る方みたいでいいですね。

学校で解く数学の問題集みたいな、C++の問題集を求めているなら、その考えは捨てて好きなアプリを作るのが良いと思います。

好きなアプリを書いて、「ああ、この書き方汚いなあ・・・」と思ったら上達のチャンスです!
何回か同じアプリを1から書きなおして、もっと綺麗な書き方を学ぶチャンスというわけですね。
「どうやって書いたら綺麗になるでしょうか」という質問を掲示板でするのもアリです。

がんばってください。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: C++ , C# , Javeの違いについて

#12

投稿記事 by Dixq (管理人) » 13年前

勉強を始めたばかりなのに、問題はスラスラ解けるし、クラスもうまく作れるとのことで、素晴らしいですね。

私はJavaやC#よりC++をうまく使いこなす方が難しいと思います。
C++はC言語と互換性があるので、C++を完全に別の言語だと思って学ばないと以前の知識を混ぜて設計できてしまい、適切な設計ができないリスクもあります。

そういう意味で、きっちりオブジェクト指向を学びたければまずJavaやC#を学ぶのも手だと思います。
以下3つの言語の特徴を簡単に書きます。

Javaはウェブサービスとの連携や携帯アプリによく使います。Androidが流行ってからより人口が増えたようです。
Javaは現在一番プログラマーの人口が多い言語ですから参考資料も多いです。C#より前に出来た言語です。

C#は最近Monoもあるので、これと言って限定されませんが、簡単にWindowsアプリが作れたり、XNAによるXBoxのゲームが作れたりします。
一番最後に出来た言語なので、一番先人の知恵が集結されていると言ってもいいかもしれません。言語的にはJavaに似ています。
最近急に人口が増えている注目の言語かと思います。

C++は歴史が最も古く、何でもできますが、何でも出来る反面自分で考えて色々うまく処理してやらないといけないことが多いです。
3つの中では一番高速に動作するので、計算スピードを要求するような分野では役に立つでしょう。
ただ、最近はPCスペックが高いのでそれが要求される分野はかなり限定されると思います。
3つの中では他と言語の特徴が異なりますが、同じように使うためのライブラリもあるので、似たようなことは出来ます。


基本がある程度できたのなら後はとにかく沢山コーディングをすることだと思います。
言語を学んでいるからには何か作りたいものがあるのでしょうから、今後は作りながら覚えてはいかがでしょう。

YuO
記事: 947
登録日時: 15年前
住所: 東京都世田谷区

Re: C++ , C# , Javeの違いについて

#13

投稿記事 by YuO » 13年前

softya(ソフト屋) さんが書きました:【C#】 問題はあるが色々なところで使われている。 Vitaなど「PlayStation Suite」やunity3Dでゲームを作るとか、XNAでWindows/xbox360のインディーズゲームを作成可能。
こういう書き方をされると,C#erとしては「何が問題なのか」を聞きたくなりますね。
# あと,XNAはWindows Phone 7.xのゲームも作れますよ……と書いておきます。実質IS12Tしか国内では存在しないですが……。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: C++ , C# , Javeの違いについて

#14

投稿記事 by softya(ソフト屋) » 13年前

YuO さんが書きました:
softya(ソフト屋) さんが書きました:【C#】 問題はあるが色々なところで使われている。 Vitaなど「PlayStation Suite」やunity3Dでゲームを作るとか、XNAでWindows/xbox360のインディーズゲームを作成可能。
こういう書き方をされると,C#erとしては「何が問題なのか」を聞きたくなりますね。
# あと,XNAはWindows Phone 7.xのゲームも作れますよ……と書いておきます。実質IS12Tしか国内では存在しないですが……。
えーと、主にXNAとIE10(METRO)のSilverlightなどマイクロソフトの対応です。XNAの日本での扱いは特に初心者にひどいです。
今年になって、やっと整理されたんですが旧名XNA App HubなんかWindowsPhone7登場あたりからWindowsPhone専用にしか見えませんでした。
未だに「Windows Phone Dev Center」の名前のままですし。
「Windows Phone Dev Center」
http://create.msdn.com/ja-jp/
あとWindowsPhone8専用だとXNA使えないんですよね?
Windows Phone 7のゲームも動くとは聞いていますが。
つまり、どうしたいんだマイクロソフトです。

WindowsとサーバーのC#に関しては問題ありません。
それとMonoProjectなど周辺はがんばってると思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

YuO
記事: 947
登録日時: 15年前
住所: 東京都世田谷区

Re: C++ , C# , Javeの違いについて

#15

投稿記事 by YuO » 13年前

なるほど,C#というよりMS側の周辺環境ですね。
それに関しては……色々と問題ありなのは確かです……。
softya(ソフト屋) さんが書きました:えーと、主にXNAとIE10(METRO)のSilverlightなどマイクロソフトの対応です。XNAの日本での扱いは特に初心者にひどいです。
今年になって、やっと整理されたんですが旧名XNA App HubなんかWindowsPhone7登場あたりからWindowsPhone専用にしか見えませんでした。
XNA→AppHubの日本事務局が酷いのは昔から言われてますね……。
Twitterで何人かXNA系の方をフォローしていますが,最近は愚痴すらでなくなりました。
まぁ,Xbox360の普及数とか,Windows Phoneの普及数とかを考えると……。
# WP7に関しては,鶏が先か卵が先か,という気もある程度していますが。WP8もさっさと複数出さないと同じ事になりそうな気が……。

Silverlightが載らない,という話になったとき話題にはなりましたね。
Silverlight自体,4あたりでマルチプラットフォーム向けという所を捨て始めた結果,WPFとHTML5の狭間で中途半端な存在になっていたのは確かです。
デスクトップ向けはそもそもWPFがあり (Silverlightは元々WPF/Eなんて呼ばれていました),マルチプラットフォーム向けはHTML5使うように,となっていますから。
# Smooth StreamingでMSのイベントが中継されることがあるので,あった方が便利ではありますが。
softya(ソフト屋) さんが書きました:あとWindowsPhone8専用だとXNA使えないんですよね?
Windows Phone 7のゲームも動くとは聞いていますが。
WP8専用だと使えませんね。
VS2012 for WPで「Windows Phone ゲーム (4.0)」プロジェクトを起動するとWPのバージョン選択は出てきません。
ただし,テスト用の仮想マシンはWP8ですが。
# 「Windows Phone アプリ」を使うアプリだと,Windows OS 8.0と7.1の選択画面がでます

Windows Phone 8専用のゲームはWinRT + Direct3Dという構成にしろ,ということのようです。
このあたりはWindows Phone 8がWindows 8と共通化されてWinRT対応に舵を切った結果かと思います。
# XNA自体の将来展望もよくわからないところですが……。

SantaxPro
記事: 14
登録日時: 13年前

Re: C++ , C# , Javeの違いについて

#16

投稿記事 by SantaxPro » 13年前

いやあw
みなさん知識はんぱないっすねww 後半まったくわからんどす(′・ω・`)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: C++ , C# , Javeの違いについて

#17

投稿記事 by softya(ソフト屋) » 13年前

SantaxPro さんが書きました:いやあw
みなさん知識はんぱないっすねww 後半まったくわからんどす(′・ω・`)
まぁ大雑把に言えばマイクロソフトの開発環境は変動が激しいので代用案を考えとかないとひどい目にあうよって話です。
なので、ONLYの環境しか出来ない状況を出来るだけ作らないほうが良いです。
C++/CLI(C++の.NET版)のCLRフォームアプリのようにVisualStudio2012で突然新規プロジェクトのメニューから消える事態もあるわけです。
※ 学校とかで教えているところがあるので困ると思う代表格。
Windows8のMETROアプリはC++とかC#で作れますが、.NETライブラリは使えないとかですね。マイクロソフトが.NETをプッシュしまくっていたのは何処へ?など10年ぐらい経つとコロッと宗旨変えするので危険なんです。

20年近く動いているので今更ながら無くせないWin32APIなどコアな技術の部分は残りますがWindows8のWinRT APIなど新物は油断はできません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る