見出し画像

Mac より Windows を選んだ方が良い理由 & Macを勧めてくる奴とは縁を切るべき理由

Mac愛好者の皆さん、こんにちは。2024年、最新のMacを手に入れることは魅力的な選択の一つですが、果たして本当にそれが最良の選択なのでしょうか?この記事では、Macを購入すべきではない理由に焦点を当て、またMacを勧めてくる人々との関係を見直すべき理由について考えていきたいと思います。果たして、Macは本当にあなたにとって最善の選択なのか、共に考えてみましょう。(ChatGPT)


記事の書き出しはいつもどうしようか迷うので、今回はChatGPTに書いてもらいました。

さて、タイトルにもある通り、本記事はMacを購入すべきではない理由と、Macを勧めてくる奴とは縁を切るべき理由をまとめました。

ちなみに数年前、似たような内容の記事を書いたのですが、これはまだApple Siliconに移行すると騒がれていた時代のものなのでかなり古くなっています。

そういえば、最近はあまりWindowsとMacに関する論争を目にしません。
少し前に以下のツイートが流れてきたくらいです。

リプ欄は案の定、”ガジェオタ””意識高い系”熱い戦いを繰り広げております。
いわば呪霊VS呪霊の渋谷事変、つまり地獄です。


MacかWindows、どちらを買うべきか?

結論:Windows

まず大前提として、比較の際にはゲーミング用途を一切考慮していません。
というか、ゲームがしたくてPCを買うのであれば、
OS選びに迷わないで下さい。

どの人気タイトルも対応OSは「Windows」としか書いていませんから、適当にBTOでWindows機を買うべきです。

・「MacのParallelsとかCrossOverでWindowsないしはWindows向けゲームを動かしたい」
✔︎無謀です。Windows機を買うべきです。

・「SteamDeckはWindowsじゃないのにゲームが出来るけど?」
✔︎MacはSteamDeckではありません。

・「俺がやりたいゲームはMac版があるけど?」
✔︎同価格で組んだゲーミングPCの方がパフォーマンス出ます。


まぁ、Macの購入を検討されている皆様方に置かれましては、
恐らくゲーム等という下賤な者が興じる蛮行なシロモノには目もくれないと思いますので、次は用途別にMacとWindowsのどちらを買うべきか検証してみます。

Macはクリエイター向け?

以前の記事にも書きましたが、これは過去の話です。
まず私が現在使っているMacのスペックを紹介します。

1.Mac mini(M1・16GB)
2.Mac Studio(M1 Max 24コアGPU・32GB)

Mac Studioは整備済のもので、円安による価格改定後に購入しました。大体24万円程度です。
当時のMacは最新モデルのM3 Macファミリーと比べると随分安価で買えましたね。
そんなMac Studioですが、クリエイター用途ではあまり役に立ちませんでした。

例えばAdobeのAfterEffects。もちろんしっかりとAppleSiliconに対応しておりますが、GPU性能が足りないのか、少しでも変更を加えると再生する際に数秒のレンダリングが入ります。プレビューのフレームレートはガタ落ちです。
Apple製のMotionというモーショングラフィックスソフトはかなり軽いので問題なく使えますが、AEに比べると機能が少なすぎるので意味がありません。

Blenderはそれなりに快適に動作しますが、問題は、どちらのソフトも以下のスペックのWindows機の方が圧倒的にスムーズに動作したということです

・Ryzen 3900X、RTX3060 12GB、32GB DDR4

今となってはミドルスペックの中でも下位に位置するスペックですが、
やはりディスクリートGPUは正義ですね。

また、動画編集についてもお話します。
今や殆どの人がAdobe Premiere ProかDaVinci Resolveを使っていると思いますが、どちらもWindows・Mac両対応なので、Macを選ぶ利点にはなりません。

よって、どうしてもFinal Cutが使いたい、もしくはどうしてもLogic Proが使いたい人でなければ、クリエイターがあえてMacを購入する理由はないです。

・「M3が発売されてるのにM1で比較してもねぇ…」
✔︎じゃあ30万以上出してM3チップ買うんですか?
i9 13900 + RTX 4070のWindows機が組めますが…

