株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを定期的に開催しています。
2018年12月14日のイベントでは「プログラミングを学び始めるときの環境構築〜エンジニアが生き残るためのテクノロジーの授業」を開催。
プログラミングを始めるとき、最初につまずくのは環境構築。今回は増井さんに、手軽に試せる開発環境から、主流な環境の準備、便利な開発ツールなどを、主にPHPとJavaScriptでのWeb開発を目指す方向けにお話いただきました。レポートでは、PHPの環境構築について詳しく解説します。
・プログラミングを始めるときの悩み
・オンライン実行環境を試す
・PHPの環境を構築する

プログラミングを始めるときの悩み
プログラミングを学び始めるとき、どのプログラミング言語から学べばいいか迷うことがあります。世の中には非常に多くのプログラミング言語があり、作りたいシステムの規模や目的、実行する環境などによって最適な言語は変わってきます。
学生であれば、学校で指定された言語があるかもしれませんし、企業であればプロジェクトで使う言語が決められているかもしれません。このような場合は使う言語のコンパイラや実行環境を導入すればいいのですが、個人的に新しい言語を学ぶ場合には、どれを選んでいいのかわからないことは珍しくありません。
いろいろな言語を試してみるには、各言語の実行環境やコンパイラをインストールする必要があり、環境構築に時間がかかります。なかなか言語の勉強に入れず、結局どの言語も中途半端になりかねません。さらに、使ってみたけれど自分には合わなかった、という場合には不要なソフトウェアがコンピュータ内に残ってしまう、ディスクを大量に消費してしまう、などの状況もあるかもしれません。
開発環境を整えるために、どのようなツールを選べばいいのかわからない、という問題もあります。あるプログラミング言語を選んでも、エディタに何を使うのか、IDE(統合開発環境)は何が良いのか、などさまざまな疑問が出てきます。WindowsとMacでは動くソフトウェアが違う、他の人と環境を揃えられない、という問題もあります。
オンライン実行環境を試す
そこで、とりあえず言語の文法を試したい場合にはオンラインの実行環境を使う、というのも一つの方法です。最近はWebサイト上でソースコードを入力して実行できるサービスがいくつも登場しており、Webブラウザさえあれば簡単に試すことができます。
例えば、「Ideone」(https://ideone.com/)や「Wandbox」(https://wandbox.org/)といったサービスを使うと、多くのプログラミング言語を簡単に試すことができます。試したい言語をリストの中から選んで、ソースコードを入力し、実行ボタンを押すだけです。
また、HTMLとCSS、JavaScriptを試したい場合は「JSFiddle」(https://jsfiddle.net)のようなサービスを使うと、簡単にWebページのデザインや簡単なスクリプトを試せます。最近よく使われているJavaScriptのフレームワークであるAngular, React, Vue, Gatsby, Next.js, Node.js, Nuxtなどを試す場合には、「CodeSandbox」(https://codesandbox.io)なども便利です。
プログラミング言語だけでなく、データベースなども試したい場合は、「CodingGround」(https://www.tutorialspoint.com/codingground.htm)というサービスもあります。スマホアプリもあり、一部の言語ではオンラインでIDEを使うこともできます。
もしIDEをブラウザで試したい場合は、「Codeanywhere」(https://codeanywhere.com)や「Codenvy」(https://codenvy.com)、「AWS Cloud 9」(https://aws.amazon.com/jp/cloud9/)といったサービスを使うのもいいでしょう(ただし、会員登録やログインが必要になります)。
開発に使うツールを導入する
上記のような方法で開発に使うプログラミング言語を選んだ後は、本格的に開発を始めるために手元で開発環境を構築する必要があります。コンパイラや実行環境をダウンロードしてインストールするだけでなく、ソースコードを入力するために、テキストエディタやIDEが必要です。
テキストエディタとしては、古くからvi(Vim)やEmacsなどが使われてきました。最近では便利な機能を備えたVisual Studio Code(VSCode)、Atom、Sublime Textなどが人気を集めています。その背景には、プログラミングなどに便利な機能を多く備えていて、簡単に使えることが挙げられます。
例えば、「スニペット」と呼ばれる機能により、簡単に入力を補完できます。HTMLを入力するモードにして、「!」記号を入力したあと、Enterキーを押すだけで簡単にHTMLのテンプレートを使用できます。
このような機能を使うのに何の設定も必要なく、初期設定のままで用意されている、というのは初心者にとってメリットでしょう。
なお、一部のプログラミング言語では、IDEを使用する方法もあります。IDEを使えば、ソースコードの入力だけでなく、Javaなどで使われるEclipseやNetBeans、C#などで使われるVisual Studio、Objective-CやSwiftで使われるXcodeなどがよく使われています。スクリプト言語でも、PHPのような言語ではPHPStormやIntelliJ IDEAなど開発に便利な機能を備えたIDEが存在しますので、試してみるのもよいでしょう。
PHPの環境を構築する
今回はプログラミング言語として「PHP」を選んだ場合の環境構築を考えてみましょう。多くのレンタルサーバーで標準的に使える言語であり、Webアプリケーションの多くで使われています。また、入門書などの資料も多く、学びやすい言語だと思います。
PHPで開発するとき、手元のパソコンに環境を構築するにはいくつかの方法があります。Windowsの場合はXAMPPなどのツールもよく使われており、インストールするだけでPHPだけでなくWebサーバーやデータベース、FTPサーバーなども一括でインストールできます(https://www.apachefriends.org/jp/index.html)。
ただ、使わない機能も多く、必要な機能だけをインストールしたい場合には個別に導入することもできます。例えば、プログラミング言語のPHPそのものは公式サイト(https://windows.php.net/download/)からダウンロードして解凍するだけなので、インストールの作業は不要です。「C:\php」というフォルダに解凍して、図のように配置してみましょう。
コマンドプロンプトを開いて、「C:\php\php ––version」を実行すると、ダウンロードしたバージョンが表示され、正常に動作していることを確認できます。(より便利に使うには環境変数にパスを登録する方法もあります。)
PHPでWebアプリを手元で実行する
Webアプリを実行するには、Webサーバーが必要です。レンタルサーバーを使用する方法もありますが、手元で簡単に試すだけであれば、PHPの「ビルトインWebサーバー」を使う方法もあります。ビルトインWebサーバーはPHPに付属しており、ApacheやnginxといったWebサーバーソフトをインストールしなくても、開発環境として使うには十分なWebサーバーを起動できます。
「C:\php」にPHPをインストールしている場合は、プログラムを配置したフォルダに移動して、コマンドラインで以下のようにオプションとして「–S」を付けたコマンドを実行するだけです。
これは、ローカルホスト(自分のコンピュータ)を表す「127.0.0.1」の、ポート番号80(HTTP)でビルトインWebサーバーを起動するコマンドで、ブラウザから「http://127.0.0.1/」または「http://localhost/」にアクセスすると、該当のフォルダにあるプログラムをWebアプリとして実行できます。
例えば、以下のようなファイルをindex.phpというファイル名で保存してみましょう。
phpinfo();
このページをWebブラウザで開くと、以下のように表示できます。
Composerを使って様々な便利機能をインストールする
PHPのパッケージを導入する場合には、依存関係管理ツールであるComposerを使うと便利です。Composerは公式サイト(https://getcomposer.org)からダウンロードしてインストールします(公式サイトの「Getting Started」を選択し、「4. Installation–Windows」の「Composer–Setup.exe」を実行)。
Composerを使うと、さまざまな便利なフレームワークや機能を追加する場合も、コマンドを入力するだけです。例えば、最近人気のあるLaravelフレームワークは、以下のコマンドでダウンロードしてプロジェクトを作成できます。
また、PHPではコードの書式に「PSR–2」と呼ばれるルールがよく使われます。このルールに従っているか確認するために、php cs fixerなどのツールを導入することもあります。これを導入する場合も、以下のコマンドを入力するだけです。
php cs fixerはコマンドラインからソースコードをチェック・整形できるだけでなく、Visual Studio Codeなどのエディタにある拡張機能を使えば、エディタでの入力中に、ルールに従っているか確認できます。
このように、便利な機能の導入や管理が可能なツールが、最近のプログラミング言語では用意されていることが多く、簡単に設定できるようになっています。ぜひ業務内容や実現したいこと、好みなどに応じてプログラミング言語を選んで、実際に開発環境を作ってみてください。