ガジェット通信

見たことのないものを見に行こう

かっこいいプログラマ?

DATE: BY:
  • ガジェット通信を≫


今回はメカAGさんのブログからご寄稿いただきました。

かっこいいプログラマ?

「かっこいいプログラマが欲しいなあ」 2013年05月12日 『深沢克也の日記』
http://d.hatena.ne.jp/fkatsya/20130512/1368370842

なんか違う気がするんだよね。他人に評価されたくてプログラマになる人が仮にいたとしても、そういう人は職人的なプログラマにはならないんじゃ。

職人気質ってのは、基本的に割に合わないものにこだわることから始まるわけで、「人気者になりたい」という目的があるプログラマは、挫折するような(苦笑)。

なんかちょっと前にサッカー選手にプログラマを例えていた社長を思い出してしまった。

   *   *   *

割りに合わないことにこだわりまくって、無駄な技術を磨いた「結果」として、そこらのプログラマには容易に真似できない技術をみにつけるわけだよね。割りに合うなら、みんな一生懸命鍛錬するだろう。

むかし「256バイトプログラミング」というのがあった。機械語で256バイトの長さで、なにか面白い動作をするプログラムを作ることを競う。

BASICの「1行プログラミング」というのもあった。むかしのBASICというのは行にかなり依存したプログラミング言語。最近の言語たとえばC言語とかは、あまり行に依存しない。

たとえばプログラムの流れを変えるgoto文とかは、飛び先を行番号で指定するので、1行プログラミングでは使えない。ようするにいろんな「縛り」が出てくる。もちろん長さの制限もある。1行に書ける文字数は決まっていたので。

   *   *   *

文字数が決まっている俳句みたいなものだろうか。あいうえお50音を重複なく使って作る「いろは歌」にも通じるかもしれない。制限を楽しむわけだ。

かっこ良さを素人にもわかりやすく「見せる」なら、こういうジャンルではなかろうか。プログラムがわからない人は、使われているテクニックの凄さは理解できないだろうけれど、他のプログラマはこの程度のことしか実現できないが、このプログラマはこんなことまで実現できるという点はわかるはず。

   *   *   *

現代版だとどうなるのかな。詳しくは思い出せないが、フラクタルデータを使って、すごい雄大な地形の映像を、すごい小さなデータだけで生成したプログラムとかあったような。

あとはニコニコ動画とかで時々やってる「短時間でゲームを作る」みたいなもの?もしくは、パイ(円周率)をチープな環境で、いかに高速に計算するかとか。

   *   *   *

「かっこ良さ」とは何か?って問題になってくる。それは凡人にはできないことができるということ。たとえば1000人のプログラマがいたとして、特定の課題をクリアできるのが1人か2人なら、クリアしたプログラマはかっこいいのだ。

どうクリアしたか?とかクリアした具体的な方法は?とかは、観客には関係ない。クリアできた人数が少ないというのが重要。普通の課題だと技を凝らしてコーディングしても、陳腐なコーディングしても、表面的には課題をクリアできてしまうのが問題なわけで。

むかしのパソコン雑誌(共立出版のbitとか)に、ときどきそういう課題が出てたような。

   *   *   *

まあ、でもこういうのを見て「プログラマってすげーかっこいい。俺もプログラマになりたい」と思う人がいるものかねぇ(苦笑)。刀職人だって「かっこいい」「みんなから評価されたい」と思って、なったんじゃないと思うのだけどね。

世間の評価なんてどうでもいい。「技術を極めたいんだ」という自己満足な人が、職人なのではなかろうか。だから「早くプログラムを覚えるにはどうしたらいいですか」なんて聞いてくる人は、論外のような。あくまで仕事としてプログラミングするというならいいけど。

参考サイト:
「メディア」 2011年10月13日 『BackLog』
http://animaleconomicus.blog106.fc2.com/blog-entry-481.html

執筆: この記事はメカAGさんのブログからご寄稿いただきました。

寄稿いただいた記事は2013年05月15日時点のものです。

寄稿の記事一覧をみる ▶

記者:

ガジェット通信はデジタルガジェット情報・ライフスタイル提案等を提供するウェブ媒体です。シリアスさを排除し、ジョークを交えながら肩の力を抜いて楽しんでいただけるやわらかニュースサイトを目指しています。 こちらのアカウントから記事の寄稿依頼をさせていただいております。

TwitterID: getnews_kiko

  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。

TOP