・「ワッパで比較しないとフェアじゃなくね?」
✔︎Macユーザは強制的に電気代の節約をさせられないといかんのですか?
最大パフォーマンスを犠牲にしていい理由にはなりません。
Fu○king Mother Nature.

https://www.youtube.com/watch?v=_F927JShRRo

Macはエンジニア向け?

そうでもありません。今のモバイルアプリ開発はReact nativeやFlutterといったWEBフレームワークをベースにネイティブビルドできるものを使用したり、はなからPWAとして作ることが多いです。

もちろんパフォーマンスやハードウェアとの互換性を最大限考慮するのであればXcodeやAndroid Studioを使うことも往々にしてありますが、そこまでガチガチに開発したい人はOS選びなんかで迷わないと思います。

フロントエンド開発もバックエンド開発も、WSLの機能性が大きく上昇した今となってはWindowsとMacに大きな差はないです。

・「Xcode使ってMac用のアプリを開発したいんだけど」
✔︎Macを買ってください。

・「Xcode使ってiPhoneのアプリを開発したいんだけど」
✔︎Macを買ってください。

・「iOS、macOS向けのアプリをビルドしたいんだけど」
✔︎一応、Github ActionsやCodemagic、Amazon EC2 Macを用いることで
Macなしでもビルド可能です。

Macを勧めてくるやつとは縁を切れ!

M1チップの登場を口火に、Macを持て囃す風潮が高まった気がします。
確かにIntelチップからM1へ移行した時期のMacは同価格帯のWindows機と比較してコストパフォーマンスに優れていた部分も多くあったので、
今まで虐げられてきたMacユーザが囃し立てるのも無理はありません。

しかし、Macがどれだけ性能の良いチップ、高速なSSDを搭載したところで、macOSが搭載されているというたった1つの理由で全てが台無しになります。

Macを勧めてくるやつの特徴

Macを勧めてくるやつは、Macに詳しいわけではありませんし、
かといってWindowsに詳しいわけでもありません。

  • Macはデザインが洗練されている

  • MacはApple製品との連携ができる

  • Macはトラックパッドが使いやすい

  • Macは動画編集がやりやすい

  • Macはプログラミングに最適

  • MacはWindowsも動かせる

Macを勧めるポイントに上記を挙げている人が居たら、そいつは
「大した知識責任感もなく」
「自分の浅はかなセンスをもとに」
「人様の少なくないお金を消費させることを厭わない
最低最悪なやつだと認識してください。

下の3つに関してはすでに解説済みですので、上3つについてお話します。


Macはデザインが洗練されている?

ふざけてますね。
最近のWindows機はMacとほぼ同等なデザインのものから、MacではありえないLEDをゴテゴテに載せたゲーミングPC、2in1、UMPC、更にはハンドヘルドまで多種多様です。
人の感性は千差万別だというのに、これら全てのWindows機を抑えて
「Macのデザインが洗練されている」と感じる人が果たしてどれだけ居るのでしょうか。僕はMacBookよりもLet's Noteの方がラップトップとして断然洗練されていると感じます。

そもそも、ノッチが付いたラップトップのデザインを崇めているならば、
それはかなりのマイノリティだと自覚したほうが良いと思います。
ノッチはデザイン面だけでなく、マウスカーソルがすり抜ける問題や、
メニューバーの視認性が著しく低下するという機能面での問題もあります。
BTTやその他のサードパーティ製ユーティリティで上手く誤魔化して使うことも可能ですが、初めからノッチがなければそれに越したことはありません。

デスクトップに至ってはもはや「デザインとは?」って感じです。床下に置いたりデスクの端っこへ置くので目にすることがほぼないですからね。

強いて言えば、TikTokやYouTubeで紹介されるオシャレな部屋には、
透明なサイドパネルの白いケースでパーツやLEDが見えるゲーミングPCのほうが圧倒的に多い印象です。

iMacはともかくとして、Mac miniやMac Studioのデザインが一般的に称賛されるほどのものとは思えませんし、
そもそもデザイン性なんていう個人の曖昧な指標で人様が大金はたいて購入するPCに口出しするなんてありえません。

