質問: プログラミングに手を出し始め、現在入門としてHTMLとCSSを齧っている初心者です。ちなみにですが文系です。 将来的にはPS4やNintendo Switchなどでのコンシューマーゲーム開発に携わることを目標としておりますが、プログラミングが可能なPCを持っていないため、現在は大学のPCで勉強をしている状態です。そのため、PCを購入したいと考えているのですが、MacかWindowsのどちらがよいのかわからないため教えていただきたいです。 また、最終的にC++を扱えるようになりたいのですが、そこに至るまでにどのような言語学習をすべきか(例:Javaを身につけるなど)を教えていただきたいです。 1iOS向けやWindows向けとかではなく将来的に上記のようなコンシューマーゲーム開発を目指すにあたってどちらのPCがおすすめか 2C++を身につけるまでの理想的又は効率的、必要不可欠な学習過程 この2つについて教えていただきたいです。 何分コンピュータの知識に乏しいため用語の誤った使い方があるかもしれませんが、ご了承ください。 文系がゲームのプログラミングを行うことに対する厳しい意見も覚悟はしております。
回答: こんにちは。 > > 1iOS向けやWindows向けとかではなく将来的に上記のようなコンシューマーゲーム開発を目指すにあたってどちらのPCがおすすめか > > > MacとWindowsではプログラム開発のための情報の流通量を考えると圧倒的にWindowsと思います。 ただし、もし、ターゲットのコンシューマゲーム機のSDKがMac上のみにしかないとう事情があった場合は、Macを選んだ方が良いと思いますので、その当たりの情報を調べてみる価値はあると思います。(機密保持契約に縛られている世界なので、意外に情報が乏しいかもしれないですが、皆無ではないと思います。) > > 2C++を身につけるまでの理想的又は効率的、必要不可欠な学習過程 > > > まずはC言語と思います。その際、C言語の標準ライブラリは使うためのノウハウが多すぎます。そしてそのノウハウの多くはC++を学ぶ際にほとんど役に立ちません(malloc/free除く)ので、標準ライブラリは必要最低限に留めC言語のコア機能に注力すると効率的と思います。 関数は当然としてポインタや構造体をそこそこ使えるようになり、メモリ(静的メモリ、スタック、ヒープ)、malloc/freeとメモリ・リークの概念とそれを避けるにはどうするべきか、分割コンパイル、#includeの意味、プリプロセサとコンパイラの関係などを学ぶと好ましいと思います。これらは全てC言語で学ぶことが可能です。 ここまでを把握できたらC++へ進むとスムーズだろうと思います。 手前味噌ですが、C言語の基本を把握している人向けに上記の多くをC++のC言語互換部分を使って解説した講座を公開しています。もし、よろしかったら参考にされて下さい。