Tips プログラミング

対話型実行環境って大事

こんにちは。バッヂーです。
本記事は「プログラミング言語の入門書を1冊終えて、ぼんやりと自分の作りたいものを作り始めた人」に役立つかもしれない記事です。

プログラミングは対話型実行環境を活用すると捗る

私はいろんな言語や技術を浅く広く触ることが多かったので、入門~初級付近の経験は豊富なほうだと思います。
中級以上はからっきしですが。

その経験の中で、プログラミングの学習、ひいては自分の作りたいものを作成する際に「あると非常に便利だな」と思うものがあります。
それは対話型実行環境です。
対話型実行環境を活用すると、プログラミングがはかどります。

ちょっと試してみることができるありがたさ

対話型実行環境を使うと、「ちょっと試してみる」ことができます。これがどんなにありがたいことか。

動作・計算の結果を確認する

例えば「文字列strのm番目からn番目まで抽出」する場合、Pythonだと str[m:n] です。
対話型環境があると、この動作を「ちょっと試してみる」ことができます。特にm,nが動的に変化する場合の挙動など、ややこしい場合の確認に役立ちます。

他の言語だと「m番目からn文字分抽出」という決まりの場合がありますから、頭の中でごっちゃになって「どっちだったっけ?」と思ったときに試してみることができます。
同じように計算の結果の確認や、条件分岐が正しく動作するかを、プログラム全体を実行せずにちょっと試してみることも可能です。

プログラムは実行してみるまでわからない

調子よく長いプログラムを書いて、いざ実行! …エラー連発。
エラーがあまりにも多いと、一気に士気はダウンしてしまいます。

どんなに気をつけて自信のあるロジックでプログラムを作成しても、やはり人間のやることです。想定の抜けがあったり、条件分岐の処理を勘違いすることはあります。オリジナルのものを作成しているときに陥りがちなケースですね。

そんなときに後悔するのです。途中で試しておけばよかった、と。
そしてたいていそう思うときは、ロジックの不備や関数の動作を対話型実行環境で確認しているときです。

プログラミングの達人ならまだしも、私のような凡人にはプログラムは実行してみるまでわかりません。
対話型実行環境は、ちょいちょい確認しながら進めるのに強力な武器になります。「急がば廻れ」です。

対話型実行環境は「REPL」というらしい

wikiを調べてみると、対話型実行環境は「REPL」と言うらしいです。同ページにはREPLがあるプログラミング言語が掲載されていますが、こうしてみるとほとんどの言語に実装されているんですね。

ところで「プログラミング 対話型実行環境」のキーワードでGoogle検索してみると、現時点(2020/7/12)では1ページ目のほぼ全てがPythonについてです。
Pythonはプログラミング入門に勧められる言語ですが、その理由の一つに「学習コストが低い」ということがあげられます。
PythonのREPLは入門のしやすさに一役買っているのかもしれません。

独断で選ぶ主な対話型実行環境

自分が知っている限りで恐縮ですが、主なプログラミング言語の対話型実行環境を簡単に紹介します。

一番身近なVBAのイミディエイトウィンドウ

ExcelのVBAのイミディエイトウィンドウの機能は、対話型実行環境と言ってもいいのではないかと思います。
私はこの機能のおかげで何度も助けられました。
VBAのエディタは今となっては非力な感が否めませんが、この機能があるのでVBAは好きです。
ほとんどの方のWindowsマシンにはExcelをインストールしていると思うので、一番身近なプログラミング環境ではないでしょうか。せっかくあるものですからVBAを使わないのはもったいないです。
VBAのたくさんある関数の挙動を確認するのにめちゃくちゃ便利です。

PythonはもちろんPython Console

Pythonをインストールして、コマンドプロンプトから「python」と入力してENTER、これだけですぐに使えます。
ループやifも使えて複数行で書けるので、ある程度かたまりの処理を試してみることができます。
これまたPythonの入門時から今までずっと、この機能の使い勝手の良さが大好きです。Pythonの入門時に、苦手意識をぶっ飛ばしてくれました。
特にスクレイピングを試行錯誤しているときに便利だなー、と思いながら使ってます。

JavascriptはChromeのF12から

クライアント側しか知らないので恐縮ですが、ブラウザのChromeで、F12キーで出てくるデベロッパーツールが便利だと思います。「Console」というタブをクリックします。

Chromeのデベロッパーツール

※クリックすると大きな画像が表示されます

初期状態だとサイドに表示されるので、下側に持っていくと使いやすいです。

会社用のWebシステムでJavascriptのデバッグをしているときや、Vue.jsの入門書を読んで勉強しているときに変数の状態を確認するのに使っています。

C#にもあるらしい

この記事を書くのに調べてみるまで知らなかったのですが、C#にも「C# Interactive」というのがあるのですね。フォームの片隅にテスト用ボタンを設置して、動作を試してたりしてました。
コンパイラ言語は特に実行してみるまでわからないので、こういう機能があるのはありがたいです。

会社のWebシステムはASP.net MVCで作成しているので、REPLがあればいいなとずっと思ってました。
もっと早くに調べればよかった!

オンラインの実行環境もちょっと試すのに便利です

ブラウザだけで実行できる実行環境は、ますます機能豊富になって便利ですよね。
オンラインでプログラムできる環境はたくさんありますが、メニュー周りが日本語で使用できる「paiza.io」はどうでしょうか?
言語もたくさん対応していますし、どうせWebで調べ物をしています。同じくWeb上で動作確認ができると、開くウィンドウも少なくてすみます。

paiza.ioでC#

※クリックすると大きな画像が表示されます

試しにちょっと使ってみたのですが良いですね!ちゃんとコード補完もしてくれます。

対話型実行環境活用してプログラミングを楽しくしましょう

入門本のサンプルを打ち込むのは一通り終わって、自分で考えてプログラムを作成するときには「ちょっと試してみる」ができると格段に便利です。

「プログラミングを学びたいんだけど、どれにしようかな?」と思っている人は、とりあえず実行環境を整えた上で、対話型実行環境を触ってみると良いです。対話型実行環境との相性が良ければ、この先挫折しなくてすむかもしれません。
業務上必須というのならそうもいきませんが、なんだか合わないなと思ったら別の言語にすればよいのです。

対話型実行環境をうまく活用して、効率的にプログラミングを楽しみましょう。

とりあえず始めてみる

余談ですが、気の乗らない作業に手を付ける良い方法は、「とりあえずはじめて見る」だそうです。
プログラミングの気が乗らない時、とりあえず対話型実行環境をポチポチ触ってみるのは良い方法なのかもしれません。
簡単なことをすることでやる気のアイドリングを始めて、徐々に回転数を上げていく。
対話型実行環境はプログラミングのモチベーションを高めるツールとしても有能なのかも。

-Tips, プログラミング
-, , , , ,

© 2024 BUDGIE WORKs