見出し画像

【プログラミング道具箱】プログラムを書く道具

さてさて、昨今、プログラミングに熱が入っている日本ですが、きっかけは千差万別。もちろん、習熟度も千差万別ですね。初心者と言っても、ちょっとは齧ったことがある程度の人もいれば、上手い文句に乗せられて、全くの「無」から始める人もいます。ただそうした人たちは、プログラミング言語には興味を持ちますが、プログラミングをするための環境については、あまり気にしなかったりするんですよね。
なので、【プログラミング道具箱】と題して、環境を揃えるための取っ掛かりをまとめていこうかと思います。

はじめに

さて、まず「プログラムとは何ぞや?」と言ったところから。プログラムとは、簡単に言えば、

あるデータを加工するための処理をいくつか組み合わせて、一つの流れとして表したもの

となります。例えば、「"1 + 1"を計算して表示する」とか、「2つの数字を入力して、計算結果を表示する」とか、そういったことです。こうした1つ1つの処理やいくつかの処理を組み合わせてさらに大きな処理としてまとめることをプログラミングと言います。さらに噛み砕いていえば「やることと手順をまとめたもの」と言えます。つまり、この「やること」と「手順」を書いたものがプログラムとなります。
とはいえ、プログラムを紙にペンで書いたところで、コンピューターで動かすことはできません。認識すらしません(スキャナーで読み込んでというのもありますが、最終的に「文字」を認識させてあげなければなりません)。
コンピュータで認識できるように、とあるプログラム(アプリ)を使ってプログラムを書き上げます。それらを総称して「エディタ」と呼びます。
現在では多種多様なエディタが存在しますが、大別すると、以下の3種類に分類されます。

1.テキストエディタ
2.IDE
3.1と2の中間

では、それぞれについて紹介していきましょう。

1.テキストエディタ

まずは「テキストエディタ」から。最も基本的なソフトで、「文字を編集するだけ」のソフトになります。プログラムのソースコードも「文字」の集まりですので、テキストエディタを使って編集することができます。Windowsに付属する「メモ帳」もテキストエディタの一種になります。しかし、「メモ帳」は文書を書くだけのもので、プログラムのソースコードを書くにはかなり役不足であります。そこでプログラミングに向いたテキストエディタを使用します。
プログラミングに向いたテキストエディタとはどういったものか。平たく言えば、プログラミングの手助けとなる機能をいくつか実装されたテキストエディタとなります。人によっては必要十分と呼べる機能に差異はありますが、私としては、以下の機能があれば、結構助かります。

カラーシンタックス
対応する括弧への移動
サブルーチンの一覧表示と移動

最初の「カラーシンタックス」は、プログラムの構文を色分けや強調表示で表示してくれる機能。文字列や定数、ifやwhileなどのキーワードをカラー表示や強調表示で表示することで、視覚的に分かりやすくする機能です。
続いての「対応する括弧への移動」。プログラム中では、あるまとまった単位(処理的なものであったり、データ的なものであったり)を表すのに括弧が多く使われます。一般的には、()、{}、[]辺りですね。で、先に述べた「まとまった単位」は「入れ子構造」を採ることができて、入れ子を重ねたり、処理やデータが多量となると、大きくなります。そうすると、括弧の対応が1画面分を越したところにあったり、括弧が連続したりして対応付けがわかりにくくなったりするんですよね。そのような時に「対応する括弧への移動」機能があると、そのものズバリ、素早く移動することができますし、括弧の対応付けを確認することもできます(対応付けがちゃんとしていない場合は想定していない位置に移動したり、移動自体しなかったりします)。
最後の「サブルーチンの一覧表示と移動」。プログラムの書き方は色々とありますが、「構造化プログラミング」の考え方が入ってからは、ある程度の処理毎に小分けにして、その処理を組み合わせることで機能を果たすプログラムを書いていきます。このように小分けにした処理(群)を「サブルーチン」と呼びます。一つのプログラムソースに複数のサブルーチンがあるのは当たり前の事でして、「このプログラムソースのファイルにはどんなサブルーチンが定義しているか」とか、「手早くこのサブルーチンの場所に移動したい」ということがよくあります。そうした時に、この機能を使うと定義されているサブルーチンを確認したり、そのサブルーチンの場所へ移動するということが簡単にできます。
(外部プログラムを使うことによって、他のファイルに定義されているサブルーチンへ移動することが可能なものもあります)

上記のような機能を実装したテキストエディタはいくつかあります。汎用的なテキストエディタとしては、「秀丸エディタ」、「サクラエディタ」、「EmEditor」等があります。またプログラミングに特化したエディタとした「notepad++」があります。

2.IDE

続いてIDE。IDEはIntegrated Development Environmentの頭文字を取ったもので、「統合開発環境」と呼ばれます。どういったものかというと、「開発環境」と呼ぶくらいのものですので、テキストエディタと比べると多機能となります。というのも、プログラムを書くエディタの他に、デバッガ(の管理)、(コンパイル言語の場合は)コンパイラ(の管理)、プロジェクトの管理、パッケージの管理など、プログラム開発に必要とされる機能を集約したものだからです。機能が多いため、使いこなすには時間がかかりますが、それに見合うだけの作業効率のアップが見込めます。
IDEとして代表的なものは、主にJavaでの開発に多く使われますが、汎用的なものとして「Eclipse」、Windowsで動作するプログラムを開発するのに使われる「Visual Studio」、Androidアプリを開発するのに使われる「Android Studio」、Mac上で動作する「Xcode」、等があります。

3.1と2の中間

区分として曖昧となりますが、最近では1と2の中間に位置するものも出てきました。IDEは先述の通り、多彩な機能を搭載したものですが、それ故に「動作が重い」という難点もあります。また、熟練したプログラマの方は動作が軽快なテキストエディタを選ぶ傾向もあるのですが、機能としては若干、貧弱なところがあります。
この、IDEとテキストエディタの中間を埋めるようなプログラム向けエディタが出てきております。ベースはテキストエディタですが、拡張機能の追加によって、自分に必要な機能をカスタマイズしていくというスタイルのものです。拡張機能の組み合わせによっては、IDEに迫るほどの機能を有し、テキストエディタの軽快さも併せ持つことができます。
このようなプログラム向けエディタとしては、「Atom」、「Visual Studio Code」が代表に挙げられますね。また、UNIX環境で古くから使われている「Emacs」もこの部類に入るかと思います。

おわりに

プログラミングを始める上で、まず最初に手にする(扱う)プログラムとして、テキストエディタを挙げました。思った以上に種類もあって、驚かれた方もいらっしゃるのではないでしょうか。
数も種類もたくさんあり、それぞれ特徴を持ったプログラムとなっています(それ故、一長一短はありますね)。
まずは色々と試して、自分に合ったものを探してみてください。そして「自分の手にしっくりとくる」ものを選んでください。

この記事が気に入ったらサポートをしてみませんか?