タグ

programmingに関するcogenのブックマーク (15)

  • SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行

    軽量なリレーショナルデータベースとして人気のSQLite。そのWebサイトに掲載されている「How SQLite Is Tested」の内容が、海外のプログラマなどのあいだで話題になっています。 3月に公開された最新バージョンのSQLite 3.6.23。体のソースコードは約6万7200行(67.2KSLOC、Kilo Source Lines of Code:空行やコメントを除いた行数)なのに対し、テストコードはなんと4567万8300行(45678.3KSLOC)だと紹介されているのです! これはテストコードが体の約679倍もの大きさだということになります。 100%のブランチカバレッジ SQLiteコアのライブラリをテストするテストコードとして、以下の3つが紹介されています。 TCL Tests TCL Testsはもっとも古いテストコードで、TCL scripting lang

    SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行
  • グーグルの新プログラミング言語「Go」--精鋭チームが切り開く新たな可能性

    UNIXの共同開発者Ken Thompson氏をはじめとするGoogleのソフトウェアの先導者たちは、「Go」と呼ばれる実験的なプログラミング言語プロジェクトによって、コンピュータの処理性能とプログラマーの能力の両方を高めることが可能だと考えている。 Googleは米国時間11月10日、Goから秘密のベールを取り去った。これまでに構築したものを発表し、この新しいオープンソースプロジェクトへの参加を呼びかけた。 コンピューティング業界は絶えず、新たに最初から始めることと、既存のテクノロジを進化させることの間でせめぎ合っている。Goチームは、現在のハードウェア設計とプログラミング技術の限界から、前者のやり方を選んだ。 首席ソフトウェアエンジニアの1人でGoの開発に携わっているRob Pike氏は、次のように語る。「われわれはこうした問題のいくつかに不満を感じ、問題に対処する唯一の方法は言語だと

    グーグルの新プログラミング言語「Go」--精鋭チームが切り開く新たな可能性
  • 続・バグを生まないコーディング法 | EE Times Japan

    フォーラムでの議論は次のような発言から始まった。 「中括弧を使って複合文を記述し、文の切れ目にセミコロン「;」を使う言語では、オールマン・スタイルを使うべきではない」 私はどちらのスタイルでもよいと思っているが、「1TBSでは図2のような間違いを人間のコード・レビュワーが発見しにくい」という1TBSに対する批判は受け入れがたい。 人間のコード・レビュワーが、このような間違いを見落とす可能性があることは認める。しかし、まさにこの例は、ここで紹介するようなコーディング規則の重要性を物語っている。つまり、「バグを効果的に排除するためには、コーディング規則に強制力がなければならない。2個以上の競合する規則がそれぞれバグを防げても、それらの中の1つの規則だけが自動的に強制できる場合は、より強制力がある規則の適用が推奨される」ということだ。 われわれのコーディング規則では、上記のような例はまさに自動

  • C++ Style Guide

    Benjy Weinberger Craig Silverstein Gregory Eitzmann Mark Mentovai Tashana Landray This style guide contains many details that are initially hidden from view. They are marked by the triangle icon, which you see here on your left. Click it now. You should see "Hooray" appear below. Hooray! Now you know you can expand points to get more details. Alternatively, there's an "expand all" at the top o

  • プログラマーを引き付けるMac OS Xの魅力 ― @IT

    林信行 2008/5/15 いまや、Mac一筋という熱狂的なユーザーだけでなく、「何か面白いことをしたい」と考えるエンジニアMac OS Xを利用し始めている。いったいなぜなのか、その理由を探ってみよう(編集部) 最近、Macintoshを使う著名エンジニアをよく見掛けるようになった。 代表的なところだけでも、シックス・アパートの元CTOの平田大治さん(現News2U社取締役)や米マイクロソフトでWindows 98やInternet Explorerの開発に中心的な役割を果たした中島聡さん(現UIEvolution社チーフアーキテクト)、Lingrなどの開発で知られる江島健太郎さん(現インフォテリアUSA社長)、ニコニコ動画の技術コンセプト設計などを行った清水亮さん(現ユビキタスエンターテイメント社CEO)などが思い浮かぶ。 この傾向は、シリコンバレーに行くとさらに顕著だ。シックス・ア

  • Life is beautiful: 私のとっておきのプログラミングスタイル

    404 Blog Not Found の「LiveCoding に学ぶプログラミングの三原則」を読んでいたらどうしても書きたくなったので。あくまで私のスタイルなので、参考にするもしないもご自由に。 1. スタードダッシュでできるだけはやくめどをつける 学生時代から夏休みの宿題は7月中に終わらせていた私とすれば、ラストスパートよりはスタートダッシュで勝負する。どのみち、どこかで思いっきり頑張らなければならないのであれば、締め切り間際ではなく、スタート間際に頑張るべきというのが私のポリシー。十週間のプロジェクトであれば、最初の二週間が勝負。そこで八割がたのめどをつけておき、後は流す。最初の二週間がめどが立てられなければ、十週間で完成できる可能性は低いと考える。常にそういう姿勢でいれば、締め切りぎりぎりになって致命的な欠陥が見つかって痛いめにあったり、当は大幅な設計変更をすべきなのに応急処置で

  • My Life Between Silicon Valley and Japan - 10年連続10万行の男

    友人の石黒邦宏と久しぶりに会った。四年前に http://book.shinchosha.co.jp/foresight/main/data/frst200211/fst.html という彼についての文章を書いて以来、数ヶ月に一度は話していたのだが、僕も彼も今年は忙しくて、昨日は半年ぶりに彼とランチ・ミーティングをした。彼と会うと元気が出てくる。 「この間数えてみたら、10年連続10万行、プログラムを書いていたことになるんですよ。あと何年くらい続けられるかなぁ」 前回会ったときに印象に残った彼の言葉がこれだった。同席していた若いハッカーが「年に10万行って一日平均250から300行か。土日もなしで毎日書いて・・・」 とけっこう驚いていた。ところで石黒の自信というのは凄いものがある。JTPAツアーで日の学生たちに講演してもらったときも「オレが教えてやるんだって気持ちで、僕はシリコンバレーに

    My Life Between Silicon Valley and Japan - 10年連続10万行の男
  • 再入不可能な関数を C で実装する - いやなブログ

    再入不可能な関数を C で実装する 一度実行したら二度と中身を実行できなくなる再入不可能な関数を C で実装してみます。通常、このような関数はシングルトンなどの静的なデータの初期化に使いますが、ここではデータについては考えないことにします。 static 変数をフラグに使う まずは最も単純な方法から見ていきます。次の関数は static 変数をフラグに使って再入を防いでいます。厳密に言えば関数そのものには入ってしまっていますが、ここで気にしないことにします。 void once(void) { static int entered; // 最初は 0 if (entered == 1) { // すでに入ったことがある場合は return; // すぐ出る } entered = 1; // 初回の場合のみ、何かを実行する } この方法はシングルスレッドのプログラムではうまく動きますが、マ

  • IBM Developer

    IBM Developer
  • checkstack.pl で関数のスタック消費量を調べる - bkブログ

    checkstack.pl で関数のスタック消費量を調べる Linux カーネルのソースコードに付属する checkstack.pl を使うと、C/C++ のプログラムの関数のスタック消費量を調べることができます。checkstack.pl は objdump -d のディスアセンブルの出力からスタックポインタの操作をパターンマッチしてスタックの消費量を計算しています。 入手方法 checkstack.pl は Linux カーネルのソースコードに付属しています。Debian GNU/Linux sarege なら次のようにコマンドラインから実行して取得できます。ソースツリーに含まれる scripts/checkstack.pl が目的のものです。 % apt-get source kernel-source-2.6.8 使い方 checkstack.pl の使い方は簡単です。スタックサイ

  • Microsoft、Visual Studio 2005 Expressを無償化

    Visual Studio 2005 Expressが無償化され、初級レベルのWindows開発者やWeb開発者、アマチュアゲーム開発者など幅広い愛好家のニーズに対応したツールを提供する。 米Microsoftは4月19日、簡易版の統合開発環境「Visual Studio 2005 Express」の無償化を発表した。SQL Server 2005 Expressと同様、愛好家向けに無料でダウンロード提供する。 Visual Web Developer Express、Visual Basic Express、Visual C# Express、Visual C++ Express、Visual J# Expressの各エディションとも無料でダウンロード可能。初級レベルのWindows開発者やWeb開発者、アマチュアゲーム開発者など幅広い愛好家のニーズに対応する。 MSDN Coding4

    Microsoft、Visual Studio 2005 Expressを無償化
  • Makefile の書き方(その3) - pyopyopyo - Linuxとかプログラミングの覚え書き -

    makeの暗黙のルールを確認するには次のコマンドを実行すればよい. $ make --print-data-baseまた make のマニュアルも参考になるはず.

    Makefile の書き方(その3) - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • Makefile の書き方(その2) - pyopyopyo - Linuxとかプログラミングの覚え書き -

    新人向けドキュメントの下書をメモ. CPPFLAGS=-I/usr/local/include LDLIBS=hogehoge.a all: sample sample: sample.o sub.o というMakefileと,二つのソースファイル sample.c sub.c を用意し, $ make allを実行した場合の処理を順に説明する. all: sample より all をつくるためには,sample を生成する必要がある. sample: sample.o sub.o より sample を生成するためには sample.o と sub.o が必要 sample.c というソースがすでにあるため,暗黙の生成ルール %.o: %.c より sample.c から sample.o が生成される.すなわち, $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGE

    Makefile の書き方(その2) - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • Makefile の書き方(その1) - pyopyopyo - Linuxとかプログラミングの覚え書き -

    新人向けドキュメントの下書をメモ. makefileには生成規則(ルール)を記述する ターゲット: ソース コマンドMakefileにはこのように,"ソース"のファイルから "ターゲット"のファイルをつくる場合にどのような"コマンド"を実行するかを記述する.これを生成規則と呼ぶ. 変数 makefile中では,"$(変数名)"で変数を使うことができる. 自動変数 変数名 値 $@ ターゲット $ ソース $^ ソースのリスト 暗黙の生成規則 UNIX上で良く使われる生成規則は,"暗黙の生成規則"としてあらかじめ定義されている. ターゲット:ソース コマンド %.o: %.c $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -o $@ -c $< %: %.cpp $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH)

    Makefile の書き方(その1) - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • Life is beautiful: ソフトウェアの仕様書は料理のレシピに似ている

    先日、経済産業省向けの仕事をしている知り合いと事をしたのだが、彼によると経済産業省の今の悩みは、「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」だそうである。「プライムベンダー」と呼ばれる「上流コンサルタント」たちがインドや中国にも仕事を発注できることを理由に、激しく値切り始めたために、今やわずか一人月30万円というケースもあるという。 こんな話を聞くと当に悲しくなる。まず第一に「プログラムを書く」という仕事は簡単な仕事ではない。数学的な頭を持っていないとかなり辛いし、基礎がしっかりと出来ていないとろくなソフトウェアは作れない。物価の安いインドや中国なら許せるが、米国よりも生活費の高い日で一人月30万円とはあまりにも低すぎる。 「彼らは下流のエンジニアで、詳細仕様書に従った通りのプログラムを書くだけの簡単な仕事をしているから給料が安い」という説明を聞いたことがあ

  • 1