MacはApple製品との連携ができる?

これは確かにWindowsと比べると優れていると言えます。
しかし、具体的に「連携」とはなにか?

  • AirDrop

  • Handoff

  • ウィジェット

  • ユニバーサルクリップボード

  • ユニバーサルコントロール

  • iCloud系全て

これらはすでにApple製品を使用している人であれば、多少は便利と思えなくもない機能です。
しかし、こんなことをわざわざ高価なMacを勧める要素にするのは如何なものでしょうか。
Macはコンピュータであり、iPhoneのアクセサリではありません。

AirDropは便利ですが、プラットフォームに縛られないSend Anywhere等の代替ソフトが多くあります。iPhoneユーザが多い日本において、iPhone同士で簡単にファイルの送受信ができるのは大きなメリットであると思います。ただ、自分の所有する端末間でAirDropが使えることが、取り立てて恩恵があるとまでは言えないでしょう。

Handoffは一度も使ったことがありません。同一アカウントでログインしていれば勝手に同期されるサービスが殆どだからです。

ウィジェットはSonomaで追加された機能ですが、あくまで「閲覧」専用みたいなもので、そこから詳細を見るにはiPhoneを開かなければいけないゴミ。もちろんMac向けアプリのウィジェットは操作できるので非常に使い勝手は良いです。ただそれは連携機能とは一切関係のない話なので割愛。

ユニバーサルクリップボードは唯一重宝している機能です。iPhoneから2FAコードをコピーしてMacでペースト、という一連の作業が非常にスムーズになります。

ユニバーサルコントロールはiPad限定ですが、マウスとキーボードをリンクさせることができます。割と便利ですが、使い所は少ないです。

さて、勘違いしてほしくないのですが、
決して連携機能が便利であることを否定したいわけではありません。
ただ、十数万円という大金でWindows機ではなく、敢えてMacを購入する理由にはなり得ないというだけの話。

Macはトラックパッドが使いやすい

語るに足りません。

こんな理由で高額なMacを勧められたら、
中指を立ててすぐに縁を切ってください。

大切なのは「出来ないこと」を熟知してるか

パソコンの使い道は多種多様です。
確かに、予め用途を聞いておくと、
「その用途であればMacでも大丈夫だな」と早合点して、安易にMacを勧めてしまう阿呆が出てくるのも無理ありません。

しかし、その人が今後「したくなること」は”予測不能”だということをしっかりと認識すべきです。

本来であれば、Macを勧める人間は、"Macで出来ないこと"を熟知しておく必要があります。そうでないと無責任以外の何物でもないでしょう。
そして大事なことですが、"Macで出来ないこと"をある程度知っている人間は、他人にMacを勧めません。
すなわちMacを勧めてくるやつは、逆説的に大した知識がない無責任な人であると確定します。

細かなニーズに対応できるか

パソコンの用途は多種多様ですが、どのような用途においても必ず
「コアドメイン」と「サブドメイン」があります。
ドメインとは問題領域という意味です。動画編集で考えてみましょう。

パソコンの用途:動画編集
コアドメイン→動画編集ソフトが動作する
サブドメイン→動画編集に係る画像素材や音源の作成

つまり、
「動画編集ソフトが快適に使える」と「動画編集が快適に行える」は
イコールではないのです。

例えば動画編集のために必要な画像素材を一括で別ファイル形式に変換したいと相談されたとき、Windowsであれば「縮小革命」というフリーソフトを使えば解決しますが、これと同じことをMacで行いたい場合に最適な方法を訊かれて直ぐに答えられるか、という話。

サブドメインは非常に多岐にわたりますし、本当に些細なニーズばかりです。Windowsであればググって直ぐに解決方法が見つかります。

他には最近話題の画像生成AIについても考えてみます。

パソコンの用途:ローカルでの画像生成
コアドメイン→SDが動作する
サブドメイン→配布されているモデルが使える、高速に出力できる

