こんにちは!インストラクターの井上です。
プログラミングをゼロから勉強する場合、まずはPC選びからですよね。
そんな時、問題になるのは、「WindowsかMac、どちらのOSを選べばいいのか」「そもそも何を基準に選べばよいのか」、プログラミング未経験者からすればわからないことが多いと思います。
結論から言うと、一概には答えられないんですよね。どんなプログラミング言語を学習するのか、どんなシュチュエーションでプログラミングを使うのかによって違うんですね。
そこで今回は、プログラミング学習をする際にWindowsかMacどちらを選べばいいのか、プログラミング言語・シュチュエーション別にまとめてみました。Windows歴10年、Mac歴5年の私が、両者を使い倒してきた経験を元に徹底解説していきます。
- VBAやC#言語を学ぶならWindowsがおすすめ
- iOSアプリの開発やSwiftを学ぶならMacがおすすめ
- 会社や取引先の制約がなければ開発に使いやすいMacがおすすめ
【関連記事】
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
WindowsかMac、どっち?〜プログラミング言語別〜
MacとWindowsには、それぞれ得意な言語が有ります。もし仕事先で使っている言語や、これから学びたい言語がわかればそこから判断することができます。
Windowsでしか使えない言語
各コンピュータでは動作させやすい言語が有ります。下記言語を利用する場合Windowsを使用するのがよいでしょう。
- Visual Studio系
- VBA
- C#
- .NET(VB.NET, C#.NET, ASP.NETなど)
厳密に言うと動かそうと思えばWindows以外でも動かせるのですが、あまり一般的ではありません。
一般的ではないことをすると思わぬエラーが出たりするので、既にインターネット上で複数人が開発している方法で利用するのが無難です。
Macでしか使えない言語
Appleが開発している言語は、Macでしか開発できません。下記言語を使用する場合はMacを使用しましょう。
- Swift
- Objective-C
WindowsかMac、どっち?〜シュチュエーション別〜
プログラミングを行う環境として何を使いたいか、また何を作りたいかでも、選択すべきパソコンは変わってきます。
なお、Macでプログラミングをする場合、どの機種が良いかのをMacでプログラミングするならどの機種?現役エンジニアのおすすめで紹介しています。
どの機種が良いか分からないという方は、こちらを読むと解決できます!
参考:»Macでプログラミングするならどの機種?現役エンジニアのおすすめ
Windowsを使った方が良い場合
Windows専用アプリを使いこなしたいとき
Windowsでしか使えないアプリも存在します。
- 秀丸エディタ
- サクラエディタ
など昔から使われているテキストエディタ。
- ペイントソフト SAI
といった人気の高いお絵かきソフト。などがあります。
OS毎に最適な環境は構築できますが、今まで使ってきた使い勝手の良いソフトを使い続けられるのもメリットになるでしょう。
Windows向けアプリを作りたいとき
Windowsの最大の強みはその人口数です。
当たり前ですがWindowsで使ってもらいたいアプリはWindowsで作ることになります。
WindowsServerアプリを作ること
一部サーバにはWindowsServerという種類のものが使用されています。
主に業務アプリケーションを支える場所で、各ユーザにWindowsPCの本体を持たせないでPCを使用するシンクライアントという仕組みを提供したり、Windowsと同じような操作感で操作するために使われます。
これらの上で動作させたいアプリはWindowsで開発することになります。
同人ゲームなどを一般的な方法で作ること
比較的簡単にWindowsPC向けにゲーム作成をする為のライブラリ(ツール)のDXライブラリやDirectXと呼ばれるようなものはWindowsで使用するのが一般的です。
こちらも厳密に言うと、Unityというゲーム作成ツールや、OpenGLというものなどで同様のゲーム作成はWindows以外でも出来ますが、Windowsを選んだほうが無難でしょう。
プログラミングの際に情報量が多いことは勿論、Windowsユーザに使ってもらうことから動作確認もしやすいです。
Macを使った方が良い場合
Mac依存のアプリを使用したいとき
エンジニア視点で見ると、ターミナルが使えることが全然違います。
LinuxユーザにとってWindowsのコマンドプロンプト(DOSプロンプト)は使いづらい場合も多いですが、MacのターミナルはLinuxと同様のシェル(Bash, Zsh)などで操作することができます。(コマンドもデフォルトではBSDですがGNUに入れ替える等も可能です。)
また、パッケージ管理ソフトがWindowsより比べ物にならないほど充実しているため、CUI(文字で操作する)環境が圧倒的に使いやすいです。
WEBアプリをスムーズに開発したいとき
特に「Ruby」や「Pyton」などの言語を選択する場合、Macの方が圧倒的に使いやすいです。
MacOSXなどはその進化の経緯からUNIX(BSD)というものに近い状態が残っており、WEBでよく使うLinuxというOSに近い操作感や環境を用意しやすいです。
言語だけでなく開発の雛形となるWEBフレームワークなどをPC上で動作させようとすると、日本語の問題や前提としてインストールすべきファイルでWindowsではなかなか苦労してしまいます。
Cloud9などの開発を行うための便利なWEBサービスも存在していますが、WEBアプリなどを作る場合素直にMacを使用するほうが開発の方法が選べます。
Apple製品のアプリを開発したいとき
iPhone, iPad, AppleWatch, AppleTVなどのApple製品のアプリ開発にはMacが必要になります。
(厳密に言うとAppleのデベロッパーとして登録して、年会費を払わないとリリースできません。)
将来的に上記アプリも作ってみたいという方はMacを使用しましょう。
MacもWindowsのアプリも使って開発したいとき
各種アプリはほとんど各OSで代替できるものが存在します。
OSに合わせて作業しやすい環境を作ったほうが作業が捗るでしょう。
ただ、Macの場合はWineというアプリを使うことでWindowsと同様にWindowsアプリを動作させることも可能になります。
(逆にWindows上でMacのアプリを動かすことは難しいです。)
Wineは仮想マシン(PCの中に別のPCを作る仕組み)と違って、Macが理解できるようにアプリの動作を翻訳するような位置づけになります。
少々初心者にはハードルが高いですが、いくつかWindowsのアプリを使いたいというレベルであれば、こちらを入れるだけで十分でしょう。
結論
Windows向けのアプリ開発をする場合や、会社や取引先と同様に環境で開発したいというような場合のみWindowsを使用すればよいでしょう。
それ以外の用途でプログラミングするなら、Macを使ったほうが断然使いやすいです。
もちろんWindowsを長年触った方がMacへ移行するには、ショートカットや操作感の違いなどもあるのではじめは戸惑うかと思いますが、すぐに慣れるので是非触ってみてください。
ということで、もし今からプログラマとしてPCの購入を検討されているのであれば、Macの購入をオススメします!
なお、Macでプログラミングをする場合、どの機種が良いかのをMacでプログラミングするならどの機種?現役エンジニアのおすすめで紹介しています。
どの機種が良いか分からないという方は、こちらを読むと解決できます!
これからプログラミング学習を始めようと考えているあなたへ
今回の記事で、どのPCでプログラミングを学習していけば良いのか理解が深まったと思います。ですが、PCは決まったものの、「どの言語を」「どのように学習していけば良いのか」分からない人もいるかと思います。
独学の場合、この学習の進め方を間違えると挫折してしまうリスクがあります。
事実、当社が行った調査では様々な理由でプログラミングの独学を挫折したと答えた人の割合は87.5%にも及びました。(詳しくは以下2つの記事を参照してください)
この挫折をしないための方法として
- エンジニアのプロにマンツーマンで教わる
- 自分に合った学習プランで効率よく学ぶ
- 躓いた時にいつでも質問できる環境を作る
など、学習の効率をあげる必要があります。ですが、この学習効率をあげるのって、学習方法がわからないとできませんよね。
では、どのようにすれば学習効率が上がると思いますか?答えは簡単で、プログラミングスクールで学習することなんです。
プログラミングスクールで学べば
- エンジニアのプロとのマンツーマンレッスンで学習の習慣がつく
- 自分に合った学習プランで成長をより実感できる
- いつでも講師に質問できる環境が整っている
など、あなたを挫折させないためのサポートが徹底されています。
プログラミングスクールと聞いて
このように思う方もいるでしょう。
そんな方は、弊社で行っている「無料カウンセリング」に参加してみてください。業界屈指のコンサルタントがプログラミングを学ぶ目的を明確化し、その明確になったキャリアに向かって最短で学習するための学習プランを提案させて頂きます。
なので、無駄のない学習で最速でエンジニアになれるイメージができますよ。まずは、無料カウンセリングを受けて、あなたが抱える不安や悩みを解決してから、本格的にプログラミングを学んでいきましょう。
お急ぎの方はこちらからお問い合わせください。
読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。
再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。
カウンセリングはオンラインにて実施しております。
※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します
1.ご希望の日時を選択してください
2.必須事項を入力してください
ご予約ありがとうございます!
予約が完了しました。ご予約情報とご参加前の準備をご確認ください。
【ご予約情報】○月○日(△) ○○:○○〜
カウンセリング参加に向けてのご準備
※記入いただいたメールアドレスに確認用メールをお送りしておりますのでご確認ください。
※オンラインカウンセリングはGoogle Meetにて実施します。URLが発行したら別途ご案内いたします。
※メールが届かない場合は、SAMURAI ENGINEERサポート(support@sejuku.net)までご連絡ください。
関連記事
この記事の監修者
株式会社SAMURAI
独学でプログラミング学習を始めるも挫折。プログラミングスクール「SAMURAI ENGINEER」を受講し、Web制作を学ぶ。副業でWeb制作を行いつつ、「初心者がプログラミングで挫折しないためのコンテンツ制作」をモットーにWebライターとして侍エンジニアブログ編集部に従事。