https://zenn.dev/ko1/articles/35c142cc7034e7
物事を上達するためには反復を、というのはよく聞きますが、もちろんプログラミングでも大事なのかと思います。とくに自分は「一を聞いて十を知る」ような器用なことはできないので、何度も何度もプログラムを書いて、試していました。
このような反復を支援するためには、できるかぎり「書き始めるコスト」と「実行して確認するコスト」は低い方がいいと思っています。書き始めるのがだるいと、そもそも「ちょっと書いてみようかな」となかなか思わないですし、実行するための手数が多いと、「書いて→結果を確認」の回数が減ります。
本稿では、この「書き始めるコスト」と「実行して確認するコスト」を下げる私が20年くらい行っている工夫についてご紹介します。
筆者が Ruby が好きなので、Ruby の例が多いですが、別に Ruby に限った話ではありません。
たとえば、C 言語ですと、プログラムを実行するために
#include <stdio.h>
int main(int argc, char *argv){
printf("hello");
}
のように書かないといけなくて、ちょっとだけ距離があります。もちろん、テンプレートを用意したり、エディタのスニペット入力機能を有効活用する、といった工夫があり得ます。
Ruby などの言語では、
とだけ書いておけば、同じようなプログラムが書けるので、精神的に楽です。
この特性は、
という点から来ています。この点は利点になることもあれば、ある種の制約になるなど、欠点になることもあります。ただ、「プログラムを書き始める」というコストを下げる効果はあると思います。
書いたプログラムを実行するには、たとえば Ruby ですと、ruby t.rb
のようにコマンドを端末で入力し実行するのが一般的です。
IDE、例えば VSCode なら F5 キーを押せば IDE 中にある端末で(デバッガつきで)実行する、というのができます。結果もその場で見ることができます。ただ、デバッガ付きなのでちょっともたつきます。