質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

5回答

41086閲覧

プログラミングに最適なMac

toza_program

総合スコア13

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

3クリップ

投稿2018/03/17 19:57

連日お世話になっています。
プログラミングを本格的に趣味としてはじめようとしているのですが(今までの総時間は6時間程度)
現在使っているPCはWindows7のデスクトップ(一体型) 記憶が正しければ2012年に購入した富士通製の物です。
今までのプログラミングの練習は、そのPCを使ってやっていたのですが、インターネット検索用とプログラミング用を別けたい事、もう6年も使用していること、デスクトップであり持ち運びができないこと、Windowsの為、iOS向けのアプリ開発ができない事(今のところ予定はありません。)等から
MacBook MacBook air MacBook pro のいずれかからひとつ買おうと思うのですが、プログラミングではどの程度の性能のPCが必要とされるのでしょうか? 現時点で自分は、入門書に載っているコードをそのまま練習する程度の事しかしていないので本格的にやろうと思うとどの程度の性能が必要なのか、最適な画面のサイズがわかりません。

プログラミング言語
Python
将来的に挑戦したい事、興味のある事
Webサイト製作
アプリ開発
ディープラーニング
AI

特に予算に制限はありませんが、Touch Barは良さがイマイチわかりませんのでMac Book proの場合は非搭載モデルが良い。
持ち運ぶ可能性はゼロではないが、頻度はあまり高くないので軽さはあまり重視していないです。

インチとストレージの大きさを選ぶとプロセッサとメモリの変更が可能なのでオススメがあれば教えて下さい。
宜しくお願い致します。

ykws👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

ベストアンサー

多くの人が勘違いをしていますが、「プログラミング」自体はエディタさえ動けば良いですので、性能は求められません。しかし、作る物を実際に動かしたりするときや、また、動かしてデバックするときに性能が求められます。

やりたいことの中で一番性能のネックになるのはディープラーニングです。ある程度のディープラーニングを行う場合はそこそこの性能のGPUが必要になります。より本格的なディープラーニングになるとGPUを搭載したサーバーが大量に必要になります。ですので、開発段階では三択になります。

  1. そこそこの性能のGPUを開発機に搭載する。
  2. 本格的なGPUを搭載したサーバーを別途購入し、実行はそのサーバーで行う。(初期費用が高い)
  3. 手元で行うことは諦めて、動作はすべてクラウドのサーバーを借りて行う。(ランニングコストが高い)

本来、機械学習なんて物はかなりの金食い虫です。企業とかでなければ、現実的なのは1.と3.です。1.はゲーム用マシン程度スペックでそこそこいけますが、企業レベルの本格的な物を動作させるのは無理と割り切る必要があります。3.はお試しの無料サービスがいくつかあり、無料版は本格サービスとして提供できるようなレベルではありませんが、開発だけであれば十分となります。

ということで、上の1.と3.について書きます。

最初の1.の場合、そこそこのGPUが必要になります。ディープラーニングに使うにはどんなGPUでも良いというわけではありません。CUDAという機能が搭載されていなければなりません。そして、使うライブラリがそのGPUをサポートしているかです。ディープラーニングの機械学習でよく使われるTensorFlowはNVIDIA製GPUしかサポートしていません。しかし、現在のMacBook, MacBook Air, MacBook ProにはIntel製かAMD製のGPUしか搭載されていません。つまり、内蔵のGPUではTensorFlowを使うのは難しいということです。TensorFlow自体はCPUだけでも動くバージョンもありますが、遅すぎて使い物にならない可能性があります。あれ、MacのノートPCでは無理なのでしょうか…いいえ、まだ諦めるのは早いです。

最新の機能にeGPUというのがあります。eGPUというのは端的に言うと外付けGPUです。ノートPCのようなグラフィック性能が低いマシンに外付けでGPUを追加することで、グラフィック性能を上げると言うことです。eGPUはThunderbolt3を使用しますので、その点だけが必須になります。MacBookとMacBook Airにはありませんが、MacBook ProであればThunderbolt3はどの機種も搭載されています。ということで、この場合は少なくともMacBook Proでなければならないとなります。

実際に動作させた参考記事: macにeGPUを繋いでTensorflow(GPU版)を動かす - Qiita

