いろいろな仕事を渡り歩き、今はインフラ系エンジニアをやっている。いろんな業種からの視点も交えてコラムを綴らせていただきます。

C++なんて書ける気がしないというエンジニアへ

»

■C++挫折歴

 私には、がむしゃらにいろいろなソフトを弄くり回していた時期があった。当時、ちょっとばかりHTMLやらVBSが書けたので、Webの情報を頼りに、C++を弄りだした。当時、C++を使えば楽々GUIのプログラムが組めると思っていた。ライブラリとか、そういうものの存在すらよく分かっていなかったので、”Hallow World”止まり。GUIのプログラムを組むことができなかった。これが1度目の挫折。

 しばらくして、Visual Studioというものの存在を知った。当時、「VB?それ、スキル低い人用の簡単言語だろ。」なんてナメていたので、迷わずVisual C++を選んだ。そしてあまりの複雑さに撃沈。ナメてかかっていたVBすらよく分からなかった。ただ、ボタンが一つ付いたアプリケーションを作り、これをとどうすれば何か動くのか途方にくれていた。そんな事を定期的に繰り返していた。

■運命の出会い

 プログラムが書けないので、私は自然とインフラ系のエンジニアへと流れていった。いろいろな現場を流れて、その先でPHPを書くエンジニアに会った。当時の私にとって、それは一つの解決だった。GUIなんて書かなくていいじゃないか。HTMLで表示すればGUIなんて必要無いじゃないか。そう思った。

 以来、スクリプト言語をいろいろかじるようになった。AccessのVBAを使えば、結果、GUIのアプリケーションっぽいものを作れる事に気づき、GUIのプログラムを書く事を目指すのをやめた。CとかC++なんて旧人類の遺産だ。そんなのやってる奴はダサい。そんな風にも思い始めた。

■そして転機が訪れる

 至る現在、当時とは比べ物にならない位に知識と経験を積んだ。サーバ系の技術では当時のように迷うことは無くなった。だが、どうしても自分のやりたい事のできるソフトウェアが無いことに気づいた。

 誰かが自分と同じ発想をして、その中の更に誰かがソフトを作って普及させてくれる。そんな都合のいいことは起こらない。自分の思い描くものは、自分で書くしか無い。そう思った時、昔諦めたGUIのアプリケーションの事がふと頭に浮かんだ。

 GUIのアプリケーションを組むのを諦めたと言いつつ、ふと思い出しては本屋で立ち読みしたり、ネットで情報を見ていたりした。ちょっとした閃きをきっかけに、Qtというライブラリでコードを組む事を思いついた。そして、当時どうやっても動かなかったGUIの画面が動いた。私の中でちょっとした技術革新が起きた。

■時間で解決できる問題もある

 GUIのアプリが組めるようになったきっかけは二つあると思う。少しの努力の継続と、長い時間だ。分からないままで全力で立ち向かっても、理解出来ない焦りに疲労してしまう。分からない事を少しずつ、時間をかけて解決していくというアプローチで、GUIでアプリを組むという目的を達成できたのだろう。

 あと、長い時間が過ぎることで、当時は無かった便利なIDEやツールがたくさんでてきた。Web上の情報も充実した。これも大きかったと思う。また、時間をかけることで、自分の中で持っていた変な拘りもなくなってきた。おかげで、変な先入観や思い込みを捨て去る事ができた。

 今更、C++でGUIのアプリケーションを書けるようになったとしても、どれほどの物ができるかも分からない。稼げるスキルとして考えたなら、正に無駄な努力と言えるだろう。だが、大きなテーマを一つ解決したという実績としては大きな成果だ。直接稼ぎに繋がらなかったとしても、間接的に問題解決に繋がるノウハウにはなり得る。もし、同じようにC++に挫折した人がいたら、これを読んでもう一度挑戦する勇気がわいたなら嬉しい。

Comment(1)

コメント

仲澤@失業者

C/C++専門なので逆にスクリプト系はまったくわかりません。
VBも6.0までは使ってましたが、もう触る機会もありません。

最初のGUIプログラムと言えるものはWindows2.1用に作りました。
確かにメインのウインドウが表示できるまでのコードは理解不能で、
それまでのDOS用アプリの簡単な手順に比べると
「なんでこんなに複雑なの」ってな感じでまいりました(とほい目)。
次に理解不能に陥ったのは、言語がC++になり、MFCのコードを見たときでした。
やばいと思いましたねぇ(vv;)。
三回目はSTLでした。これは現在でも読みきれません。利用はしますけど。

何度もこういう目にあっていると困難に慣れてしまうのかもしれません。
最近の山は、C++11でのラムダ式で、じじいの頭には難物ですが、何か楽しそうです。
そう言えばつい先日、Mac用の新言語Swiftが発表されましたが、
これも試してみたいですね(ただし、暇があったら)。

コメントを投稿する