Entry

いまさらながら「プログラマーへ64の質問」に答えてみたよ

2011年04月04日

プログラマーへ64の質問に答えてみました。

0.プログラマは何事も0からスタートするべきだと思いますか?

プログラムでもすべてが 0 から始まるとは限らないので,そうだとは思いません。

1.プログラマの定義は何でしょうか?

β版を作る人

2.あなたがいつもやることとは?

キーボードを叩くこと

3.あなたが絶対やらないことは?

秋葉原でオタクダンスを踊ること

4.あなたは2桁16進数を頭の中で10進数変換できますか?

知らないうちにできるようになっていました。

5.あなたはなぜプログラマになっちゃたんですか?

いろいろと深そうで浅い事情があって(実はなりたくなかった)。

6.あなたの好きなお菓子は?

大判焼き

7.あなたの体重を教えてください?

65 kg くらい

8.あなたの体型は?

普通です。

9.あなたの普段の服装は?

よれよれのジーンズにくたびれたシャツ

10.あなたは秋葉原で、真っ先にどこをチェックしますか?

秋月電子通商

11.あなたの睡眠時間はどのくらい?

平日は割と正確に6時間くらい。休日はぐっすり。

12.あなたの起床時刻と就寝時刻はいつ?

平日の早いときは,7:00 に起きて 1:00 就寝。遅いときは 8:00 に起きて 2:00 就寝。休日は 2:00 以降に寝て,15:00 くらいに起床,といった感じ。

13.あなたがはじめて使ったマシンは何?

初めて触ったのは NEC PC-9800(おじさんが使ってたやつ)。初めて自分で買ったのは PC-8801FE です。

14.あなたがはじめて覚えたプログラミング言語は何?

N88-BASIC です。

15.あなたはどんなゲーム機を持っていますですか?

最近のはあまり持ってません。PlayStation 3 くらい。レトロゲームは一式持っています。

16.あなたはデスクトップ、ノート、PDA、含めて何台マシンを持っていますか?

結婚してかなり捨てたので,7台くらいしかありません。

17.あなたの一番好きなプログラミング言語は何ですか?

ここ数年は C++ です。

18.あなたの一番の不満は何ですか?

ここ数年は,邦書技術書のレベルがますます低くなっているのが不満です。

19.プログラマをやっていると目が悪くなりますか?

多分悪くなります。あたしはプログラマになる前から悪いので,分かりません。

20.プログラミングをしているお父さんには女の子が産まれやすいって本当だと思いますか?

初めて聞きました。周りを見る限り,有意な差はないようです。

21.あなたとしてGNU/GPLをどう思いますか?

ある分にはあっていいと思います。制限がきついので,できれば関わりたくありません。

22.あなたにとってヒーローは?

高校生の頃から Jaco Pastorius がヒーローです。

23.あなたはBill Gates とLinus Torvalds と Bill Joyと R.M.S の誰を支持しますか?

Bill Gates はいろいろ言われているけれど,古き良きトラディショナルアメリカンのリベラリズムを実践している人だと思います。

24.あなたにオブジェクト指向は必要ですか?

オブジェクト指向的な考え方で開発する方が便利な案件のときは必要です。デバイスドライバやカーネルオブジェクトを開発するときに,オブジェクト指向は不要です。

25.あなたはデザインパターンを有効に使っていますか?

デザインパターンの意義・長所・欠点を踏まえて開発しているかという意味なら,そうしているつもりです。

26.プログラマといいますか?プログラマーといいますか?

「プログラマ」です。理由は特にないですけど。

27.あなたは吉田弘一郎 岩谷宏 藤原博文の誰を支持しますか?

白票でお願いします。

28.結城浩 柴田望洋は初心者の味方ですか?

入社後1年以内に辞める初心者プログラマを入社させるための強い味方だと思います。

29.あなたはプログラマ30年説を支持しますか? (オレハシジシナイ)

若い子が育たない業界なので,おじさん/おじいさんが頑張らないと回らなかったりするんですよね……。

30.言語の選定に失敗して白い灰になってしまった人を見たことはありますか?

言語の選定に成功も失敗もないと思うんですが。失敗するのは他に原因があるのでは?

31.プログラマとして食べていくにはやっぱりMSですか?

Microsoft 製品も UN*X も扱えるのがプロプログラマの常識です。つまらない理由でどれかに絞ると,それだけ食い扶持を減らします。

32.あなたが使うエディタは当然vi系?

vi も使うけれど,普段は Emacs 系のエディタです。

33.正規表現は必須ですか?

