タグ

programmingに関するiteのブックマーク (52)

  • プログラマーには、コーディングの生産性で10倍、コードレビューの速度では6倍もの能力差があるという

    プログラマーの生産性をテーマにした有名な著書「ピープルウェア」には、最も優秀なプログラマと最低の成績のプログラマのあいだには約10倍にあたる生産性の違いがある、というデータが出てきます。 これは、1984年から1986年にかけて92社、延べ600人が参加したプログラミングコンテストのデータを分析した結果から導き出された結果で、課題として与えられたプログラミング作業の開始からコンパイル時のエラーを消すところ(第1チェックポイント)へ到達するまでにかかった時間を比べています。 グラフを見ても分かるように、最優秀者と最低者のあいだには作業時間にして約10倍のひらきがあります。また最優秀者は平均の約2.5倍の生産性だそうです。そして、COBOLやFortranのような旧世代のプログラミング言語と、PascalやCのような現代的なプログラミング言語でのコーディングでの生産性はほとんど同じであったそう

    プログラマーには、コーディングの生産性で10倍、コードレビューの速度では6倍もの能力差があるという
    ite
    ite 2010/03/14
    Cの時代で10倍という話。単純にコーディングのスピードなら、LL使えるか否かだけでさらに2~3倍違いそうだ。そしてコードの価値が何倍かを計算しようとするとNaNが返ることになるだろう。
  • PHP、Perl、Ruby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」:phpspot開発日誌

    PHPPerlRuby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」 2010年03月11日- Run This! PHPPerlRuby、C、C++等40以上の言語をブラウザで実行できるようになるjQueryプラグイン「Run This」。 ブラウザ内の<pre>コードで記述した部分を、その場でそのまま動かすことができ、うまくサイトに組み込めばより訪問者にとってわかりやすいページを作ることが出来そうです。 例えば、PHPの入門サイトなんかでは挙動を一瞬で確認できてしまいます。 具体的には以下の言語に対応しています。 Ada, Assembler, AWK, Bash, bc, Brainf**k, C, C#, C++, CLIPS, Clojure, COBOL, Common Lisp, D, Erlang, Forth

    ite
    ite 2010/03/11
    面白そう。
  • 第3回 勉強会に行ったら世界が広がりました | gihyo.jp

    連載では、現在執筆中の技評SE選書には掲載していない、オリジナルのコンテンツをお届けしています。IT技術者が勉強をする場合のゴールとして、技術を身につけて自由自在にその技術を使えるようにする、というものがあると思います。今回はそれとは別の到達点として「転職」を取り上げたいと思います。勉強会を通じて適職を見つけ、転職をした人が周りに何人もいます。彼らを見てみると、転職が成立した条件として、次の3項目の共通項がありました。 実力、もしくは将来のための勉強の習慣を身につけた 自分の実力や将来性をきちんとアピールできた 受け入れ側のニーズとマッチした 今回は、勉強会に参加し転職のチャンスを掴んだお二人と、その転職先の社長さんを加えた三人の方々に、勉強や勉強会について語っていただきました。話に夢中で写真を撮り忘れました。文字ばかりですみません。 佐藤治夫さん(twitter:@haru860)株式

    第3回 勉強会に行ったら世界が広がりました | gihyo.jp
  • amachang - JavaScript 入門

    プログラミングのこつ 無駄な名前を極力使わないこと。意味単位に名前空間を細かく階層的に分離すること。 ここで言う名前空間とは 名前空間とは、一つの名前が一意のものを表す空間。例えば、大きな目で見れば、日語は自然言語の名前空間である。また、専門用語なども名前空間と考えることが出来る。 日語 { コンニチワ = 挨拶 : : } 中国語 { ニーハオ = 挨拶 } 英語 { ハロー = 挨拶 } また、名前空間は重なり(優先順位)を持つ 同音異義語などの言葉は、それぞれの細かい名前空間の重なりによって一意のものに特定されると考えられる たとえば、「コイが好き」と言った場合 池に関する名前空間 { コイ = すいすいパクパク } チャライ話題に関する名前空間 { コイ = ドキドキきゅんきゅん } お茶に関する名前空間 { コイ = にがーい } 名前空間の優先順位を考えると、一意の意味を知

  • Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介

    Perl基礎文法最速マスターをだいたいそのまま、Rubyに置き換えてみました。 他の言語をある程度知っている人はこれを読めばRubyの基礎をマスターしてRubyを書くことができるようになる…かも知れません。無保証です。 参考: オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.9.2) オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.8.7) ■ 1. 基礎 インタラクティブRuby (irb) irbを使うと、Rubyのプログラムを簡単に練習することができます。 /Users/yhara $ irb irb(main):001:0> puts "hello" hello => nil irb(main):002:0> 1 + 1 => 2 以下の説明は、irbを起動して、自分で試しながら読むと習得が早いと思います。 表示 (print,

    Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介
  • 60分間プログラミングが面白い - 未来私考

    ニコニコ動画で人気のあるジャンルの一つに「描いてみた」というものがあります。イラストを制作する過程を高速再生して徐々に絵が完成していく様子を楽しむというものですね。合間合間に小ネタを挟んだりBGMに併せてみたり、人気のある動画は数十万再生を誇るものもありますね。 描いてみたとは (カイテミタとは) [単語記事] - ニコニコ大百科 人気の「描いてみた」動画 84,791 - ニコニコ動画 個人的なお気に入りはこのあたり。 今回紹介する動画はそのプログラミングバージョンとでもいうべきもの。実況しながら約60分で実際に遊べるゲームをプログラミングをしてしまおうというもの。 第1弾はJavascriptによるオセロの作成。メモ帳でサラサラとコードを記述しながらみるみるとプログラミングが完成していくのがとても心地よい。 第2弾はWindowsアプリケーション環境でのテトリスの作成なのですが、これ

    60分間プログラミングが面白い - 未来私考
  • 類似画像検索システムを作ろう - 人工知能に関する断創録

    C++版のOpenCVを使ってカラーヒストグラムを用いた類似画像検索を実験してみました。バッチ処理などのスクリプトはPythonを使ってますが、PerlでもRubyでも似たような感じでできます。 指定した画像と類似した画像を検索するシステムは類似画像検索システムと言います。GoogleYahoo!のイメージ検索は、クエリにキーワードを入れてキーワードに関連した画像を検索しますが、類似画像検索ではクエリに画像を与えるのが特徴的です。この分野は、Content-Based Image Retrieval (CBIR)と呼ばれており、最新のサーベイ論文(Datta,2008)を読むと1990年代前半とけっこう昔から研究されてます。 最新の手法では、色、形状、テクスチャ、特徴点などさまざまな特徴量を用いて類似度を判定するそうですが、今回は、もっとも簡単な「色」を用いた類似画像検索を実験してみます

    類似画像検索システムを作ろう - 人工知能に関する断創録
    ite
    ite 2009/10/04
    これだけ単純な方法でも、それなりに似ている画像がでてくるものなんだな。
  • オープンソースソフトウェアの育て方

    製作著作 © 2005-2013 Karl Fogel, 高木正弘, Yoshinari Takaoka(a.k.a mumumu), under a CreativeCommons Attribution-ShareAlike (表示・継承) license (3.0, 2.1-jp)

  • アポロ11号のソースコード - Radium Software

    Google Code Blog - Apollo 11 mission's 40th Anniversary: One large step for open source code... アポロ11号の月面着陸から40周年ということで,最近やたらとアポロ計画関連の話題を見かける。そんな中,アポロ計画にちなんだ話題として Google Code Blog に投稿されたのが上のエントリー。 Google Code 上で公開されている Virtual AGC and AGS プロジェクトの中に, NASA のハードコピーから転記された物の AGC (アポロ誘導コンピュータ)のソースコードがありますよ……とのこと。 このソースコードには,オリジナルのアセンブリコードに記されていたラベルやコメントまでしっかり転記されている。それらの記述に目を通していると,そのコードを書いた人の考えや気持ちが伝

    アポロ11号のソースコード - Radium Software
    ite
    ite 2009/07/28
    プログラマには良くある悪戯なのに、なんだか歴史の重みを感じてしまったのは、やっぱりアポロの力だろうか。
  • iPhone 5 black like | ポスターマップ | Castle104, LLC

  • ドイツのプログラミング大会の優勝作品:アルファルファモザイク

    編集元:ガイドライン板「638 名前:水先案名無い人 投稿日:2009/04/17(金) 15:33:16 ID:tiYVFzCJ0」より 226 ウンナンオウバイ(静岡県) :2009/04/15(水) 18:40:47.19 ID:feyVAFxN 4キロバイト部門の優勝作品 容量制限なし部門の優勝作品 とくに上のほうはマジキチレベル。音楽もグラフィックもプログラムも全部まとめて たった4KBのプログラムにしてる。

    ite
    ite 2009/04/18
    映像も音楽も少ないデータから生成しやすそうな感じではあるが、4kBって想像を絶するな。しかし4kB部門があるってことは、他にも作ってる人がそれなりにいて技術も確立してるんだろうか。楽しそう。
  • ラムダ計算とチューリングマシンの違い 2009-04-13 - きしだのはてな

    ぼくもYコンビネータがわかるようになるまではそうだったのだけど、Yコンビネータを使うとどのような処理ができるのかがよくわからなくて悩んでいる人が多いように思う。他の人のブログを見ても、名前をつけずに再帰ができるのがすばらしいとか書いてあったりするのだけど、それによってどういう処理ができるのかわからずにいた。 結論をいえばYコンビネータには、なにかの処理を便利にする能力はない。関数であらゆる計算ができるということが示せれば、あとは用なしだ。理論の礎としてうまってしまえばいい。 結局、Yコンビネータによってどのような処理ができるかというのは、ラムダ計算の要素のメリットをチューリングマシンの中に見出そうとしてるといえる。 ラムダ計算とチューリングマシンは、どちらも計算モデルという点では一致しているけど、全く違う。 無限であるか有限かの違いといってもいい。 チューリングマシンでは、データの量と処理

    ラムダ計算とチューリングマシンの違い 2009-04-13 - きしだのはてな
    ite
    ite 2009/04/13
    面白かった。計算能力は等価でもアプローチの違いがこういった見え方の違いをもたらすんだな。
  • Perlでアニメ顔を検出&解析するImager::AnimeFace - デー

    というのを作ったので自己紹介します。 2月頃から、コンピュータでアニメ顔を検出&解析する方法をいろいろ試しつつ作っていて、その成果のひとつとして、無理やり出力したライブラリです。 はじめに はじめにざっとライブラリの紹介を書いて、あとのほうでは詳細な処理の話を僕の考えを超交えつつグダグだと書きたいと思います。 Imager::AnimeFaceでできること Imager::AnimeFaceは、画像に含まれるアニメキャラクター的な人物の顔の位置を検出し、さらに目や口など顔を構成する部品位置や大きさの推定、肌や髪の色の抽出を簡単に行うことができるライブラリです。 これらが可能になると、 画像から自動でいい感じのサムネイルを作成できる 動画から自動でいい感じのサムネイルを作成できる 自動的にぐぬぬ画像が作れる 自動的に全員の顔を○○にできる 顔ベースのローカル画像検索 など、最新鋭のソリューシ

    Perlでアニメ顔を検出&解析するImager::AnimeFace - デー
  • プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ

    技術者・SE・プログラマ面接時の技術的な質問事項というエントリをはてブで見かけたのだが、私もjavaプログラマーの面接を割とよくやっているので、よく質問する内容をまとめてみた。 (ちなみに、基的にコーディング面接の形態を取っている) プロジェクトの性質にもよると思うが、私の場合には、情報処理技術者試験的に基礎が満遍なく抑えられているかどうかよりも、 すぐ答えが見つからないような課題に対して、きちんと自分でやり方を考え、対応することができるか 「変な」コードをコミットしたりしないか(見つけにくいバグを混入させるとか、汚いとか、遅いとか)といった点を重視している。 まず、何を知っているかよりも、どんなものを作れるか、どんなことができるか、という質問。 ここで強烈な回答が来る人は、たいていここより下の質問は「あー、はいはい」という感じでサラッと答えてくることが多い。 これまでに携わってきた開発

    プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ
    ite
    ite 2009/02/28
    経験者でも、それなりの人じゃないと難しそう。オブジェクト指向できちんと再利用できるコードを早く書ける人は尊敬します。
  • まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全

    まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary
  • そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー

    以前、とあるシステムのソースコードを読む機会があったのだけどあまりにひどかった。あのひどいコードでまあまあまともに動いているというのが逆に信じられない。今日昼ご飯をべながら少し話していたのだけど意外と知られていないようなので、話せる範囲でいかにひどいのか説明してみようと思う。 まず、ソースコードが大雑把に見積もって3750万行あるのだけど、その中でまともに機能しているコードは3%しかない。10分の1程度のソースコードで同程度の機能を実現しているシステムもあるのでほんとあのシステムのコードはゴミだと言っても過言じゃない(*1) プログラマとしてはなんでそのプロジェクトはそんな状態になってしまったのか気になるところだけども、まあ多くのプロジェクト同様、真相を知る人は誰もいない。でもまあ、実際に機能しているコードのコピーみたいなものがあちこちに散らばっていることからしてコピー&ペーストが盛んに

    そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー
    ite
    ite 2009/02/01
    リファクタリングしてみたい!!
  • FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)

    最近、あるプログラマと話していて気づいたのだけど、彼は16進数の2桁と1桁との掛け算(FDh×5とか)が出来ない。やり方自体を知らないのだ。彼はWindowsの電卓を立ち上げて計算していた。 そのときは「プログラマでなくともこんなこと知ってて当然だろ!」と思ったのだけど、その後、10人ぐらいのプログラマに出来るかどうか聞いてみたが誰も出来ない。 結局、「普通は出来ない」のだと私は理解した。しかし16進数の掛け算はそんなに難しくない。私が子供のころには、まわりにFF(1×1=1に始まって、F×F=E1まで)を丸暗記している人がいっぱいいた。情報教育の一環として中学か高校で教えても計算の仕方ぐらい教えればいいのになぁと思っている。 前置きが長くなったが、以下にやり方などを書いておく。 ■ 16進数に馴染もう 16進数では、A = 10 , B = 11 , C = 12 , D = 13 ,

    FF(16進数の掛け算)を覚えよう - やねうらおブログ(移転しました)
    ite
    ite 2009/01/06
    面白かった。ハードに近いプログラムをよくする人はやっておいても良いかも。あとは16進の計算が速いことがステータスになる社会で生きてる人とか。俺は電卓でいいや。
  • 人工無能でケータイ小説:あたしマルコフ by yamagata21

    あたしマルコフ たまに 来て 見える トモのマンション 人から 言わせれば 少し高級系 まぁ 彼氏なんだから? 会うのは 当たり前なんだけど? でも アタシは 変わらず CGデザイナー してるよ 会社も 変わってない 元々 離れた場所に 住んでたから 今度は トモから 離れた 1ページ [次ページ(#)] ※これは、1接頭語1接尾語のマルコフ連鎖(形態素解析は改行区切りで代替w)っぽいことをして、 携帯小説“風味”の文章を超てきとーに生成するプログラムです。 一生懸命読んでいただいても、ストーリーも、終わりも無いのでご注意ください。m(_ _)m

    ite
    ite 2008/12/19
    まあ、状態遷移図ができたら次はこれだよな。もっとやれ
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
    ite
    ite 2008/10/26
    確かに、冷静に考えると「プログラミング言語を極めるのが大切」というのは迷信なんだよな。でも書いてるときはプログラム以上に重要なことは無いように思えてくる。何か独特な精神状態になっていそうだ。
  • プログラミング向けフォント32選 [K'conf]

    Monaco のリンク先を、フォントファイルから http://www.gringod.com/2006/11/01/new-version-of-monaco-font/ に変えられたようですが… リンク先に “I’m not sure how the new version differs but I’m told its from a new Mac Book Pro.” と書かれているとおり、そこで配布されているフォントMac から取り出したものです。 フォントファイルはプログラムとみすことができ、その場合これは著作権による保護の対象となります。また、Mac から取りだしたフォントファイルを配布するという行為は、Mac OS X のソフトウェア使用許諾契約に違反しています。 というわけで、Monaco の配布記事にリンクするのはいろいろとマズイんではないかと思うわけですが、いか

    プログラミング向けフォント32選 [K'conf]