プログラムは単なる文字列なので、テキストエディタだけあれば書けます。Windowsならメモ帳アプリだけあればコンパイルやら何やらはさておいて、コーディング(ソースコードを書くこと)だけはできます。が、メモ帳プログラミングでは、その言語のすべての構文を覚えて、1から10まで自分で打っていかなければなりません。
どのような環境でプログラムを作成するかわからないプロのエンジニアなら、このようなスキルは必要かも知れません。しかし、我ら趣味プログラマーにはそんなスキルはいりません。
コーディングの目的
趣味プログラマーの中には、コーディング自体が楽しいという方もいらっしゃるかも知れませんが、おそらく少数派です。大部分は私のように「自分で考えたプログラムが正しく実行され思い通りの結果がでる」ことが楽しいという方だと思います。コーディングは手段であって、目的ではありません。よってできるだけ労力をかけたくないのです。IDEはそんな私たちの強い味方です。
IDE(統合開発環境)は本格的にプログラミングをやるプロが使うものというイメージがあるかも知れませんが、むしろ趣味でいじくるアマチュアこそIDEを利用すべきです。それも最初の最初、初心者向けのよくある「まずはメモ帳でHello,worldを表示してみよう」なんてのはすっ飛ばして、いきなりIDEから使いはじめることを私はオススメしたいです。
IDEはもはやプログラミングには必要不可欠な道具です。変なクセがつく前のまっさらな状態からはじめるのが道具を正しく使いこなすためのベストな方法です。IDEを使えば誰でも間違いのないキレイなコードを少ない労力で書くことができます。
どのIDEを使うか
ひとくちにIDEといっても、言語や機能の違いにより多種多様に存在します。一番知名度が高いのはEclipseでしょう。「無料」という資本主義社会における絶対的アドバンテージがあります。私もご多分に漏れず、最初はEclipseを使っていました。印象としては可もなく不可もなく「便利だな~」程度でした。
転機はAndroidアプリのプログラミングにチャレンジしたときに訪れました。
Android用のアプリの作成にはGoogle謹製Android StudioというIDEを使用する必要がありました(当時)。こちらも無料で入手できるIDEで、さっそくインストールして使ってみて、かつてない衝撃を受けました。
「えっ?これ誰か中にいるでしょ?」
とにかくプログラマーが次にやるであろうことを先読みして提示してくる、お手つきはすかさず修正してくる、その精度がすさまじいです。
数文字タイプすれば残りの構文の候補を選択肢で選べるのはもちろんのこと、例えば変数を定義しておいて、それを使っていなければ「この変数つかってないけど消しとく?」や、変数名のスペルをタイポすると「それ違うと思うけどなおす?」や、必要のない条件分岐をつくると「そうやるんなら、こうした方がシンプルだけど変える?」といった提案をコーディングしたそばからリアルタイムで提示してきます。
このAndroid StudioがIntelliJ IDEAというIDEをカスタマイズしたものだということを知った私は即座にそのライセンスを購入し、即座に乗り換え、そして現在に至ります。
IntelliJ IDEAのすすめ
IntelliJ IDEAは年間1万円ちょっとのサブスクリプション形式のIDEです。最新版へ更新する権利を放棄すれば買切りで使用も可能です。
これを高いと感じるかどうかは使ってみないとわからないところでしょうが、参考までに申し上げますと、私の脳内ランキング「どう考えてもサービス内容に比べて価格が安すぎるもの」ベスト5に入っています(ちなみに1位はAmazon Prime)。
IntelliJ IDEAのメインの対応言語はJavaですが、プラグインにより主要な言語はほぼサポートします。無料試用版がありますので、ぜひそのすごさを体感していただきたいです。また、対応する言語を制限する代わりに、その言語に特化した機能を搭載して価格を抑えたバージョンも各言語ごとに用意されています。自分はコレしか使わないという言語を決めているのであれば特化版の方がお得です。
なおデメリットとして、あなたがVBA使いならVBEがいかにしょっぱいか、を知ることになります。コーディング中のエディタからのサポートのなさにイライラしてしまいますのでご注意ください。
どこかでみた、今後AIが発展して10年以内になくなる職業に「確率95%でプログラマー」がありましたが、これを使うと納得できます。あ~これ、近いうちに人間いらなくなるなってなります。
IntelliJ IDEAの機能
IntelliJ IDEAの機能は多岐にわたりますが、コーディングに関して便利なエディターの機能をいくつか紹介します。コードに黄色や緑色の波線やハイライトがつくと何かIDEから改善提案があるという合図です。すかさずクリックしましょう。致命的なミス、例えばシンタックスエラーなどは赤波線で教えてくれます。
マルチカーソル
複数行にカーソルを置けます。同時にテキストの挿入、削除ができます。HTMLで威力を発揮。
自動インデント
構文解析によりインデントを自動でつけてくれます。これもHTMLで威力を発揮。ごちゃごちゃになって閉じ忘れているタグが一目でわかるようになります。
サジェスト
Google検索のような、目的のワードをそれまでに入力したキーから予測して選択肢で提示します。IDEでは一般的な機能ですね。なおディレクトリ構成も解析されているので、画像のようにパスを入力していくと、そこにあるファイルだけ候補で表示されます。当然Emmetにも対応していますのでHTMLコーディングは爆速です。
タイポ修正
英単語はスペルミスを指摘して修正候補を提示します。変数であれば、すでに使われている場所も全部修正してくれます。
for補完
Java、Javascriptなどの面倒くさいタイプのfor文を「fori」とタイプするだけで代わりに書いてくれます。ネストするとカウンタ変数名も勝手に変えてくれるスグレモノ。
if補完
ある変数で条件分岐したい場合「変数.if」とタイプすると変数をif文でラップしてくれます。
コード簡略化
余計なコードを書くと「おまえ、それ無駄だぞ?」と教えてくれます。この場合ifで判定する必要はないので条件分岐を削除してくれます。一番中の人の存在を実感できる機能です。
公式サイト
IntelliJ IDEAのWEBサイトはこちら
オレはPythonしか使わないという方はこちら
IntelliJ IDEAはエディターに限らず、プログラミングのための機能をこれでもかと言わんばかりに搭載しています。ぜひとも体感してください。
おわり。