正規表現を書けなくても,正規表現を書くのと同じ工数で解析器を実装できるなら不要だと思います。そうでないなら必要です。

34.プログラマの名誉とは?

ユーザさんの好評をいただくこと。

35.プログラマの能力は出身学部や専攻に関係あると思いますか?

関係ありません。人手不足で業界の条件がゆるいですから。できない人にも単純作業の仕事が用意されています。

※「ソフトベンダに勤められるか」という話だと思い違いしてました。以下書き直し。
昔は関係あったのだろうけれど,今はどうだか微妙です。というのも,今時は個人が極めて低コストで本格的なプログラミング環境を構築できるからです。一方,大学や高専,専門学校の演習は,(外から見る限り)規模にしてもせいぜい数千ステップ程度なので,プログラマの能力云々以前のような気がします。プログラミングは教えてできるようになるものではなく,体で覚えるところもあるので,結局のところ本人の取り組みしだいだと思います。教育機関で身に付けられるのは,プログラマの能力とは別のもんだとも思います(あたしも法学部出身なので,よく分からないのだけれど)。

36.プログラマに数学はどの程度必要ですか?

初歩的な離散数学(高校生程度)は常識として知っている必要があると思います。解析系や代数系は,プログラマというよりその分野の開発を行う人には必要です。

37.プログラマとSEの違いを説明してください。

ありません。つか,分かりません。どっちの仕事も請けてるので。

38.プログラマの醍醐味は何でしょうか?

自分の腕次第で,最新の技術を低コストで開発できることだと思います。

39.プログラミングしすぎで日常の全てが頭の中でプログラミング言語に変換されることってありますか?

それは病気だと思います。

40.プログラマは将来、他業界のように資格制度が必要になると思いますか?

資格をたくさん持ってる割に簡単なシステムひとつ構築できない人もいれば,資格がなくてもバリバリ成果を出している人もいるところ見ると,資格と成果(生産性)が直結していないのが現状です。資格制度を導入するにしても,試験はペーパだけでなく,成果を踏まえた実践的なものである必要があると思います。

41.あなたは文書をMS Wordで書きますか? LaTeXで書きますか?

普段はテキストファイルで読みやすい感じに整形したものを文書にしています。MS Word や LaTeX は他のフォーマットに変換しづらいので直接使いません。ちゃんとした文書は DocBook で作るのがいいと思います(LaTeX にも HTML にも変換できるので)。

42.あなたは一日何時間プログラミングしますか?そのうち、仕事以外では何時間かけていますか?

やらないときは,まったくやりません。やるときは,15時間くらいだと思う。仕事以外では,平日2時間かけられればいい方。休みの日は6時間くらいだと思います。

43.あなたにとってコーディング以前の問題発見・問題定義は重要だと思いますか?実例があれば教えてください。

何を作るのか/何が正しいのかが分かってない人に,まともなもんは作れないと思っています。実例は山ほどあるけれど,会社にばれるとクビが飛ぶので言えません。某メーカーさんのシステムで,要件定義をすっ飛ばして製造を始めたら,burning ! burning ! とか。

44.あなたが使うブラウザは?

Mozilla の頃から Firefox です。

45.あなたの常食は辛いもの主体ですか?

おっさんなので,あっさり和風な味付けが好きです。

46.あなたの周りのプログラマには第一子目の流産率は高いですか?

失礼な質問!あたしの周りでは,みんな元気に産まれてますよ。

47.あなたがプログラマをしていることで友人・知人から感謝されたことがありますか?

友人が経営する事務所の電算周りを整備したので,感謝されました。

48.コンピュータまたはシステムに興味を持ったきっかけなどがありましたら教えてください。

テレビゲームのようなおもちゃに興味を持ったのと同じ動機です。当時,パソコンは「高価なおもちゃ」といった認識が普通だったので。

49.あなたは、お金に不自由しないとしても、プログラムを書きますか?

もともと趣味ですから。食い扶持とは切り離して考えています。

50.プログラマに一番大切な資質は何でしょうか。

些細な事にも疑問を感じることができることと,その疑問に対して興味を持って取り組めること。努力では得られない資質だと思います。

51.プログラマになりたい、という学生さんにアドバイス。

学生のうちにできることは,学生のうちにしっかりやっておくといいと思います。例えば,数学を独習するのは骨が折れるので,教えてくれる人がいるうちにちにちゃんと受けておくとか。

52.プログラマに英語は必要でしょうか。

日本には優秀な開発者がいるし,便利なソフトウェアもあるし,良書も多いので必須ではないと思います。しかし,海外にはもっと優秀な開発者がいるし,もっと便利なソフトウェアもあるし,もっと良い書籍もあります。

