第194回 プログラミング言語を習得しようとして気づいた2つのこと
こんにちは、キャリア・コンサルタント高橋です。
最近、私事ですがあるプログラミング言語を習得しようと毎日プログラミング言語と格闘しています。プログラミング言語といえば、去年から引き続いてプログラミング言語の本を執筆している最中ですし、今年は何かとプログラミング言語と縁のある年だなぁと思っています。そこで、今回はプログラミング言語の習得について思うところを書きます。
■私のプログラミング言語遍歴
私が社会人になって初めて覚えたプログラミング言語はCOBOL 85でした。当時、富士通製の汎用機であるFACOMを使ってプログラミングするのに覚えました。また、汎用機でプログラムを動かす際に使われるJCL(ジョブ制御言語)もこの頃一緒に覚えました。ちなみにこの現場では、COBOL 85で直接プログラミングすることもありましたが、YPS/COBOL※、BAGLESII※といった開発支援ツールや、Easyという簡易言語、アセンブラなども扱っていました。その後、開発環境が汎用機からオープン系に移ってからはMicro Forcus COBOLや、PowerCOBOLなどを習得しました。
※YPS/COBOL:正式名称はYAC II Programing Systemといい、フローチャート図のようなものを書いていくと勝手にプログラミングされるツールでした。多分、目の前にあれば今でも使えると思います。
※BAGLESII:正式名称はBusiness Application Generator's Library for Extensive Support IIといい、こちらは仕様書のようなものを書いていくと勝手にプログラミングされるツールです。こっちの使い方は忘れてしまいました。。。
※Micro Forcus COBOL:マイクロフォーカス社が提供しているオープン系のCOBOL。現在はMicro Forcus Visual COBOLという名称になっているそうです。
※PowerCOBOL:富士通がオープン系COBOLとして開発したプログラミング言語。COBOLでありながら画面設計などもできるのが当時衝撃的でした。現在はNetCOBOLという名称になっているそうです。
時代の流れでCOBOLを使わなくなってからは、VB 4.0、VBA(Excel,Access)などマイクロソフト社製のプログラミング言語を使うようになったり、Java、HTML、XMLなどのWebアプリケーション開発用のプログラミング言語を扱うようになりました。
これら以外には、Oracle製品を使うためのプログラミング言語であるPL/SQLやPro*COBOL、細かな所ではPowerBuilder言語、UNIX-Cなどで開発をすることもありました。
そして現在はMQL4というプログラミング言語を習得しようとしています。
■MQL4について
MQL4とはMetaTrader4(略称MT4)というアプリケーション上で動かすことができるプログラミング言語です。MT4とはロシアのソフトウェア会社であるMetaQuotesSoftware社が開発したFX(外国為替証拠金取引)のためのアプリケーションで、誰もが無料で利用することができます。
一般的にFXをする際、たくさんの情報が必要になってきますが、MT4ではこれらの情報を簡単に出力・分析することができ、またMT4上から実際に為替取引が行えるようになっています。更にMQL4を使うことで独自の出力や分析を行ったり、為替取引を全自動で行わせることもできたりします。MQL4はC言語をベースとしてつくられているプログラミング言語なので、C言語の知識があればそれほど習得は難しくないと思われます。
私がMQL4を習得しようとしたきっかけは、以前ある知人からMT4で自動売買のプログラムをつくってほしいとの依頼があったからなのですが、そのときは仕事が忙しくてなかなか対応できず放置していました。しかし、少し時間が取れるようになり、MT4やMQL4を調べていくうちにこれはこれで面白そうだと感じるようになり、現状は完全にプライベートの枠の中でサンデープログラマのようにやっています。
■プログラミング言語を習得しようとして気づいた2つのこと
一般的にプログラミング言語を習得するためには、文法や入力規約などを覚える必要があります。しかし、そこに埋もれてしまうとプログラミングの良さや楽しさはみえてこないような気がします。今回、まっさらの状態で一つずつMQL4をを習得していていったのですが、その中で2つの気づきがありました。
一つは、やっぱりプログラミングは動くからこそ面白いのだなぁということ。
テキストに書かれてあるサンプルコードを入力してプログラムを動かすときもそうですが、実際に自分が考えプログラミングしたソースコードをコンパイルし、思う通りに動いたときはやっぱり感動します。私にとってのプログラミングの面白さはここにあるような感じがしました。
だとすれば、プログラムを習得するには、動くプログラムをたくさんつくることに尽きるような気がします。その中で実現の方法が分からなかったり、うまく動かせなかったりする場合が出てきます。それらを一つずつ乗り越えていくことで、自分の中に少しずつプログラミングスキルが蓄えられ、やがて自分の手足のようにプログラミングができるようになるのだと思います。実際、私が過去に習得したプログラミング言語は皆そうでした。
そして、二つめは、プログラミングを楽しむのに年齢は関係ないということ。
私も社会人生活が人生の半分以上を占めるようになり、物覚えも悪くなったり、何か新しいことをするのがおっくうになってきたりするのですが、それでもプログラミングは楽しいです♪ そう、プログラミングを楽しむのに年齢は関係ないのだということがとても実感できました。
システム開発において上流工程などを担当する機会が多くなり、プログラミングの一線から離れてしまった方はたくさんおられます。しかし、ITエンジニアである以上、プログラミングの楽しさが身体の中に染みついている人もたくさんおられます。そういう方はぜひ一度、何でもよいのでプログラミングをやってみてください。プログラミングが楽しかったあのときの想いが蘇ってくると思います。それが、あなたを変えるきっかけになるかもしれません!