質問: 現在私(文系大学3年)はプログラミングの勉強を始めて2か月でMacbookでruby on rails、html、css、javascriptなどの基礎的なことを学びicloud9(githubに登録しtwitterクローンの作成などを行い今開発できる環境はこれだけです)でrailsを扱ったWebアプリ制作(ITインターンで見せるための創作物として)を行おうと考えているのですが先日プログラミング経験者に相談したところmacのターミナルを使ったEmacsで環境構築してアプリを作ってみた方が後々を考えると良いと言われたのですが、やっぱり今の環境(icloud9)より新しい開発環境(Emacs)で行った方が良いのでしょうか?個人の意見で大丈夫なのでよろしくお願いいたします。
回答: 結論としては、 mac上でも仮想環境でもいいので、 ローカルで実行環境を作るのが良いと思います。 出来れば、それに加えてVPSやAWSにサーバを借りて、独自ドメインも取得して、 (セキュアな状態を保持した上で、)作品を発表出来ればベストです。 エディタやIDEはローカルで動くものなら何でもいいです。 理由を説明する前に、ちょっと話を整理する必要があるように思います。 まず プログラミングの開発環境(エディタやIDE,gitクライアント等) と プログラミングの実行環境(apacheやtomcat,webric等のwebサーバ・アプリケーションコンテナやMySQL等のRDBMS等) は基本的には別の物です。 *cloud9はこの二つを苦労無く一緒に扱えるようにすることで利便性を高めるサービスです。 これを理解していないと > > 先日プログラミング経験者に相談したところmacのターミナルを使ったEmacsで環境構築してアプリを作ってみた方が後々を考えると良いと言われたのですが、 > > > というのも、 ・開発環境(エディタ)としてEmacsを使った方が良いと言っているのか、 ・ターミナル上の設定をEmacsで行ってMac上に実行環境を整えた方が良いと言っているのか、 ・それとも両方なのか という部分が曖昧なままになってしまいます。 その上で私の感覚としては [開発環境について] プログラム開発環境(エディタやIDE)については、一部の例外(iOS向けのXcodeや.net向けのvisual studio等)を除けば正直どうでもいいです。 開発の出来る人は開発環境にも拘りを持つことが多いですが、同時に、開発環境が変わっても開発が出来ることが殆どだからです。 *現実問題としてcloud9を業務環境で使えるケースはかなり限られているので、それ以外に何かメジャーなエディタは使えた方が良いとは思いますが・・・ [実行環境について] 逆にプログラム実行環境については、 ローカルやVPS等で自分専用の実行環境を持つ、構築出来るというスキルは 少なくとも現時点で、webアプリケーション開発者としては ・必須 だと考えます。 プロの開発者が自分で実行環境を構築出来ないとお話しになりません。 [実行環境をローカルに欲しい理由] アプリケーション開発はプログラム言語のコーディングだけやってれば全てうまく行くという訳では無く、 プログラム言語の設定やミドルウェアやOS(ファイルシステムの仕組みなど含め)について理解している必要があります。 コーディングは間違ってないが、設定やOS。ミドルウェアが原因で問題が発生することがあるからです。 実行環境を自分で構築できるという事は、その環境について最低限の理解をしていると判断出来ます。 インターネット上で公開できる環境を運用/維持を出来る人は、上記に加えてサーバOS全体の仕組みやネットワークについても最低限知っているだろうと評価出来る訳です。