53.プログラマがやってはいけないこととは何?

他人のプログラムを独善的な感性のみでけなすこと。プログラムに書かれている記述は一義的であっても,その背景となる設計思想は多岐にわたります。他人の設計思想を尊重できない人は,協調して開発することはできないと思います。

54.イテレーター、連想配列、リストなどは言語がサポートすべき?ライブラリにすべき?

トレードオフするモノが,作るプログラムの要件上許容できるかによります。何のコストもなしに上の機能が言語機能として実装されるわけではない,とゆことを理解していることは必要だと思います。

55.アセンブラは書けないといけないですか?

アセンブリの開発をすることがなければ,書けなくてもいいと思います。C/C++ で食っていくなら書けなくても読める必要はあると思います。

56.はんだごては必要でしょうか?

必要ないと思います。ただ,一度自分で回路を組んでみると,コンピュータに対する理解が深まると思います。

57.自作機を作ったことはありますか?

お金がないので Cuppermine の頃から自作機を使っています。

58.何種類のプログラム言語を使えますか?

こまかいのも含めれば15種類くらいだと思います。

59.日本語文字コードについて、何派

なんでもいいです。今なら内部で UTF-32/UCS-4 を使ってもいいと思います。

60.I18N, M17N, L10N について言いたいことはありますか?

あまり聞かれなくなったということは,一般的になったということなんだろうな,と思います。

61.あなたはプログラマになってから言葉に敏感になりましたか?

昔から敏感です。コンパネとかコスパとか言ってるプログラマにはげんなりします。

62.他のプログラマに質問するとしたら、何と質問しますか?

プログラマがいなくなる日が来ると思いますか?それはどんなときですか?

63.あと一問残っていると思うか?

あるみたいですね。

64.この質問を入れるための変数初期化は new 質問[64]; でよいか?

言語仕様を教えてもらわないと分かりません。

65. 国が実施している情報処理の資格を持っていますか? それは何ですか?

ソフトウェア開発技術者とかプロジェクトマネージャとか持ってます。

66. 民間企業が実施している情報処理の資格を持っていますか? それは何ですか?

持ってません。

67. 資格取得にかかった受験回数は?

1回から2回です。

68. バッファや配列のサイズのチェックはプログラマの責任だと思いますか?

場合による(どこが管理しているバッファ/配列かによる)と思います。

69. 今(または将来)作りたいコンピュータソフトって何。

とある解析器を自律型で作ってみたいです。

70. 今までにつくったソフトで思いだされるエピソード。

燃え盛っている某システム構築のプロジェクトに放り込まれて,1画面10分のペースで80画面近く作るってのがありました(ビジネスロジックを含む)。テストは他の人がやってくれたけれども,集中すると意外とこのペースでもバグが正常値の範囲内に収まるということが分かりました(死ぬかと思ったけれど)。

71. この仕事していて、うれしい時ってどんなとき。

お客さんから「便利だねー!あれ!」といった言葉をいただいたとき。報われた感じがあります。

72. フリーウェア、シェアウェアを開発、公開したことはありますか?

実はあります。

73. 子供に(あるいは生まれたら)プログラムを教えますか?

やりたいと言ったら教えます。やりたいと言うように仕向けます。

74. 囲碁とか将棋、お好きですか。

嫌いじゃないです。好きでもないです。下手でもないし,得意でもないです。

75. お勧めのコンピュータ関係の書籍を挙げてください。(入門者向け)

『プログラミング言語C』,『プログラミング作法』,『UNIX プログラミング環境』

76. お勧めのコンピュータ関係の書籍を挙げてください。(ある程度できる人へ)

『コンパイラ』(ドラゴン本),『詳解 TCP/IP』,『Writing Solid Code』,『レガシーコード改善ガイド』

77. インベーダゲームを見たときどう思いましたか。

特に何も思いませんでした。ギャラガの世代なので。

78. MSと言えば? 1:マイクロソフト 2:モビルスーツ 3:シュレッダー 4:・・・

マイクロソフト

79. ・80. - 127.までの番号を私がふりました。こんなときスクリプトなどでチョコチョコっとプログラミングしますか。それともわたしのようにエディタでコツコツ派ですか。

書くにしても one liner なのでスクリプトを書くと思います。

80. 1000 と 1024 のどちらがきりがいいと思いますか?

1024 です。

81. 理解するのにてこずったコンピュータに関するトピックは?(ポインタとかOOPとか)

