皆さん、こんにちは。毎度毎度夏休みの宿題状態になって必死にネタをひねり出している寺井です。
今回で3回目になりますがよく3回も続いているなと正直驚いています・・・・
今回はみんな大好きIDEのお話をしていきたいと思います。
アジェンダは以下の通り。
* IDEとは?
* テキストエディタとIDEの違い
* 何故IDEを使うのか
* 個人的な参考
###IDEとは
IDEと聞いて何なのかわかる方は次の章へどうぞ!
IDEは統合開発環境(Integrated Development Environment)の略称で、
PHPに限らずソフトウェア開発において必要な機能をGUIで包んだようなものです。
PHPのコードを書く場合に使うエディタとしては大きく分けて三種類あります。
一つがテキストエディタ系列でCotEditorや秀丸、TeraPadなどは僕がこの業界に入ったときに使っている方が周りに多かったものですね。
もう一つがCUIエディタ系列、emacsやviなどがそれに当たります。プログラミングがUNIX環境からスタートした方々なんかがよく使っているイメージです。
そして最後がIDE系列、PhpStormやNetBeans、Eclipseあたりでしょうか。
IDEの特徴としてはデフォルトで必要過多な機能が内包されていてGUIでマウス操作も直感でできる(←ここ大事)。
反面、最近のmac、PCの性能が向上しているため、問題は起こらなくなっているが動作の重さがあげられます。
僕が初めて使ったのはEclipseをpleadesで日本語化して使ってみていたのですが当時のネットブックメモリ256MBでは砂時計がグルングルン回っていました。
今は英語恐怖症もだいぶ薄れてきては居ますが当時日本語でGUIでマウスを使って便利になる!というのは衝撃でしたね。
3者それぞれにいいところはあるので、そのエディタ投げ捨ててIDEに来いよ!というつもりはありません。
ですが黒い画面苦手症候群の方や初めての開発環境を作るんだ!という方にとってIDEはいい選択になるのではないかと思います。
###テキストエディタとIDEの違い
ちなみにですが、この記事はPhpStormを使って書いています。なんとMarkdownまでpluginで対応できちゃう!!
実際に使ってみるとわかることなのですが、ただ単純に「使う」だけならテキストエディタとなんら変わりません。
先程述べたように起動や動作が遅くてイライラすることだけが増えるやもしれません。
今時のテキストエディタではシンタックスハイライトも普通にできますし秀丸にもMarkdownプラグインありますしね。
IDEはやはり【統合】開発環境というだけあってテキストエディタ+αのαの部分をどれだけ使いこなせるかでテキストエディタ以上にも以下にもなり得ますし、
今現在別の環境で最高のパフォーマンスを出せる方にとっては逆にIDEのコード整形などは制約となってしまうかもしれません。(自分で設定をカスタムすれば良いんですがそれをやる労力と対価が見合ってるかは疑問です…)
実際、現在の自分の身の回りにはVim使いの方がとても多いのですがPhpStormを最初に使い始めたときはすぐにVimに戻っちゃった!という方が非常に多かったです。
しかしそこから数ヶ月後に話を聞いてみるとαの部分を使いこなすことによってまたPhpStormに戻ってきたという方も居ました。
その方はideaVimでキーバインドを変更することによって本来のパフォーマンス相当のものが出せるようになったそうです。
このideaVimはプラグインとして公開されており、ほとんどのIDEにはその他多くのプラグインが公開されています。
ですので自分に必要なもの、gitignoreを簡単に作ってしまいたい!Vimっぽくしたい!AngularJSを補完したい!等、用途に合ったものを適宜追加できます。
自分用のカスタマイズが出来てくるにつれIDEの良さというのも感じ取ってもらえるのではないでしょうか。
###何故IDEを使うのか
IDEを使うにあたって何度か耳にしたり、自分で感じたことが一つあります。
それはコードの書き方や知識が本当に身につくのか?というところです。
phpStormなら⌥⌘+Lでコード整形できてしまいますしなによりコードの補完機能がとても便利です。
実際に使ってみてその指摘は全くそのとおりだと思います。
今やっている仕事を突然Viでやれ!と言われたら多分ネストのズレは起こるわ、シンボル・クラスの検索のやり方わかんなくて時間はかかるわ、
さらには「あれ…この書き方で良かったっけ…」と散々な結果になること間違いなしです。
しかしそれでも僕は初心者の方々にIDEを勧めたいと思っています。
たしかに補完されることによって本来自ら書くべきところを書かずにある程度きれいなコードが完成してしまうので
その場でその意味を即身に付けるというのは難しいかもしれません。
しかし画像の様に打ち消し線によって非推奨になったコードを指摘してくれるというのは初心者にとって学ぶ機会となります。
[CakePHP Cookbook](http://book.cakephp.org/2.0/ja/core-utility-libraries/sanitize.html
“CakePHPCookbook Sanitize”)
ちなみにこれはCakePHP2.4で非推奨になり3.0以降削除されたクラスです。今まで使えてたクラスが非推奨になったことが補完によって気づけたわけです。
その他にも見たこと無いクラスに出会ってもジャンプ機能でコアコードを読み解くのにも時間短縮にもなります。(vimにもtagjumpというのがありますね)
IDEを使っているうちに自らのコードの汚さに気づくことはいつか来ることだと思いますので、
そのときは【リーダブルコード Dustin Boswell、Trevor Foucher 著】等を読んで別でレベルアップしましょう!
###まとめ
* IDEの価値はテキストエディタ+αのα部分を自らカスタマイズしてこそ発揮される!
* 初心者は補完を学ぶ機会と捉えよう。
僕自身が、大学や専門でプログラムを学んでから入ったわけでなく社会人になってからプログラムを独学で学びながら来たんで
黒い画面苦手症候群でかつマウス操作大好きな人間だったのでIDEはマイベストアイテムになりました。
もしそういう方がいて今からIDEを使う方がいれば是非参考にしてください!
個人的にはPhpStormをおすすめします!!宣伝員じゃないよ!
次回は中編でGitあたりをお話できたらと思います。
だいぶ記事書くのに慣れてきたかも!ではまた!