MacでStable Diffusionを動かす場合、WebUI(CPU)を実行するか、CoreMLで実装されたSDフォークを使うかの選択肢があります。
WebUIはCPUで動かすので非常に低速です。CoreMLでフォークされたSDは配布されているSDモデルをCoreMLモデルへと変換しなければならず、ControlNetやLoRAに制限があります。
サブドメインが一切解決できていないため、Macを買った人は満足な体験などできません。

なぜMacを使うのか

さて、散々Macをコケおろしましたが、僕はずっとMacをメインマシンにしています。最初に買ったのは初の薄型iMacなので、2012年ですね。もう10年を超えました。

なぜ僕がMacを使うのか、それは現状一番マシなOSだからです。
別にMacがめちゃくちゃ素晴らしいなんて微塵も思ってません。

ただ、Windowsは如何せんCLI周りがクソ過ぎます。逆にLinuxはGUI周りが難儀です。どちらもバランスよく動くMacが消去法で唯一の選択肢となります。

例えば、先程「縮小革命」というソフトを例に挙げましたが、もし僕が
「複数画像の一括変換」を行う場合は以下のように行います。

ShellScript(fish) 50%縮小

#!/opt/homebrew/bin/fish

for i in (find . -name "*.jpg" -o -name "*.png" -o -name "*.tiff" -o -name "*.gif")
      set nameWithoutExt (path change-extension '' $i)
      convert $i -size 50% $nameWithoutExt.jpg
end

AppleScript+ShellScript 形式変換

-- Finderで画像ファイルを複数選択
set selectedItems to choose file of type {"public.image"} with prompt "ディレクトリか画像ファイルを選択してください" with multiple selections allowed

set fileType to choose from list {"jpg", "png"} with prompt "画像ファイルの種類を選んでください" default items {"jpg"}

if fileType is false then
	display dialog "キャンセルされました。"
end if

repeat with selectedItem in selectedItems
	convertImage(selectedItem, fileType)
end repeat

on convertImage(selectedItem, fileType)
	set filePath to POSIX path of selectedItem
	do shell script "/opt/homebrew/bin/convert " & quoted form of filePath & " " & quoted form of (filePath & "_converted." & fileType)
end convertImage

AppleScript 透かし入り

-- Finderで画像ファイルを複数選択
set selectedItems to choose file of type {"public.image"} with prompt "ディレクトリか画像ファイルを選択してください" with multiple selections allowed
set watermark to choose file of type {"public.image"} with prompt "透かし画像を選択してください"

set fileType to choose from list {"jpeg", "png", "bmp"} with prompt "画像ファイルの種類を選んでください" default items {"jpeg"}
set outputDir to choose folder with prompt "出力先のディレクトリを選択"

if fileType is false then
	display dialog "キャンセルされました。"
end if

