プログラマーに適した性格


自分も昔,似たようなことを書いたことがある.

「技術者とは、自分が楽をするためになら如何なる苦労も厭わない人間のことである」

http://d.hatena.ne.jp/JavaBlack/20050729/p2

そういう感じのことを言ってる有名人もいたはず.(後述)


そのうえで,この手の文章では単語のニュアンスを正確に翻訳するのが凄く難しいんだけど,ちゃんと正しく翻訳されてるんだろうか.


たとえば「愚かな」の部分は原文では"dumb"になってるけど,dumbには「馬鹿な」の意味もあるけど「口のきけない」「無口な」の意味もある.はたして正しい訳なのだろうか.「愚か」と言いたいのならstupid やfoolishを使えば良かったのではないか.「ペラペラ喋らずに,黙々と仕事を進める人」みたいな意味ではないのか.

「優秀なプログラマー」の部分も「Good Programmer」なので,実は(優、良、可、不可の可の意で)「良いプログラマー」くらいの,もっと軽いニュアンスだと思う.


斜め読みした感じだと、"Why Good Programmers Are Lazy and Dumb" は「なぜ,良いプログラマーは『怠け者』で『泥臭い』のか?」くらいのニュアンスに思える。たとえば原文ではSmartがDumbの対義語として使われていたし,Dumbに対する描写も日本語だと「愚かな」よりは「泥臭い」(或いは愚直くらい?)の方がしっくりくる.

またタイトル部のように「LazyでDumbで『あるほど』優秀なプログラマーになる」とは言ってなかったように思う.あくまで「良いプログラマーはLazyでdumbである」と言ってるだけでは.

さらに言えば内容にはアチコチにツッコミどころがあって,かつ最後に,

And of course this is only half the truth, too...

みたいな逃げ道を用意している.これは,あんまりマジメに受け取らん方がいいね.



コメントより,

Michael Krelin [PersonRank 1]
8 years ago #

Muhammad, programming is a troublemaking process, troubleshooting is called debugging.

On a second thought I think the article has nearly nothing to do with programming. All the valid points equally apply to other areas.

http://blogoscoped.com/forum/9826-full.html

トラブルシューティング(解決)のプロセスがデバッグ.プログラミングはトラブルを作り込むプロセスのことだ.例の記事プログラミングについては触れてないよ.全部違う分野じゃねーか(意訳)」とのこと.

http://b.hatena.ne.jp/entry/gigazine.net/news/20130729-reasons-good-programmer-must-be-lazy-and-dumb/

  • id:John_Kawanishi Programmerの三大美徳は・怠惰(Laziness)・短気(Impatience)・傲慢(Hubris)

Three Virtues

According to Larry Wall(1), the original author of the Perl programming language, there are three great virtues of a programmer; Laziness, Impatience and Hubris

  1. Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don't have to answer so many questions about it.
  2. Impatience: The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to.
  3. Hubris: The quality that makes you write (and maintain) programs that other people won't want to say bad things about.


(1) Quoted from "Programming Perl", 2nd Edition, O'Reilly & Associates, 1996

Programming Perl: Unmatched power for text processing and scripting (English Edition)

Programming Perl: Unmatched power for text processing and scripting (English Edition)

http://threevirtues.com/
  • id:yukkesan 釣りタイトルだし、薄っぺらい内容。「高度なレベルの問題が発生していると思いがちな賢いプログラマー」って、それ賢くないって…。基本が出来てないだけで。
  • id:deep_one 怠け者であるのはよく言われるが、愚かでは無理。/「賢い人の行動」として書かれている内容が基本的に「愚か者の行動」なのだな。「小賢しい」とでもいうべきか。
  • id:samidareshikidesu 怠けものだったら、便利なツールやソフトをそもそも作成しないんだよ。だから、これはただの優秀なプログラマーの話
  • id:Sinraptor 「優秀なプログラマーは「愚かすぎる人」と「賢すぎる人」のちょうど中間」 何か言っている様で何も言っていない典型のような文章だな。
  • id:kouzukek 原文からそうなのか訳に問題があるのかは分からないけど、賢いということを履き違えてる気がしてならない

たぶん原文もそんな感じ.和訳の際の編集で,さらに酷くなってる感はあるけど.

*1:元ネタは2005年?