タグ

ブックマーク / mametter.hatenablog.com (5)

  • Go言語の不満 - まめめも

    ちょっとバイナリ配布したいツール↓があったので、Go言語と戯れました。 zenn.dev ほぼはじめてGoを使ったので、にわかほど語りたがる法則に従って、Go言語の感想を書きます。 新しい言語にふれたときは、できることには気づきにくく、できないことに気づきやすいので、不満が多めです。主な比較対象はRuby、C言語、JS/TS、Rustあたりです。 よかったところ ひとことで言えば「便利になったC言語」という感じでした。結構低レベルなAPIも揃っていてよかった(デーモン化が素直にできなかったこと以外)。 Rustと比べたらストレスフリーです。思った通りに書くだけでとりあえず動いてくれる。すばらしい。 見た目はあきらかに長くてダサいですが、こだわりを捨てて割り切って書けると言えなくもない。 配布しやすいシングルバイナリが作れるのはやはりよい。今回Goを選んだ理由がこれ。 細かいカプセル化がむず

    Go言語の不満 - まめめも
  • gcov の使い方 - まめめも

    concov のドキュメントを書こうと思ったけれど、何から書くか困ったので、とりあえずその前に gcov の使い方とはまりどころを書いてみます。 gcov とは C 言語で書かれたプログラムのカバレッジを測定するツールです。gcc に付属しています。 基的な使い方 こういうコードがあるとする。 /* test.c */ #include <stdio.h> int foo(int x, int y) { return x + y; } int bar(int x, int y) { return x - y; } int main(void) { printf("%d\n", foo(2, 3)); printf("%d\n", foo(3, 4)); return 0; } コンパイルする。-coverage をつけると gcov 用のオブジェクトファイルが生成される *1 。 $ g

    gcov の使い方 - まめめも
  • RubyKaigi 2011 終了 - まめめも

    参加してました。コミッタ特権でタダ飯をらえるのも残念ながら最後です。 今まではマジタダ飯にならないように何かしら発表することを心がけてたんですが、今回はネタ準備できず、ついに聞くだけ。"1.8 and 1.9" でちょびっとだけ壇上出たけど、その分弁当もらってしまったし。申し訳ない。なのでせめて見た発表ごとの一言感想を書きました。最後に。 そして Ruby とかなり関係ない Alloy は、ジュンク堂出張店で販売していただき、個人的な予想をはるかに上回る人数 (予想 1 桁、結果 2 桁) に汚い字でサインさせていただきました。ありがとうございます!おまえら買ったばかりのを汚していいのか!ちなみにサインは実行可能な Quine になっています。typo してなければ RubyKaigi 中のコミッタの行動にプライバシーはないと思うので、サインさしあげたコミッタだけ晒すと mrkn さ

    RubyKaigi 2011 終了 - まめめも
  • ruby 1.9 を日常的に使うぼくが 1.9 の新機能を寸評する - まめめも

    なんか偉そうな見出しですが、ruby 1.9 を主に使うようになって 1 年ちょっと経ったので、1.9 の新機能に思うところや注意点などを書き残そうと思うのです。さらに 1 年後に見たとき、「あのころはあんなふうに考えてたなあ」などと感慨にひたる予定です。 あらかじめ断っておくと、ぼくの ruby 1.9 経験はすべて趣味範囲なので、エンタープライズとかシステム運用の問題とかは知りません。あとぼくは ruby のコミッタなので、色眼鏡もあると思います。あしからず。 YARV VM 実行になったという話。一般的には「速い」という文脈で語られます。1.8 と比べると確かに速いです。でも、1.9 ばかり使い出すとなんとも思わなくなるはずです。速さなんて相対的な価値ですから、当然ですけどね。好意的に考えれば、「なんとも思わない程度に、遅くて困ることが減った」のかもしれない。 コンパイルフェーズを挟

    ruby 1.9 を日常的に使うぼくが 1.9 の新機能を寸評する - まめめも
  • コミッタになった - まめめも

    月曜日ごろ、アカウントを発行してもらいました。やりたい放題です。 とりあえずは、Ruby のテストを充実させたいです。目標は gcov のカバレッジで 80% 以上。手始めに bignum.c 、sprintf.c 、struct.c 、math.c のカバレッジを 90% 以上にしてみました (ruby-dev:33258 、ruby-dev:33280) 。テストはカバレッジが高けりゃいいってもんではないと思いますが、ないよりは良いだろうということで。時間のかかるテストはなるべく避けます。 真の目的はソースを読むことです。理由もなくソースを読むより、テストを書くという理由があった方が楽しいのです。弱点は、重箱の隅ばかり読むことになること。 ついでに RubyPythonPerl のテストカバレッジを (てきとーに) 調べてみました。 対象行数 実行行数 カバレッジ Ruby

    コミッタになった - まめめも
  • 1