質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.12%

JAVA,C,C#について

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 1,030

Re_TKW

score 31

以前「ゲーム開発に適している言語」についての質問をした者です
その後考えて、Unityでゲームを作ってみようと思いC#を学ぼうとした時に
「C#ってCとjavaを組み合わせた言語だったよな...どれから学ぶべきなんだ...」
という考えになり質問することにしました

今の考えでは java→C→C# の順で学んでいこうと思っていますが何か違う順番の方が良いというのがあれば回答お願いします

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

+3

前提からひっくり返してしまいますが、C#は「C と javaを組み合わせた言語」ではありません。

C#はC/C++の進化系としてMicrosoftによって開発されたものですが、cとjavaの仕組みを組み合わせて作られたわけではありません。基本的な構文そのものはC/javaと確かに似ていますが、一部構文が似ているというだけで、実際の使い心地は両者ともかなり異なります。
C/java両方全く知らなくとも、c#の学習には全く支障有りません。

なので、安心してC#を学習頂けば良いと思います。

余談ですが、Cとjavaも一見した構文が一部似ているというだけで、それぞれ文法も思想も全く異なる言語です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/29 23:08

    他の回答者様もそのようにおっしゃっていますね...

    ついでに聞いておきたいのですが、C#を学ぶ際にはCを学んでおく必要はありますか?

    キャンセル

  • 2017/04/29 23:20

    結論から言えば、有りません。
    C#はC/C++の進化系という位置づけでは有りますが、その中身は完全に別物です。Cの知識が無いとC#を学習できない、ということは有りません。

    ただ、Cの知識があった方がC#に限らずプログラミングの基礎を学習しやすい側面は有ります。
    また、ポインタというC的な機能がC#には用意されており、ゲームを動かすマシンの性能をとことん使い倒す必要があるなら恐らくこちらの機能も必要となるので、その場合はCの知識があった方が良いでしょう。ただ、上記機能はC#においては基本的に使用自体が推奨されていません(最悪プログラムをクラッシュさせかねないので)。

    C#そのものを使い倒したかったり、プログラミングのスキルも今後上げていきたいなら、Cの学習はお勧めです。ただ、現状その欲求が無いのなら、構わずC#とUnityに集中すべきでしょう。

    キャンセル

  • 2017/04/29 23:23

    CやC++で作られたライブラリをC#用にバインディングする時に必要になると思いますし、
    既にバインディングされたものを用意するのであってもマニュアルやサンプルコードを読む時にはやはり必要になるかと思います。

    キャンセル

  • 2017/04/29 23:26

    なるほど...
    プログラミングのスキルを上げておくに越したことはないと思うので時間が空いた時にでも学ぼうと思います

    キャンセル

checkベストアンサー

+2

ゲームを作るのが目的であって言語を学ぶ事が目的ではないですよね?
なので、Unityの本を買ってどんどん進めて行きましょう。 
言語の詳細は気にしないように。
ある程度プログラミングの経験があれば、雰囲気でなんとかなります。
文法などで疑問点とかあれば、別途C#の本を買うなり、ネットで調べるほうがいいです。

ゲームを作る場合、基本的にUnity独自の命令を使う事が主になるので、単に純粋なC#を覚えても何も作れません。
Unityの使い方を覚えるのが先です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/29 23:05

    なるほど...
    Unityの本、買います
    ちなみに
    感覚としてはUnityはC#の拡張パック的な位置付けという感じでよろしいですか?

    キャンセル

  • 2017/04/29 23:22

    そうですね。
    正確には違うところもあると思いますが、利用者視点で見ると、 C#の文法が使える、Unity独自の命令があるという事なので、その理解で間違いないと思います。

    キャンセル

  • 2017/04/29 23:23

    分かりました!
    回答ありがとうございました

    キャンセル

+2

C# は C と Java を合わせた言語ではありません。まったく別のものです。
C# が必要なら C# を学んでください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/29 23:01

    そうなんですか...!?
    こちらの調べ不足です...すみません...

    キャンセル

+2

ゲーム開発がしたいのですよね。
他の方も指摘されているかと思いますが、プログラミングは目的を達成するための手段です。
手段選びに迷うことは、目的であるゲーム開発に至る道のりとして遠回りするだけです。その間はゲームの開発が少しも進まないですから。
Unityでやると決めたことは英断です。あとはUnityをどんどん使ってどんどん動かしてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/29 23:14

    ありがとうございます...!
    元々Unityを使うか迷っていたのでこの回答に背中を押されました!

    キャンセル

  • 2017/04/29 23:20

    頑張ってください。UnityとC#の関係ですが、もっといい例があると思うのですがUnityが何かの家電製品でC#が電池だと思ってください。電池がないと動きませんが、本当にやりたいことの大部分はUnityがやってくれます。あなたは電池の部分を作ることになります。
    ちょっと違うのは、家電製品は電池を入れるだけでいい感じに動きますがUnityはあなたが作ったプログラムどおりにしか動けないという点です。
    ちなみにUnityはC#以外にもJavaScript、Booという言語でも動かせるようですね。これは電池の部分を作ることのできる言語はC#だけではないということです。
    話をややこしくさせてしまったらすみません。

    キャンセル

  • 2017/04/29 23:30

    UnityというロボットにC#でどう動くかを教える
    みたいな感覚であってますか?間違っていたらすみません

    Unityを使うときはどの言語が使いやすいですかね...

    キャンセル

  • 2017/04/29 23:40

    そういう感覚で合ってます。

    その上でどの言語が使いやすいかという話になると、動かせるならどんな言語でもいいやって思えませんか?
    プログラミング言語はどれも似たようなもんなので、迷ってる時間は無駄です。運転免許があれば、どんな車だって慣れれば運転できますよね。運転免許がないうちから、どんな車がいいか迷ったり、教官が優しいところはどこかなど迷って運転免許を取りに行かないのは、運転するという目的にとっては無駄な時間です。とにかく運転できるようになればなんとかなります。

    あえて個人的にお勧めを述べるなら、プログラミング自体が初心者なのであればC#が一番いいと思います。次がJavaScript。かなり普及している言語ですが、言語仕様が初心者にとっては難しいと思われるためお勧めはしません。最後がBoo。そもそもあまり普及していないので、情報が少なく行き詰ることが予想されます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る