C言語のプログラムを作っていると、時にはやりたくない、なんで、こんなどうでもいいことを実現するために、苦労しなくてはいけないんだ、と思うことが出てきます。
そんなときは、思い切って、別のプログラミング言語をやってみてもいいのではないでしょうか?
私の場合は、Visual Basicです。
たまたま、仕事でマイコンのプログラムをテストするためのWindowsアプリケーションを作ることになりました。
そのときに、使用したのが、Visual Basicだったのです。
そして、使ってみたら、C言語の文法がわかっていると、記述の仕方は多少違いますが、特に違和感なく、プログラミングすることができました。
したがって、あなたもVisual Basicをやってみてはいかがでしょうか?
そうすると、気分転換になるし、新たな言語も覚えられて一石二鳥です。しかも、元のC言語のプログラムを作るやり方のヒントみたいなものが、見つかったりします。
しかし、Visual Stadioは値段が高いので、なかなか個人では買うことが難しいかもしれません。90日間でよければ、試用版がダウンロードできたはずですので、それでやってみるといいと思います。
難しそうに思えるが、実は難しくなかった
私は、会社に入るまでC言語しか、やってきませんでしたから、いきなり、Visual Basicといわれても出来るわけないと思っていました。
もともと、プログラミングは苦手でしたので。
まぁ、慣れというのは恐ろしいもので、やっていくうちにプログラムが書けるようになるんですね。もちろん、書籍やヘルプ機能はフル活用しましたよ。
コピペして、動かして、処理を理解するということもやりました。
あまりにやり過ぎて、本来やらなくてはいけないC言語のほうを忘れてしまっていくようなときもありました。
C言語もVisual Basicも両方やってると、プログラムを書いているとき、よく間違えます。
例えば、C言語でif文を書くときは、
if ((a == 0) && (b == 5)) { c += 1; }
になりますよね。でも、Visual Basicだと、
If (a = 0) And (b = 0) Then c += 1; End If
となるんですね。
見てもらえば、わかると思いますが、条件文の”かつ”はC言語では”&&”、Visual Basicでは”And”となっているし、全体のカッコがC言語では必要ですが、Visual Basicではなくても構いません。
それと、さらに重要なのが、”=”の数です。C言語では”==”で”=”が2つ必要ですが、Visual Basicでは”=”が1つでいいことです。
Visual Basicに慣れすぎて、C言語プログラムを書いているときに、”=”が抜けてしまうミスを犯してしまう可能性が出てしまいます。
この間違いはやってはいけない間違いなので、注意してください。参考: C言語 if文の「=」忘れは致命的になる
if文だけでなく、for文もwhile文も同じような記述ですので、何も難しいことはありません。チャレンジしてみてはいかかでしょうか?
イベントハンドラで自分の好きな動きにできる
Windowsアプリケーションなので、キーボードやマウスが操作されたり、自分が配置したボタンをクリックしたときに、発生するイベントハンドラというものがあります。
これが発生したときに、どういう動きにするかはプログラミングされている内容で決まります。
普通だったら、キーボードで”a”というところを押せば、”a”という文字が表示されますよね。これを、自分で作ったアプリケーション内では”b”と表示させることもできるんです。
自由自在に動きを作れるところも、面白いところではないかと思います。組み込みマイコンでは、そういうのは作れないので、違った観点からの学習にもなります。
私が作ったのは、配置したボタンをクリックしたら、指定ファイルを読み込んだり、指定ファイルに書き込んだりできるようにしたり、数値を入力させているときに、数値以外のものが入力されたら、エラーメッセージを出す。とかいうものを作りました。
使い勝手がいいものにするのには苦労しましたが、本来のC言語のプログラムで排他処理を書くときに、参考になったりしました。
したがって、たまには違うことをするのもいいと思うのです。
用意されている関数を使いこなすのは大変
Visual Basicでいろんなことが出来ますが、用意されているクラスや関数が膨大にあるので、これらを覚えることは不可能です。
書籍やヘルプは不可欠です。だからといって、C言語で、それらが不要かというと、そうではないと思います。
そういった意味では、C言語だろうと、Visual Basicだろうと、書籍やヘルプを駆使して、プログラムが完成させていくので、作業としては同じではないでしょうか?
ただ、直感ですが、圧倒的にVisual Basicの方がいろんな関数があると思います。
ちょっとだけ、作業スピードがC言語より落ちるのかなという気はしています。
ですが、C言語が嫌になっているときなので、Visual Basicを触っていた方が、居心地がいいでしょう。
まとめ
C言語でプログラムを書くのが嫌になったときに、どうしたらいいかということをお話ししました。
1つの方法として、別言語をやってみると言うことでしたね。
私は、Visual Basicに逃げ場を作れました。なぜなら、こちらは社内用なので、たとえ動かなくても、お客様に迷惑はかからないので、気楽にプログラミングできるからです。
もちろん、Visual C/C++でも同じ内容のことを実現できるでしょう。しかし、C言語のプログラムを書くのが嫌な時に、Visual C/C++で書きたいと思わないでしょう。
思わないから、別の言語をやろうとしているんですよ。ただ、Windowsアプリを作るだけなら、わざわざ知らない言語で作る必要はありません。得意な言語で作ればいいんです。
もし、あなたが、C言語でプログラムを書くのが嫌になったら、Visual Basic等の別の言語をやってみてください。
きっと、新たな発見があるでしょう。