読者です 読者をやめる 読者になる 読者になる

キンサクプログラマー

お金儲けと技術のメモ

僕はもっとIDEを使うべきだと思うよ

こんな記事を見かけたので、ソフトウェアエンジニアとして自分の意見を書きたいと思います。
pineplanter.moo.jp

記事に対する感想

IDEを使うとプログラミングを覚えない について

言い過ぎ感は否めないですが、見出しの文については大方同意見です。
僕がプログラミングを習った際にもeclipsevisual studioを使っていましたが、
リンクとか依存関係とかそういった部分がわからなくなった気がします。
IDEが勝手にやってくれてた部分がごっそり抜け落ちた感じ)
ただ、この記事の著者が言うように、IDEをつかっていたからオブジェクト指向がみにつかない。
テキストエディタで書くとオブジェクト指向が身につく。なんてことはない気がします。

くそ重い について

これはPCにもよると思いますが、確かにIDEの方が重いです。
機能が多いのであたりまえだとは思いますが、開発ツールにとって動作速度は重要なポイントなので、
重くて使いたくないってのは至極まっとうな意見だと思います。

僕の開発環境

仕事で使う言語はC、主に使っているエディタはemacsです。
そこそこカスタマイズされていて、宣言・定義のジャンプや補完機能もしてくれます。
コードを書くのも読むのもスムーズに行えるので、エディタとしての満足度はかなり高いです。

それでもIDEを使うべきだと思う理由

人のコードを読んで、自分のコード書いて実行! ってだけならこれだけでも良いかもしれません。
ですが、仕事でプログラムを書く場合は品質に重点を置かなければなりません。
そういった、品質向上のための機能が充実したのがIDEなんじゃないかなぁと思います。

IDEでできること(Visual Studio2015を例に)

https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Visual_Studio_2012_logo_and_wordmark.svg/2000px-Visual_Studio_2012_logo_and_wordmark.svg.png

昨今のIDEは開発者の意図を汲んだ便利機能が充実しています。

デバッグ

当たり前ですが、ブレークやトレースポイントの指定、ステップ実行で1行ずつ実行したりできます。

テスト

単体テストも可能です。カバレッジなんかも計測してくれます。

パフォーマンス測定

ターゲット環境での実行速度、使用メモリ容量を測定できます。

コード分析

静的解析でコードの怪しい記述を発見したり、依存関係を可視化したりできます。

これらの機能を適切に使うことができれば、エディタだけで開発しているよりも品質を大幅に向上することができるはずです。

予想される反論

エディタでコード書いてデバッガはGDB、テストはCppTest、分析はDoxygenとか使えばエディタだって同じことできるじゃん!

っていう人
➡️1つで全部できた方がよくない?

いやいや!vimemacsを拡張すれば同じことができるよ!っていう人

➡️なるほど、でも、もうそれはエディタじゃなくてIDEなんじゃないですかね。