tell application "Pixelmator Pro"
	repeat with a from 1 to number of selectedItems
		set currentImage to open item a of selectedItems
		tell its front document
			make new image layer with properties {file:watermark}
			set selectedLayers to selected layers
			repeat with i in selectedLayers
				set position of i to {411, 1550}
			end repeat
		end tell
		if fileType's item 1 is "jpeg" then
			export currentImage to ((outputDir as text) & name of currentImage & "-edit." & fileType's item 1) as JPEG
		else if fileType's item 1 is "png" then
			export currentImage to ((outputDir as text) & name of currentImage & "-edit." & fileType's item 1) as PNG
		else if fileType's item 1 is "bmp" then
			export currentImage to ((outputDir as text) & name of currentImage & "-edit." & fileType's item 1) as BMP
		end if
	end repeat
end tell

これをApp化したりショートカット.appで呼び出すようにすることでFinder上を右クリックして呼び出しが可能です。

ユーザの数が圧倒的に違うので当然ですが、MacはWindowsと比較してフリーソフトの数が少ないです。そして血眼になってようやく見つけたフリーソフトが「日本語に対応していない」「OSのバージョンに対応していない」「ARMに対応していない(Rosetta2を使わされる)」、みたいな事が往々にしてあります。

Macを使うのであれば最初からフリーソフトなど当てにせず、自らが知恵をつけて自力で解決しようという気概が必要です。


ちなみにWindowsのPowerShellで同じことをしようとすると、COMに対応している画像編集ソフト(Photoshop等)があれば一応できるみたいです。

# 動作未検証

# PhotoshopのCOMオブジェクト型ライブラリをロード
Add-Type -AssemblyName "AdobeOwl.Photoshop"
$photoshopType = [Type]::GetTypeFromProgID("Photoshop.Application")

# Photoshopのアプリケーションを起動
$photoshopApp = New-Object -ComObject $photoshopType
$photoshopApp.Visible = $true # Photoshopを表示するかどうか

# 新しいドキュメントを作成
$doc = $photoshopApp.Documents.Add(Width: 800, Height: 600, Resolution: 72, Mode: 1) # 幅、高さ、解像度、モード

# 1枚目の画像を複数選択
$openFileDialog = New-Object -ComObject "System.Windows.Forms.OpenFileDialog"
$openFileDialog.Filter = "Image files (*.jpg;*.png)|*.jpg;*.png|All files (*.*)|*.*"
$openFileDialog.Title = "Select Images"
$openFileDialog.Multiselect = $true

if ($openFileDialog.ShowDialog() -eq "OK") {
    foreach ($imagePath1 in $openFileDialog.FileNames) {
        # 各画像を開く
        $image1 = $photoshopApp.Open($imagePath1)

        # 2枚目の画像を開く
        $imagePath2 = "C:\Path\To\Image2.jpg"
        $image2 = $photoshopApp.Open($imagePath2)

        # 2枚目の画像の位置を変更
        $image2.Left = 100 # X座標
        $image2.Top = 50  # Y座標

        # 2枚の画像を結合
        $layer1 = $doc.ArtLayers.Add()
        $layer1.Name = "Layer1"
        $layer1 = $layer1.ArtLayers.Add()
        $layer1.Name = "Layer2"
        $layer1 = $layer1.ArtLayers.Add()
        $layer1.Name = "MergedLayer"
        $layer1 = $layer1.Merge()

        # ユーザに保存形式を選択させる
        $saveFileDialog = New-Object -ComObject "System.Windows.Forms.SaveFileDialog"
        $saveFileDialog.Filter = "JPEG files (*.jpg)|*.jpg|PNG files (*.png)|*.png|All files (*.*)|*.*"
        $saveFileDialog.Title = "Save Merged Image As"
        $saveFileDialog.DefaultExt = "jpg"

        if ($saveFileDialog.ShowDialog() -eq "OK") {
            $outputPath = $saveFileDialog.FileName

            # 画像を指定された形式で保存
            $doc.SaveAs($outputPath)
        }

        # 現在のドキュメントを閉じる
        $doc.Close()
    }
}

# Photoshopを終了
$photoshopApp.Quit()

Write-Host "画像の結合と保存が完了しました。"

ただ正直、PowerShellでこんなスクリプトを書くのは非常にダルいです。
というのも、アプリケーション毎のCOMのドキュメントが全然見つからないので、処理一つ取っても方法を調べる手間が尋常ではありません。
AppleScriptは以下のように対応しているアプリケーションを一覧で表示でき、更に全てのドキュメントは同じ規定のフォーマットで書かれているので、いちいちネットを使って調べる必要がないのです。

PowerShellで無理くりGUIソフトをこねくり回すくらいなら、いっそのことPythonで似たような事ができるライブラリを探した方が早くてストレスフリーです。

あとfishシェルやzshシェルのスクリプトは、LinuxやMacでパスさえ通しておけば使い回すことができます。
WindowsだとWSLを使う必要がありますが、そうなるとCOMは使えませんし、パス周りの指定が非常に面倒です。
ffmpegコマンドを使う場合はWindows側のハードウェアに対応させたビルドを自分で用意する必要があったりします。

まぁWindowsはフリーソフトが充実しているので、そもそもこんなスクリプトを書く必要がないのですが、GUIは自動化には向きません。

RamDisk + 動画をHEVCへエンコード+1フレーム目を高画質化して保存

# fish
set disk (hdiutil attach -nomount ram://16777216)
newfs_apfs -v "RamDisk" $disk
diskutil mountDisk $disk
for i in *
    for j in $i/*.mp4
        if test (ffprobe -i $j 2>&1 | grep Stream | grep Video | awk '{print $4}') = 'h264'
            set bn (basename $j)
            
            cp $j /Volumes/RamDisk/$bn
            ffmpeg -i /Volumes/RamDisk/$bn -c:v hevc -c:a copy -tag:v hvc1 -crf 22 -vf bwdif=0:0:0 /Volumes/RamDisk/h265_$bn
            trash $j
            
            ffmpeg -i /Volumes/RamDisk/h265_$bn -ss 1 -frames:v 1 /Volumes/RamDisk/image_$bn.png
            realesrgan-ncnn-vulkan -i /Volumes/RamDisk/image_$bn.png -s 2 -o /Volumes/RamDisk/image2x_$bn.png
            
            mv -iv /Volumes/RamDisk/h265_$bn $j
            mv -iv /Volumes/RamDisk/image2x_$bn.png $j
            
            rm /Volumes/RamDisk/$bn
            rm /Volumes/RamDisk/image_$bn.png
        end
    end
end
set disk (diskutil unmountDisk /Volumes/RamDisk | tr -s ' ' | awk '{ print $6 }')
hdiutil detach /dev/$disk

これはWindowsのPowerShellでRamDiskを作成する方法を探しましたが見当たらなかったので再現不可能です。

カレントディレクトリのMKVファイルをMP4コンテナへ

# fish
for i in *.mkv
    set bn (basename $i .mkv)
    ffmpeg -i $i -c copy $bn.mp4
end
# PowerShell

foreach ($i in Get-ChildItem *.mkv) {
    $bn = [System.IO.Path]::GetFileNameWithoutExtension($i.Name)
    ffmpeg -i $i.FullName -c copy "$bn.mp4"
}

ショートカット.app でAppleScript or ShellScriptを動かす

オーディオ出力機器の切り替え
Ramdiskの作成・削除
デスクトップウィジェットかメニューバーから実行

もちろんAppleScriptからショートカットを呼び出せるので、ホットキーなどに割当可能。

tell application "Shortcuts Events" to run shortcut "RamDisk"

以下の記事は実際に左手キーボードにAppleScriptやショートカットを割り当てた際のものです。

この
✔︎ShellScript
✔︎AppleScript
✔︎ショートカット.app(もしくはAutomator)
がそれぞれ使いやすく、またそれらを組み合わせることが容易であるという点。

更にプラスして、
✔︎Time Machineバックアップ
✔︎プロプライエタリソフト、周辺機器のドライバの充実

✔︎OSの堅牢性(SIPは邪魔だが、何よりdarwinとCocoaはAppleがしっかりとパッケージングしているため、アップデートの度に依存関係とかドライバの対応とか気にする必要がないし、画面が映らなくなるなんて問題はほぼ発生しない。最悪バックアップから復元するかAppleのサポートが使える)

が加わることで、WindowsやLinuxを選ぶよりもストレスフリーな環境を使うことが出来るのがMacの最大の利点だと考えています。

余談ですが、僕が知る中で、日本語で最もAppleScriptについて詳しい内容を紹介している「AppleScriptの穴」というサイトは、Macユーザの方にぜひ一度は目にしてほしい内容です。「ぴよまるソフトウェア」さんが運営されているのですが、ここまでMacをコンピュータとして活用できている人はなかなか居ません。

逆に言えば、これらのメリット以外の部分はWindowsを跳ね除ける要素として弱いです。少なくとも自分が使うマシンに関しては自分の趣味趣向で決めるものなので、好きなものを買うべきです。
しかし、人に勧めるのであれば、Macなんて勧めてはいけないでしょう。


ちなみにゲーミング用途やAI用途はどうしているのかというと、
普通にWindowsゲーミングPCを使っています。

まとめ

というわけで、今回はWindowsを買うべき理由と、Macを勧めてくるやつとは縁を切るべき理由を紹介しました。

では良いお年を。


この記事が気に入ったらサポートをしてみませんか?