タグ

programmingに関するtwainyのブックマーク (161)

  • 理解することが書き直すことを意味するとき

    Jeff Atwood / 青木靖 訳 2006年9月18日 開発者に時間をどう使っているか聞いたなら、彼らはほとんどの時間コードを書いていると答えるだろう。 しかし、ソフトウェア開発者が時間を実際どう使っているか観察したなら、ほとんどの時間をコードの理解に使っていることがわかる。 ピーター・ハラムがこのことについて説明している。 どうしてコードを新規に書くより5倍もの時間をコードの修正に使っているのか? それは新規のコードはほとんどすぐに古くなるからだ。何か新しくコードを書く。コーヒーを飲んで一服する。すると突如として、コードは古いコードになっている。できたてのコードはせいぜい初期のデザインしか反映していないが、デザインの多くの部分は前もって現われるものではない。開発プロジェクトの多く が反復的開発手法を使っている。デザイン、コーディング、テスト、繰り返し。たくさんの繰り返し。すべてが新

    twainy
    twainy 2007/08/01
    コードの書き直し
  • 4TopCoder;夷藤さんのTopCoder問題をとりあげたブログ

    Love solving problems? Here's your chance to prove it.

  • プログラマから起業家へ転身する際の注意点:Geekなぺーじ

    「10 Tips for Moving From Programmer to Entrepreneur」 という記事がありました。 面白かったです。 要約してみましたが、間違っているかも知れないので詳細は原文をご覧下さい。 1. コーディングはあなたの仕事の5%でしかない コード書きに夢中になってしまう起業家がいます。 コードを書くことも重要ですが、いくら美しいコードを書いても、誰もその製品を使ってくれないのであれば意味がありません。 税金を払い忘れて逮捕されてしまったら書いたコードは無駄になります。 ソフトウェアのライセンスに無頓着であるために訴えられたら、コードは無駄になります。 ブログやフォーラムでコードの事ばかりを話題にする起業家を見る事がありますが、多くの場合、コードよりもビジネスの側面について考えた方が良いと思われます。 もちろん、コードについて語る方が簡単ですが、そもそも起業

  • Karetta|[お題] サンタクロース問題

    オリジナルは A new exercise in concurrency 問題はこんな感じ. ねぼすけサンタがいる.休日が開けて,9頭いるトナカイ全員が戻ってくるか,10人いるこびとさんのうち3人がやってきて起こしてくれるまでずっと寝てるというわけだ. 9頭組のトナカイに起こされたら,ハーネスをつけてソリを引かせてオモチャを配りに行く.配りおわったらトナカイたちのハーネスを外す.そしたらトナカイたちは休日だということでどこかにでかけてしまう. 3人組のこびとさんたちに起こされたら,会議をひらいて次期のオモチャをどうするかをこびとさんたちに伝授する.すんだらこびとさんたちは自分の仕事にもどっていく. トナカイ9頭組とこびとさん3人組が同時にサンタが起きるのを待ってる場合 にはトナカイの方を優先する. トナカイもこびとさんもまたそのうちに三々五々やってくる. 一旦やってきたトナカイは9頭揃っ

  • Concepts Principles - プログラミングの原則 - Concepts Principles - Top

    ここはプログラミングの原則を集める Wiki です。巨人の肩に乗って、ふつうの人がよいプログラムを書くための指針を集めたいなと思ってます。 目次 よいデザインのための Concepts + Principles DRY (Don'tRepeatYourself) 名前重要 直交性 トラッシュではなくクラッシュ DuckTyping よいルーチンを書く 凝集性 結合性 契約による設計 (DesignByContract) ルーチンを作る正当な理由 よいモジュールを書く 適切なモジュール性を確保するために守らなければならない5つの原則 開放/閉鎖原則 (OpenClosedPrinciple) よいアプローチのための Concepts + Principles 曳光弾 可逆性

  • ITエンジニアを襲う「新しいうつ」の正体とは? ― @IT自分戦略研究所

    ITエンジニアを襲う「新しいうつ」の正体とは?:ITエンジニアを襲う「新しいうつ」の正体とは?(2/2 ページ) ITエンジニアに効くサプリメント、ストレッチ では、調子の悪さを自覚したとき、ITエンジニアはどうすればいいのか。 ITエンジニアという特殊な仕事のために脳が栄養不足になり、ダメージを受けた状態には、それを修復するという意味でサプリメントの摂取が効果的だという。「脳の回復を助けるものの1つが大豆ペプチド。そしてもう1つがDHA(ドコサヘキサエン酸)。人によってはイチョウの葉やセイヨウオトギリソウ(セントジョーンズワート)も効くことがあります。また、卵黄レシチンも重要です」 ITエンジニアには目の疲れを訴える人も多いが、それには「アスタキサンチン、ルチン、ブルーベリーエキス」が効くという。「目が急速に悪くなる人がとても多い。目の疲れが肩のこりにつながることもあります。この3種は視

    ITエンジニアを襲う「新しいうつ」の正体とは? ― @IT自分戦略研究所
  • ⊂⌒⊃。Д。)⊃カジ速≡≡≡⊂⌒つ゚Д゚)つFull Auto | 落ち目のフリープログラマだけど何か質問ある?

    This domain may be for sale!

  • Geekなぺーじ:こんなあなたは駄目プログラマ

    「Signs You're a Crappy Programmer (and don't know it)」という記事がありました。 こんな人は自分が気づかないうちに駄目プログラマになっているそうです。 笑えました。 Java以外はいらない(知らない) 20行以上になる関数/メソッドには断固として反対する 何でもかんでも「デザインパターンだ!」 CPUサイクルは非常に貴重な資源であるというのが信念である。プログラミングスタイルと利用言語はいつでもその信念を貫いている。 関数/メソッド内に複数のreturnポイントはあってはならないと考えている 「ユーザが間抜けなんだ。自分のソフトウェアのせいでユーザが間抜けになっているわけがない」と思っている 書いた行数にプライドを持っている 似たような機能はコピペでサッと仕上げる エラー処理とは全てのexceptionをcatchして、logを取って、動

  • J - 新入社員が社内トップレベルとかいうはなし。

    なんだかんだあって、ずるずるいったあげく、明日が最終出社日。 今日明日がいままでだらだらやってきたツケみたいな感じ。まあ、なんかこんなギリギリな時期になって今までで一番失敗したみたいな感じになった。これが僕の三年間の態度の集大成としてはふさわしい姿なのかと思う。 それはいいとして(よくないのだけど)、引継ぎの人と話をする機会があって、その人が二年目で、会社的にはふたつ下、(僕が高専卒なので)年齢が一緒というひとで、どんな人かと思ってたら、なんか、非常に非常だったというか、「コンパイラとかわかりますか?オートマトンとか好きなんですけど」とかそういう話になってたとか。 ほげー。「Lispを勉強するとGoogleMap Reduceを理解するのに役立つとかRadium Software Developmentで読んだんですけど、Lisp勉強するのて役に立つんですか?」とかそんな感じのことを聞か

    J - 新入社員が社内トップレベルとかいうはなし。
  • ソフトウェア開発者のための推薦図書

    Code Complete 2 [ Code Complete第2版―完全なプログラミングを目指して (上・下) ] スティーブ・マコネルのCode Completeはソフトウェア開発者のための「楽しい料理だ。このを読むということは、自分の仕事を楽しんでいるということであり、自分のすることに真剣であるということであり、もっと向上したいと思っているということなのだ。Code Completeの中で、スティーブは平均的なプログラマが読む 技術書は年に1冊に満たないと指摘している。このを読んでいるという時点で、あなたはおそらく周りにいる開発者たちの90%と違う行動を取っていることになる。それもいい方向にだ。 私はこのがすごく好きで、ここから自分のWebサイトの名前(Coding Horror)を取ったくらいだ。このではやるべきでない悪い例には"coding horror"アイコンで印

  • kajidaiの日記 - 新しいプログラミング言語を習得するための15の方法

    ↓で紹介されてた新しいプログラミング言語を習得するための15の方法についてhttp://forums.programming-designs.com/viewtopic.php?pid=3482I've working knowledge of a bunch of programming languages but job demands to learn a new language frequently in a short time. Instead of reading hundreds manual/book pages, I quickly read 10-15 pages of tutorial or primer. (As you know google is the best search engine to look for such stuff). I keep p

  • 人力検索はてな - 有能なプログラマが嗜んでいる言語・技法・テクニックとは何ですか? この場合の、有能なプログラマの定義については以下のURLをご覧ください。 http--d.hatena.ne.jp-f..

    有能なプログラマが嗜んでいる言語・技法・テクニックとは何ですか? この場合の、"有能なプログラマ"の定義については以下のURLをご覧ください。 http://d.hatena.ne.jp/fromdusktildawn/20070217/1171679191 すなわち、「つまらない仕事の生産性」をあげるための手法を質問しているのだと思っていただいて結構です。 注意:上記のような「つまらない仕事の生産性」を上げるためには、もちろん心構えや生まれ持ったものも大きいでしょう。 それを答えていただいてもかまいませんが どちらかというと、技術的な面を聞きたいです。 プログラマを大工に例えるならば 一流の棟梁の道具箱に何が入っているのかを 聞いているのです。

  • 氷山の秘密、明らかに - The Joel on Software Translation Project

    Joel Spolsky ジョエル・スポルスキ 翻訳: Yasushi Aoki 青木靖 2002/2/13 「うちの開発チームのどこが悪いのか分からない」とCEOは心の中でつぶやく。「プロジェクトを始めたころには何もかもうまく行っていたんだ。最初の2週間チームは馬車馬のように働いて、ちゃんと動くプロトを作ったんだ。ところがその後は進み具合が這うように遅くなった。単に連中が怠けてるだけということかもしれん」。彼はキャラウェイ製のチタンドライバを選び、キャディに冷たいレモネードを取りに行かせる。「2、3人首を切れば、連中の尻にも火が付くだろう!」 その間、もちろん開発チームの方は何が悪いのか全然見当も付かない。実際何もまずいことはないのだ。彼らはスケジュール通りに進んでいる。 こんなことがあなたの身に起こらないようにすることだ!あなたの人生を百万倍も楽にしてくれる、こういう非技術系マネジメン

  • 分裂勘違い君劇場 - 大多数が余裕を持って暮らせる豊かな社会の作り方

    世界には、労働力マーケットが2つある。 高能率労働者マーケットと低能率労働者マーケットだ。 高能率労働者マーケットでは、慢性の人手不足のせいで、賃金が上がり続けている。 企業と労働者の力関係は、圧倒的に労働者の方が強く、 企業は、労働者に頭を下げて、お願いして企業に来てもらっている。 当然だ。 企業は、その労働者から、給料以上の価値を受け取るのだから。 交渉では、常に、より多くのメリットを相手に与える方が、優位に立つ。 当然、高能率労働者の待遇はすごくよい。 これは、単純な需給バランスの問題でもある。 需要が大きいのに、供給が小さいから、労働力の価値が上がっていく。 労働者がでかい顔をする。圧倒的なパワーを持つ。 一方で、低能率労働者マーケットでは、世界的に、労働者の数はどんどん増えている。 その需要を上回るスピードで。 そのせいで、賃金は下がり続ける。ワーキングプアに転落する。 これも、

    分裂勘違い君劇場 - 大多数が余裕を持って暮らせる豊かな社会の作り方
  • Martin Fowler's Bliki in Japanese - 大きな画面

    http://martinfowler.com/bliki/BigScreen.html 2006/12/16 ソフトウェア開発者の生産性を向上させるにはどうすればよいか? 私が長年使っている答えは、大きな画面を与えよというものだ。 これは、コンピュータを使用している人ならばどんな人にも当てはまることである。 15年前に「すべての開発者は21インチ以上の画面で仕事をすべきだ」と言ったときには、ものすごい勢いで驚かれたものだが、今は「20インチの画面を2つ以上使うべきだ」と言っている。 なぜこれが重要なのだろうか? 小さな画面を使っていると、一度に多くのことを見ることができない。 別のものを見るには、そのウィンドウを前面にもってこなければならない。 画面を2つ使えば、すべてを一度に表示できる。頭を横に振るだけで済むのだ。 Emacs上でタイプしているテキストと、firefox上にレンダーされ

  • http://just-humour.blogspot.com/2006/11/programming-languages-are-like-women-by.html

    twainy
    twainy 2006/12/03
    プログラミング言語を女性に例えてみている。Ruby on Railsって本当に良く言語扱いされるよなあ。
  • プログラミング言語の速度比較:Geekなぺーじ

    Gentoo : Intel Pentium 4 Computer Language Shootout」というプログラミング言語のベンチマークをしているサイトがあります。 このサイトでは、Linux入りPentium 4マシンを使って様々な言語で書いたプログラムのベンチマークを公開しています。 今回はC言語とC++,C#,Javaを比べてみました。 あと、その他言語もそれぞれ比べてみました。 グラフの白い棒がCPU時間を表しています。 白い棒が延びている側の方が実行速度が速い事を現しています。 黒い棒はメモリ利用量を表しています。 黒い棒が延びている側の方が省メモリです。 なお、以下のグラフは特定のベンチマークの結果だけであり、言語自体の優劣ではないので、念のため。。。 その他の言語の組み合わせも色々できるので興味のある方は試してみてください。 C言語 (gcc) vs C++ (g++

  • Technology ReviewによるBjarne Stroustrupインタビュー | El-ahrairahの日記 | スラド

    Technology ReviewにC++の創始者であるBjarne Stroustrupへのインタビューが掲載されている。 彼はC++が習得し辛く、使用し辛いという批判に対して興味深い意見を述べている。 以下は拙訳(意訳あり)。 Technology Review: なぜ多くのソフトウェアはそんなに粗悪なのでしょうか? Bjarne Stroustrup: 良いものもあります。Mars Rovers、 Google、 Human、 Genome Projectは高品質なソフトウェアです。15年前、こういうものを作るのは不可能だと思われていました。技術文明はソフトウェアに依存しているので、ソフトウェアがそんなにダメだったら我々はとうに滅びていたでしょう。 他方で、"平均的な"コードを見ると私はぞっとします。構造はひどいし、明らかにプログラマーは正しさやアルゴリズムやデータ構造、保全性につい

  • The Definitive ANTLR Reference

    About This Title Pages: 384 Published: May 2007 ISBN: 9780978739256 Out of Print The Definitive ANTLR Reference Building Domain-Specific Languages by Terence Parr ANTLR v3 is the most powerful, easy-to-use parser generator built to date, and represents the culmination of more than 15 years of research by Terence Parr. This book is the essential reference guide to using this completely rebuilt vers

    The Definitive ANTLR Reference
  • CodeIDE

    CodeIDE