ただし、macOSでのeGPUは(Appleはサポートしていくと言っていますが)まだ実験的機能であり、安定して動作するという保証は全くありません。**現状は人柱です。**プログラミングと言うよりMac自身やPC周りの高度な知識が必要になる場合がありますので、ご注意ください。(現状はコメント欄参照)

さて、手元で動かすことは諦めてクラウドで実行するとなると、手元のマシンの性能はどうでも良くなります。それこそ、ネットに繋いでエディタが動けば十分になるからです。画面の大きさ、持ち運びしやすさなどから選べばいいかと思います。

投稿2018/03/17 21:13

編集2018/03/18 03:46
raccy

総合スコア21733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mkgrei

2018/03/18 03:10 編集

MacでもHighSierraだとeGPUがうまく動作しない可能性があるので、新しく買う場合は注意が必要です。 今後対応するようになるかもしれませんが、メーカー次第です。 AppleとNvidiaの機嫌次第ですね。 2ヶ月前は動かないことを確認していました。 そういえば、 中古の場合、MacBookPro late2013のGPU版はeGPUと競合してクラッシュするので使えません。 内蔵NvidiaGPUのないモデルを選択してください。
raccy

2018/03/18 03:12

一応AppleはeGPUを今後サポートしていく宣言としていますが、製品同士の相性もあるのでeGPUを買うときはmacOSにどこまで対応しているかは気にした方が良いかも知れませんね。まぁ、Windowsであっても同様なんですけど(メーカー側がeGPUの公式サポート表明しているノートPCなんてRazer Blade Stealth(それもRazer Coreとの組合せで)ぐらいしか無いと思う)。 第一GPUはマザーボードとの相性問題で動かないなんてことはよくあることなので、GPUの動作に不安があるなら、動作確認済みのゲーミングマシンを買うのが一番かも知れません。
mkgrei

2018/03/18 03:27

個人的にはコンソールとしてのMacbookPro+GPU積んだ自作のLinuxがよいと思いますが、予算次第でしょうね。 AppleはeGPUをサポートするといいつつ1年以上経っても部分的な利用しか未だにできないので、あまり期待できないかもしれません。 情報も英語の自己責任のものがほとんどなので、MacbookPro+eGPUは少しハードルが高いです。 XcodeとCUDAのバージョンのケンカを見ている気分です… eGPUの場合Windowsの方がずっと進んでいます。 おまけにHyper-Vの仮想化でGPUパススルーができるので、Windows内の仮想化したUbuntu内でGPUが使えるはずです。(未検証)
raccy

2018/03/18 03:42

私もMacでeGPUはかなり前から注目しているんですが、完全対応を謳ったeGPU製品が見当たらなくて、Macを買うのをとりあえず中断している最中だったりします。 前にHyper-VのGPUパススルーをしらべたら、Windows Serverのみという制限があるみたいです。仮想化で行くと初めからESXiなど使うか、Linux + VirtualBox(同じVirtualBoxでもWindowsは未対応なので注意)が良いかもしれません。 って、どんどん、Macから離れていくような気がしますが、Macにこだわるなら、GPUの件はクラウドでと割り切った方が良いかもしれません。
mkgrei

2018/03/18 03:52

おっと、Macからの選択でした。 ディープラーニング目的のGPU利用はMacと相性が悪いので、初心者と自負するのならとりあえず忘れてしまってよいのかもしれません。
toza_program

2018/03/24 23:48

ご丁寧にありがとうございました。 なるほど、焦らずゆっくり考えます。
guest

0

現在2014年製のMacbookProを使っているものです。

単に手元のPCでちょっとしたプログラムを書くのであれば、どれを選んでも問題は無いでしょう。好みの問題になってしまいます。

しかし、以下のようなことがやりたいとなった場合は、若干選択肢が絞られてくるのではないでしょうか。

・手元のPCでVagrant、Docker等を使って仮想環境を立ち上げたい。
⇒この場合、メモリが少ないと仮想環境を立ち上げることでPCが重くなったり、そもそも仮想環境が立ち上がらない場合があるので、メモリが多いものがオススメ。(最低8GB、できれば16GB以上)

