0. プログラミングの学習を開始する前に困る問題
以前上記記事の中でやるべきことを書いたが、各項目を実際に掘り下げていく前に、プログラミングを初めたいという人から質問される内容を書いておく。 なのでステップ 0 という意味のタイトル。
PC は買うべきか問題
プログラミングを初める人が、かなりの割合で気にするのは PC は専用で買うべきか、何を買えばいいのかを聞いてくる。 これは仕方ない問題で、実際良い質問だと思う。
実際に判断する基準は、何をしたいか (なんのプログラムを書きたいのか) に依存するのだけど、それだけだと何も伝わらないので、下記候補を提示して説明している。
- ゲームを作りたい
- スマホアプリを作りたい
- Web アプリを作りたい
- 就活に有利であればなんでもいい
- 特に方針はなく、とにかくプログラミングを覚えたい (知的好奇心)
どの選択肢をとるにしてもノート PC を持つべきという前提を先に明示しておく。
1. ゲームを作りたい場合
現代のゲームというと、各種コンシューマゲーム機 (PS4 などのゲーム機のこと) か、PC ゲーム、スマホゲーム、ブラウザゲームという環境に分かれる。 その中で、スマホゲームやブラウザゲームは Unity か HTML 5 で作られる事が多い (他開発環境も多くあるが、Unity が非常に多い)。 そのため、Unity を利用したゲーム開発の場合、Windows、Mac がベース選択肢になる (確認用の実機を iPhone しか持っていない場合、Mac がないと作ったゲームを iPhone に入れられない)。
家庭用ゲーム機、Steam などは Windows を前提にした開発環境を展開している事が多く、Unity を使わないゲーム開発を覚えたい場合は C# と DirectX が使える Windows を用意しておく事が望ましくなる。
2. スマホアプリを作りたい場合
スマホアプリを作りたいという人は大体は iOS (iPhone) か Android のアプリを作りたいという話だと思う (ここでは他は除外しておく)。 iOS アプリの場合は Mac が必須になる。これはプログラムの動作確認を実機で行なったり、作ったものをリリースする際に Mac を使うからで、持っていない場合はエミュレータ上で動くものを眺めるだけになる。 また、Android は Windows、Mac、Linux など、主要 OS の上では動作するため PC 購入の際に OS を気にする必要はない。
3. Web アプリを作りたい場合
Web アプリはどの OS でも開発出来るのでそんなに気にしなくても良いが、Windows はまだ今から開発を初めるという人が使うには難しいポイントが多いため、出来れば Mac か Linux を使う方がいい。 ここで初めて Linux がでてきたが、サーバでは Linux を使う事が多く (Winows や Mac、他 OS もあるけど)、どの道使う必要があるのであればいつ覚えても同じというスタンスで考えている。 最近は Ubuntu など、Windows や Mac に非常に近い使用感で使えるようになっているため、インストールさえできれば後はググりながらでも使える筈。
Mac は、Linux を最初に覚えるのが難しい人向けだけど、Mac と Linux で微妙に細かい部分が違ったりするため、その面倒な所にぶつかった際が面倒だが、web 上に情報は多くあるため、とりあえず使い初めるには楽な環境だと思う。
4. 就活を有利にしたい場合
就活を有利にしたいというのであれば、2 か 3 をやるのが良いと思う。
5. プログラミングを覚えたい (知的好奇心) の場合
今目的のものが無いというのであれば、とりあえずお金がかからない方法で勉強するので良いと思う。 持っている PC、OS を使って CS の勉強があまりお金がかからないかなと (本の購入は必要だけど、PC を新たに買うよりは遥かに安い)。
結論
PC はやりたい環境によって必要になるものが違うので、すぐ買うのではなく、なにがやりたいのかを考えてから買うようにしないと、端末の問題で勉強するスタートに立てない等ある。 あと、ネットである程度勉強できる時代なので本を軽視しがちだけど、余程のことがない限り本は有用なため、自分がやりたい分野の本は何冊か買う事になると思う (とりあえずは一冊買ってやってみると良い)。