Apple Silicon M1搭載Macでプログラミングは可能です【Macの未来】

プログラミング
プログラミング学習を始めたい人
プログラミング学習を始めたい人

Apple Silicon M1搭載Macのリリースをきっかけに、M1チップが搭載されたMacBookを購入したいと思っています。

購入したらプログラミングを勉強して、転職。就職するためのスキルを身につけたいです。

でも、Apple Siliconでプログラミング学習に必要なソフトが動くか不安があります。

本当に購入しても問題無いでしょうか?

ぽこら
ぽこら

こういった悩みに答えます。

この記事を書く私は、プログラミング歴10年以上でして、過去にApple Siliconに搭載されたCPUであるARMコアを使った組み込みソフトウェア開発をした経験もあります。

Apple Silicon搭載Macでもプログラミング学習が可能か、私の経験を元に解説します。

Apple Silicon M1搭載Macでプログラミング学習は可能です

結論、Apple Silicon M1でプログラミング学習をすることは可能になる見込みです。

なぜなら、プログラミング学習に最低限必要なソフトウェアは既に動作保証されているためです。

プログラミング学習に最低限必要なソフトウェアを以下に挙げます。これらは既にiOS(iPhone, iPadに搭載されているOS)での動作もサポートされています。

  • Xcode
  • Google Chrome

XcodeはiPhoneアプリを作りためのプログラミングツールを搭載しており、C/C++やJava、Objective-C、Swiftのソースコードをコンパイルすることができます。

Google Chromeは主にWebサービスを学習するために必要でして、デバッグ用途としての使用が可能です。
また、最近ですとWebベースの開発環境(IDE)を使った開発もできるようになっているので、これを使うともはや何でもできます。
例としては、AWSが提供するAWS Cloud9があり、筆者は仕事でよく愛用しています。

よくある質問1:iOSで動いていたらMacでも動作するの?

上に書いた通り、iOSで動作するということはApple Silicon搭載Macでも動作すると言っていますが、なぜそんなことが言い切れるのでしょうか?

Apple Siliconは既にiPhoneやiPadといったハードウェアで既に使われているから、Macでも動くといえます。

よくある質問2:Apple Siliconは従来のCPUと何が違うの?

Apple Siliconへの切替により、Mac OSは大きく変化をすることになります。

何が一番大きいかというと、CPUのアーキテクチャ(基本設計)が最も異なります。

今までのMacのCPUは、x86と呼ばれるIntel社が開発したアーキテクチャを採用していました。
Apple SiliconのアーキテクチャはARM社が開発したARMアーキテクチャとなります。

よくある質問3:x86とARMは何がどう違うの?

アーキテクチャが違うとはいえ、同じCPUじゃないの?何が違うの?
という疑問も出てくるかと思います。

結論、同じプログラムを別なCPUで動かすことはできません。

なぜなら、CPUアーキテクチャが異なると、コンピュータに命令する機械語が全く異なるからです。

機械語は、CPUに対して命令するための仕様です。
この仕様は、各社個別に定義されているので、機械語の書き方もバラバラになっています。

Apple Silicon搭載Macでプログラミングは可能です【Macの未来】

上の図のように、今までx86アーキテクチャ用に作られてきたプログラムは、ビルド時に中間言語化された機械語がx86を想定しているため、ARMアーキテクチャでは動作しません。

ARMアーキテクチャでも使えるようにするためには、ARMに対応した機械語にビルドできるソフトウェア(コンパイラ)を使う必要があります。

それだけでなく、ARM版でも正しく動作するのか全面的にテストし治す必要もあるので、アーキテクチャの移行はソフトウェアの規模が大きいほど大変な再開発となります。

Apple Silicon M1による今後のMacの未来

前述の通り、Apple SiliconがMacに搭載されることによって、どれだけの変更・移行作業が必要なのかということを解説しました。
それでは、Apple Siliconによって今後のPCはどのように変わっていくのでしょうか?

結論、以下の未来が待っていると考えています。

  • 未来1:消費電力の効率化
  • 未来2:処理性能の向上
  • 未来3:iPhone, iPadとのアプリ共有

順番に説明していきます。

未来1:消費電力の効率化

Apple SiliconはARMアーキテクチャCPUを搭載しているため、従来のMacよりも消費電力を抑えることが可能です。

ARMアーキテクチャを採用したCPUは、元々産業機器や自動車に搭載する組み込み機器のソフトウェアを動作させる用途に多く使われる所から普及していきました。
組み込み機器は限られた用途での機能に絞ることで、命令セットが少なくても問題が無いためです。
こういった用途のCPUはCortex-Rシリーズ・Cortex-Mシリーズとして展開されています。

Apple Siliconでは、スマーフォン等の多機能機器向けに開発されたCortex-Aシリーズを使用していますが、上記シリーズと同様にして比較的小さい消費電力を実現することができています。

これにより、今までのMacよりもバッテリーの持ちが良くなり、ひざ下に感じる熱をさほど感じなくなることが期待できます。

未来2:処理性能の向上

Apple Siliconは消費電力は小さくなるのに処理性能が小さくなるというのは、何となく矛盾している気がします。

結論、処理速度も向上します。

なぜかというと、Apple SiliconはSoC(System on a Chip)として開発されているためです。

SoCは、CPU・GPU・メモリといったコンピュータに必要な部品を一社で統合的に開発されたチップです。
従来のMacは、其々の部品が独立して設計されていたため、メモリ使用やCPUの並列使用の面で非効率な部分がありました。
これを、Apple SiliconはSoCとしてワンチップに統合したことで、処理性能が向上されたと述言われています。

未来3:iPhone, iPadとのアプリ共有

Apple Siliconの搭載によって、Mac上でもiPhone・iPadのアプリを動作させることができるようになります。

なぜなら、Apple Siliconは既にiPhone・iPadに搭載されているためです。

これにより、プログラミングを始める人にとっては、今後iPhoneアプリをApple Silicon搭載のMacで開発すると、iPhone・iPadにわざわざインストールさせなくても正確なデバッグができるようになります。

もし、iPhoneアプリ開発のプログラミングをやってみたいという人は、今後発売されるApple Silicon搭載Macは早めに買ってもメリットが大きいかもしれません。
また、実際にアプリ開発をしてみて「すごい便利だった!」と感じた方は是非情報を頂けたらと思います。
こういった情報は企業のエンジニアにとっても朗報ですので、早めの情報発信をおすすめします!

その他、このブログでは様々なガジェットやテレワークグッズを紹介しています。
プログラマーやエンジニアとしての仕事で便利なグッズがいっぱいありますので、是非ご覧いただきたいです!

今回は以上になります。
最後まで読んでいただきありがとうございました。

タイトルとURLをコピーしました