・スマホアプリを開発したい。
⇒コンパイルするのにCPUを使うため、CPUが弱いものだとコンパイルに時間がかかり、結構ストレスになったりしますので、CPUが強いものがオススメ。(MacbookProが優位)

・手元のPCでディープラーニングを試したい。
⇒内蔵あるいは外付けGPUが欲しい。CPUでも最悪試せるが計算時間に雲泥の差があるようです。(MacbookPro一択)

というわけで、やりたいことにより選択肢が変わりますが、個人的には総じてMacbookProがおすすめです。
Macbook全般に言えるのは、拡張性が悪く後からメモリを追加したりすることがかなり難しいので、最初からある程度ハイスペックのものを買っておくのがおすすめです。(かく言う私も昨年MacbookAirからMacbookProに乗り換えましたが、もっと早く乗り換えておけばよかったと後悔・・・)

予算が許すのであれば最新のMacbookProを買ったほうがいいですが、予算がもしあるのであれば数年型落ちの中古を探してもいいと思います。(数年前のものでも今でも全然使えます。ただしバッテリだけは注意)

投稿2018/03/17 22:14

bassbone

総合スコア767

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

GPUに関連してがメイン。

ディープラーニングにGPU添えておけばよい風潮があるので少し気になりました。
GPUで加速できるところは「畳み込み」という操作です。
この操作に対して今の一番良いGPUとCPUで比較すると20倍ほどの速度の差が出ます。
2日の計算が1ヶ月以上の差なので無視し難いです。
この「畳み込み」、画像を処理する場合多用します。

一方でGPUはシンプルなMLPや自然言語処理ではあまり使用せず、GPUがなくてもそれほど速度に差が出ません。

それに対して、GPUの弱点もあります。
それはメモリの大きさです。
せいぜい12GBで後付も不可能なので、メモリを多用する計算を行う場合メインメモリを大量に積んでCPUを使うべきです。


細かい話がいろいろありますが、不都合が生じた時に目的にあうものを買い換える・買い足すことも考えられます。
汎用性から考えるとMacbookProは悪くない選択肢です。
メモリは予算の許し限り増やすべきです。
コアの数が多いほうが使いやすいです。
コードを書くとき画面が大きいほうが見晴らしがよいです。外部モニタで代用できます。

Macbookはコア数が足りなくて仮想マシンが少し重いです。
その分物理的に軽いですが…

MacbookAirは今年中に新しいモデルが出るか消える雰囲気です。
やすい以外のメリットはないように思います。

投稿2018/03/18 03:47

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

買うなら間違いなくMacBook Proですね。
理由としてはCPU性能がAirに比べて優秀で、サクサク動くからです。

上記の方が言っているようにエディタさえ動けばどんなコンピュータでもいいのですが1つのエディタを開いたり実行する際に性能の低いコンピュータだと時間がかかりますが、性能がいいとすぐにひらけます。

また、質問者さんはプログラミング初心者だということですぐには大きなプログラムやアプリを作らないかもしれませんが将来的にアプリ開発やAI等の大きなプログラムを書くようになる場合に備えてやはりMacBook Proを買うべきだと思います。(自分ならTouch Barの方)(さらにメモリなどもオプションで増やします)

最近のニュースでアップルがAirを刷新するかもということなので値段に余裕がないのなら少し待ってアップルの発表の後に再検討でもいいのではないでしょうか?AirもProには劣るもののいいコンピュータです。

投稿2018/03/17 22:31

Nippun

総合スコア1147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

僕はMacbook Proのlate2013を使ってます
iOsアプリを開発したいならMacでも良いと思いますが
Pythonをやりたいという目的ならMacを選ぶ必要性はまったくないと言っていいと思います
MacにインストールされているPythonは2系ですのでPython3をやるには入れ替えが必要になります。
bashのコマンドやvimなどの操作感もLinux系とは微妙に違います
最近のMacは起動も遅いですし、僕は画面に余計なスペースを取るDockがキライなのでMacOSは万が一のファームウェアのアップデート用にインストールしてるだけで
Arch系のManjaroというLinuxを入れてプログラミングをしています。
開発環境はvisual studio code

個人でPythonプログラミングをするのに、よっぽど古いPCや重い統合開発環境でも使わない限りPCの性能なんてほぼ関係ないと思います。

投稿2018/03/18 00:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問