関数プログラミングやクロージャは一回挫折しました。C++ のテンプレートメタプログラミングも,書けるようになるまでしばらく時間がかかりました。

82. あなたの代わりはいますか。(いい意味での後継者的な人。)

いません。後継者を取れるほどの大物ではないので,どんどん飛び越してすごいものを作ってもらいたいです。そゆ人は身近にひとりいるので,今から楽しみです。

83. プログラミング(コンピュータ)の基礎はどこで学びましたか。

自分のパソコンとベーマガ(マイコンBASICマガジン)で身に付けたと思います。

84. どんな分野のプログラミングをしているのですか。

仕事では画像を中心にしたパターン認識/人工知能エンジンとか作っています。趣味では高速なウェブコンテナとか作ってます。

85. 得意な分野はなんですか。

最近,機械学習あたりが得意分野になってきた感じです。

86. インターネットの世界が広がったことで起きたお仕事への良い影響は。

情報交換をスムーズにできるようになったこと。

87. インターネットの世界が広がったことで起きたお仕事への悪い影響は。

何か問題が起きたときに,自分で考えないでネットに頼る人が増えたこと。

88. コンピュータ。こうなって欲しいと思うこと。なんですか。(メーカへ改善要望)

とりあえず,ノートパソコンからタッチパッドをなくして欲しい。ホームポジションから手を動かさなくちゃいけなくて,すごく使いづらいです。トラックポイントって IBM / Lenovo しか作れないんだったっけ。

89. 今まで生きてきた中で、一番熱中して取り組んだ事ってなんですか。

学生時代はドラムばっかやってました。

90. 障害発生時にはまずコアを見ますか。

まずログを見ます。分からなかったらコアを見ます(ちゃんと吐いてたらの話だけれど)。

91. 「一億円あげますので理想のハードウェアを作ってください」と言われたら、どんな仕様を要求しますか?(30万円の場合も)

タバコケースサイズで 128-way 64 cores の 64 bit CPU サーバとかどうでしょう。消費電力は高負荷時でも 20W くらい。騒音も高負荷時で 20db 以下。一億円じゃ済まないかもしれないけれども。30万円じゃ普通のパソコンなので,普通のでいいです。今ある PC では,HP Z800 のフルスペック版が欲しい(150万円もあれば買えると思う)。

92. 14Bitや9Bitのアーキテクチャをいじったことありますか。

ありません。

93. プログラマーの能力向上(維持)のため、こころがけていることありますか。

こころがけとかいった大それたものではないけれども,なるべく人のコードをたくさん読むようにはしています。昨日は ClearSilver を読みました。外からの刺激があると,自分のプログラムが,独りよがりなオレ様プログラムにならない気がします。

94. グラフィックスライブラリは何がよいですか? それは何故?

凝ったものが必要ないなら自分で書きましょう。不具合があっても自分で改修できます。

95. 移植性についてどのような気配りをしていますか?

移植する必要のないプログラムに過度の移植性を意識しないこと。

96. 現在のゲーム機の性能についてどのように思っていますか?

人間が今のところ考えうる面白いことを大きく凌駕した性能だと思います。

97. フロッピーディスクドライブは必要だと思いますか?

DSP 版の OS を買うとき以外,もう必要ないと思います。昔のパソコンがまだあるので,しぶしぶ持ってますが。

98. 楽器は弾けますか?(結構いるらしいです。自分も。)

高校/大学とバンドを組んでいたので,ギターとドラムとベースを演奏できます。キーボード(ピアノ)もバイエルくらいならできるけどへたくそです。トランペットをやろうと思って少し練習したけれど挫折しました。

99.あなたの家にはテープ式記録メディアがありますか?(なぜか家にはあった。)

ありません。初めて触ったおじさんのパソコンはテープメディアでした。

100. ロボット3原則をまねてプログラマ3原則を考えてみてください。
ちなみに、ロボット3原則は以下のような感じだったはずです。

  • (I) ロボットは人間を傷つけちゃあいけない。
      また人間が危ない目に会うのを見過ごしちゃあいけない。
  • (II) ロボットは人間の命令には従がわなきゃあならない。
      (ただし(I)が優先される)
  • (III)ロボットは自分自身を守らなければならない。
      (ただし(I)(II)が優先される)
  • (I)  プログラマは納期を守らなくちゃいけない。
      また納期に遅れそうなことを心にしまっておいちゃいけない。
  • (II) プログラマはクライアントの要件に従わなきゃいけない。
    (ただし(I)が優先される(追加工数/予算をもらうこと))
  • (III)プログラマはバグのない「いいソフト」を作らなければならない。
      (ただし(I)(II)が優先される)

