2012-03-06

バイトをはじめることにした

そろそろ食費にすら事欠くようになったのでバイトをすることにした。一日数時間の掃除だ。おそらく、C++本の執筆にはさほど影響しないだろう。

結局、結果からいえば、当初の目論見であった、貯金の続くうちに、全力でC++本を完成させるというのは、無理だったわけだ。やれやれ、最初から働きつつ執筆すべきだったのか。

C++本は、ようやくオーバーロード演算子まで進んだ。といっても、途中のBasic Conceptsに当たる部分は飛ばしたし、コピーとムーブも飛ばした。コピーとムーブはどう書けばわかりやすくなるのか分からない。純粋なコア言語機能だけ説明してもわかりにくいし、かといって、プログラミングテクニックまで説明するのは本書の範疇ではないように思う。コア言語に絞ってさえこの分量なのだから、最初の壮大な野望通り、標準ライブラリまで手を広げようと思ったら、いつまでかかるか分からない。

そもそも、一冊のまとまった本という形式が、もう時代遅れなのかもしれない。まとまった本を書くには何年もかかるが、その間に技術はさらに先にと進んでいる。この数年、C++の規格を読み、C++の文法と機能を考え、いかに短いサンプルコードでC++の言語機能を説明するかという、参考書を書くための能力ばかりに苦心してきたので、コーディングからだいぶ離れてしまった。最近のプログラミングの環境や、その周辺の支援ツールなどの状況にも疎くなっている。

つまり、私は、どんどんプログラマーとして劣化しているのだ。何とかしなければならないが、なんともならない現実もある。私は日本のC++プログラマーを済度するべく努めてきたのに、全然うまくいっていない。

理想をいえば、本物のC++プログラマーとして働きつつ、余暇に、ブログでC++について書くべきだった。そうすれば、最新の技術から取り残されることもない。完全な本を書き上げるのは無理だが、短い記事なら書ける。いまだにこのブログの昔のC++記事にも検索から飛んでくる人間がいることから考えても、昔、拙い知識で書いた記事の方が、よほど日本のC++プログラマーの役に立っている。あるいは、執筆中の本をGFDLのような自由なライセンスで公開して、一人ではなくコミュニティで作成する自由な著作物として発展させていくべきだったのかもしれない。直接に金銭的な利益は得られないとしても、より優れた日本語のC++のドキュメントが得られる。その方が、よほど日本のC++プログラマーを利する結果になっただろうに、ああ、失敗した。

問題は、私の働くべき職場がないのだ。本物のC++プログラマーを必要とする職場が日本にないのだ。かつて何社も求人広告をあたってみたが、C++を本気で使うような職はみつからなかった。たとえあるにしても、新卒既卒のお手軽学歴フィルターを採用しているので、私などは門前払いなのだ。学歴フィルターがなかったとしても、本物のC++プログラマーを必要とする仕事は、C++以外の高度な技能、自然言語処理とかコンパイラーとか3Dプログラミングとか数学とか物理学とかを必要とするので、結局、私では役に立たないのだ。詰んでいる。

一体どこで間違えたのだろう。英語を学んだことに問題はないはずだ。C++を選んだことにも問題はないはずだ。C++の他に許せる言語はJavascriptしかなかったが、Dartのある今、Javascriptはすみやかに滅ぶべきである。新しい技術を学ぶことにも抵抗はないが、どうも好みが激しい。JavaやObjective-Cなどは死んでも使いたくない。これでは、まともな仕事が見つからないわけだ。

おそらく、ソーシャルが理解できないというのが問題なのかもしれない。私はいまだにTwitterをやらないし、ソーシャルゲームなど見向きもしない。携帯も嫌いだ。少なくとも、携帯というプラットフォームが囲い込みをやめ、自分の所有するコンピューターの動作を自分で検証できるようになり、すなわちPCと同じぐらい自由になるまでは、携帯は嫌いだ。私は時代に遅れているのだろうか。Twitterの興隆は、情報をあまりにも細かくしてしまった。情報は140文字で表されるため、ブログのようにまとまった文章にならないし、検索もしにくい。ソーシャルゲームは・・・ゴミだ。あんなものは本当のゲームではない。そりゃ、実装には技術的な困難もあり面白いかもしれないが、ゲームとしては面白くない。パチンコにハマる客層を相手にしているのだ。擬似乱数と喜んで戦い、数字がゆっくり加算されていくのを眺め、デフラグ画面を楽しむような人種のためのものだ。もっとも、私の好きなゲームのプラットフォームはスーパーファミコンなので、やはり古い人間なのかもしれない。それにしても・・・。

ともかく、好むと好まざるとにかかわらず、今、技術的に面白いことは、ソーシャル系のサービスに集中していることは事実だ。しかし、私にはソーシャルが理解できない。ああ、言うをやめよ。

5 comments:

  1. open source な c++ の library project を公開して始めるところからスタートするのは、どうだろうか?
    例えば boost::xml を目指す(これは、ボリューム的にしんどい)、boost::rfc で、boost::asio + boost::spirit を使ったプロトコルの実装。どちらも待ち望まれているはずだし、書いていけば実績を認められて、仕事につながるかもしれないし・・・

    ReplyDelete
  2. 東京ですけど、こういう募集がありました
    https://twitter.com/#!/Ken_Nakamura/status/174834756943491073

    ReplyDelete
  3. 東京には住んでいないし、いまどきC言語は強いられたくないですな。

    ReplyDelete
  4. http://aiming-inc.com/ja/
    僕の勤め先なのですが学歴よりも実力重視ですし、大阪スタジオではオンラインゲームのサーバーはC++で書かれており、他技能も勿論必要ではあるのですが比較的C++に集中できる職場ではないかと思います。
    江添さんがご存知のC++erも数名一緒に働いていたりしますので、もし興味がありましたら一度見学などはいかがでしょうか?

    ReplyDelete
  5. 大阪なら通勤できる範囲ですね。
    しかしソーシャルゲーム・・・・時代なのかな。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.