嫌ですね。大人の世界って。

101. NEC PC-98は好きですか?

好きです。2代目のパソコンが PC-9801DS で,プログラムを書き始めたのもこのパソコンからだったので,思い入れもあります。

102. Appleはこの後どうなると思いますか?(未来にはこの質問は消えるかな。)

Apple は不滅です(半笑い)。

103. 紙と鉛筆は使いますか?

鉛筆は最近使いません。ボールペンと紙はよく使います。

104. インターネットの接続環境を教えてください。

この前まで FTTH だったけれども,最近は CATV と FTTH のハイブリッドです。メタル同軸線で速いのなんのって。

105. 定期的に購入しているプログラミングに関する雑誌はありますか?

ありません。とゆか,技術者向けのプログラミング雑誌はもうほとんどありません。MSDN Magaine は定期購読しようと思ってます。

106. プレゼンテーションをするとき、どんなアプリケーションを使いますか?

プレゼンテーションをする機会はあまりないけれど,Microsoft PowerPoint を使います。簡単なプレゼンテーションなら,PDF をでかく表示するだけで済ませています。

107. gifファイル形式の特許問題をどう思いますか?

今振り返ると,牧歌的な世界の牧歌的な問題だったと思います。

108. プログラミング言語仕様そのものを作りたいと思ったことはありますか?

あります。とゆか,仕事で作りました。

109. プログラミング言語仕様そのものを作ったことはありますか?

あります。簡単なやつですけど。

110. 「もう時代遅れになってしまったなぁ」と思う技術があったら挙げてください

GA や GP って,まだやってる人いるんでしょうか(GA:遺伝的アルゴリズムのこと)。

111. お仕事をしていて虚しさを感じることはありますか? それはどんな時ですか?

Makefile を書けない上司とか見ると,何でこんなとこいるんだろと思うこともある。

112. コントロールキーの位置は A の隣にあるべきでしょうか?

Emacs 系エディタを使っているので,あると助かります。なくても強制的にアサインしています。

113. @はPの隣でしょうか? Shift+2 でしょうか?

どっちでもいいです。自宅のキーボードが英語101で,仕事のキーボードは日本語109なので。

114. セキュリティ面で心懸けていることはなんですか?

一般的に言われていること以上のことはしていません。

115. 公開鍵があったら教えてください。

いいですよ。

116. 音楽をコンピュータ内で保存していますか? その場合のフォーマットは?

手元のモノは先日すべてコンピュータに保存しました。Apple ロスレス圧縮で保存しています。

117. gnutella等のソフトを使ったことありますか? どう思いますか?

あります。ネットワーク的にもハードウェア的にもまだ負荷が高い分野だな,と思います。

118. 著作権法第15条第2項にある「別段の定め」をしたことがありますか?(法人の業務として行ったプログラミングの著作者をその法人にしなかったこと、の意)

ありません。

119. プライベートな通信環境は何ですか(ADSL,ISDN?)。それについて何か要求はありますか?(104とかぶってまし)

104 を参照してください。

120. IPv6推進派ですか?。そのための具体的な努力があったら教えてください。

移行するなら早くしろよとは思います。

121. Endian について何か言いたいこと有りますか?

くだらない喧嘩に参加するつもりはありません。

122. 一緒に仕事をする上で最低限知っていて欲しい用語(term)を列挙してみてください。

「ありがとう」と「ごめんなさい」。知らない新人君はかなり多いです。開発で使う用語は,自分で身に付けるなりその都度教えてもらえばいいと思います。

123. プログラマーへお薦めしたいメーリングリストがあったら教えてください。

C/C++ な方には cppll がお勧めです。LL の開発者向け ML も勉強になると思います。

124. 御自身のウェブサイトをお持ちですか?

はい。このサイトです。

125. 構造化、オブジェクト指向、の次に言語の波は来る/来ていると思いますか?

関数型言語が局所的に人気なようですけど,どうなんでしょう。

126. 在宅勤務ですか?

いいえ。

127. ムーアの法則(コンピュータの性能は18ヶ月ごとに2倍になる)はいつまで続くと思いますか?

64bit 環境や many cores 環境に対応できるベンダやプログラマにとっては,当分続くと思います。そうでないベンダやプログラマにとっては,もう終わってます。

128. プログラマーは無精な人が多い?

そうでもないと思います。プログラミングができるプログラマは,プログラムを組んで手数を少なくできるので無精に見えるかもしれません。

129. あなたにとってプログラミングとは?

周りで重宝がられている趣味です。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN