トップ «前月 最新 翌月» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|

ToDo:


2011-04-03


2011-04-04

_ まろーだー

なんか hacker news と reddit に載ったらしくて まぁなんか github の watch 数とかがちょっと にぎやかな感じになった…が特に何もない。

そのへんで見る意見をぱっと見るに…

  • ライセンスとか大丈夫? => 大丈夫なんじゃね
    • こいうメディアではお決まりの会話なんだなぁと
  • Cocotron と組み合わせて Cocoa アプリが!
    • 今でもそれなりに大変だから、そこまでやれるとは思ってないんだよなー意義も見出しにくいし
  • クロスコンパイラでいいのに
    • クロスコンパイラには色々問題あるし、何よりセルフコンパイラってラクなんだよね… GDC のクロス作るより wine dmd.exe の方がラクだし、 i586-mingw32msvc-gcc で SDL ビルドしなおすより SDL.dll から wine implib.exe して取り出した SDL.lib を wine bcc32.exe する方がラクなんですよね…
  • 名前がひどい
    • SC2 の marauder さんに(日本人的発音感覚で)近い名前つけただけなんだけど、 malodor で悪臭なのね。まぁ marauder 嫌いだからいいか…

(22:41)


2011-04-05

_ 理解した

RTLD_GLOBAL と RTLD_LAZY を実装する必要がある。 前者は簡単だけど、後者はどうしよう… あれって正しくやると全コード遅延ロードできるようにする必要あるしな… 次の dlsym の時に eager bind するとかでいいだろうか…

そして lazy bind の反対語は eager bind でいいんだろうか…

(04:07)


2011-04-10

_ でー言語

http://partake.in/events/feac18f7-0b78-4129-92c5-ad0cce8feafb

に行ってきた。 SC2 の MVP vs MKP が気になりつつ遅刻しつつだけど… 後で見たがいい試合だった。

でー言語は久々に見てもこう、 楽しそうというか見るからに TODO がたくさんある感じで、 正直これだけ放置してても僕的にはあんま実用的になってないなあ…という感じというか。 これは褒め言葉で、つまりなんかあれこれ工夫するスキがありまくりっていうか。 maloader 飽きたらやってみたいなぁとか思ったことが色々あった気がする。

見てたのはデバッグしやすくなっただろうか…ということ。

  • 例外飛んだ時の backtrace はあるだけマシになったけど、イマイチ。
  • x64 の ABI 守ってるか、トレース用の DWARF 吐いてるか気になるので見るべき。あれ守ると backtrace が出しにくくなる的な意味で。僕のカンではたぶん守ってないので良い。
  • 適当にクラッシュするコード書いて GDB に喰わせると GDB が死んだ。 DWARF4 の DW_TAG_* と D の独自 DW_TAG_* がかぶってるのが良くない。これはどう考えても D が DW_TAG_lo_user 以降の数値を使うべきである…とりあえず簡単な変更でなおることは確認した。
  • -g じゃなくて -gc をつけるとクラッシュしない、が、これは string[] の内容見るのが大変になるので実用性が極めて落ちる。
  • たぶん、 DWARF 拡張するとかじゃなくて、 go とかみたいに C の構造体として見せるべきだと思うね…
  • this の EAX 渡しと GDB って整合性取れるんだっけ。これも調べるべき。
  • Mac ではそもそもデバッグ情報が全く見れないらしい。たぶん dSYM になってないから…と思って Apple GDB ながめたけど時間切れ。

他のメモ

  • 相変わらずコンパイルが速いのはいい。
  • GC はあんま良くなってないらしい。パッチはあるけど…みたいな状態らしい。 fork する concurrent GC とはいかに。
  • closure とか作る時に backtrace つけたいから言語ランタイム自体が backtrace 取れるサポートして欲しいとかなんとか言った
  • かぶってるシンボルが weak symbol になってなくて plugin がやりにくくて困るとのこと
  • walter たんもプログラマが知るべきなんちゃらに書いてるらしい。それは読まないと…
  • GDC がいつのまにか他の人の手によって追いついてるらしい。
  • D の例外ってどうなってるんですか setjmp/longjmp ですかと聞いたら windows は SEH 使ってるとのこと。そして僕はそのことを知っていたはずなのである… http://www.dsource.org/projects/tango/changeset/2569
  • ライブラリの混乱っぷりはマシになったけど相変わらず色々スキがある感じなのかな…
  • さすがに tango は死につつある…らしい? しかし日本は phobos ラブに偏ってるからな…
  • D on Rails があれば流行るのではないか、という話に、 Rails は Java のアレっぷりにみんな辟易としてる時に颯爽と出てきたから流行ったのであって、今 D で作っても別にキラーアプリにならんのじゃないかなぁとか言った。今みんなが困ってること…ということで、
    • JS …が最初に思いついたけど、 coffee script とか GWT とかまぁ色々あるからイマイチかなと
    • iPhone と Android 両方サポートとかめんどいから D で書いたらどっちのアプリもできますみたいな不思議な仕組みがあれば…とか
    • まぁなんか地震とか停電を解決しますとか彼女ができますとかそいうソフトウェア作れれば流行るんじゃないかな
  • DMD 読みやすいと主張したら反論され気味だった。贅沢を言いすぎではないか
  • evalu8.c というファイルを見てちょっと面白いなと思った
  • 個人的には D で書きたいものがなんもないのがあれだなぁ…最近 C/C++ じゃないと書けないものと Ruby で書けるものばかり家で書いてあるから。またゲーム書けって話なんだろう…
  • そもそも一般的な話としても、なかなか適した用途というのが思い当たらないんだよな
    • ずっと動かし続ける系アプリは GC つきの言語だとこわいという妄想によりサーバは却下
    • それなりにパフォーマンス出た方がいいという考えあたりから、 GUI アプリとかモバイルとかかなぁ
    • ある程度デカいデータ処理やる自然言語屋さんとかには向いてる気がするな。書き捨てに近いコードだけどパフォーマンスが出た方がよくて、文字列処理が得意だと嬉しい。うーんなんかすごい mapreduce 向きだったりしないだろうか…

なんか僕はいつも backtrace backtrace とわめくと言われたのだけど、 そうだと思う。 実用性って観点で見ると、 backtrace と printf デバッグって プログラム言語に本当に重要な機能だと思うんだよな。 いつも言ってるけど。 printf デバッグっていうか Ruby の p がコンパイル言語にもあるべき。 後者は D は静的リフレクションでそれなりにできるんだろうなと思ってたけど、 まぁできるとのこと。 よく考えると書いたことある記憶もあるな…

(18:01)

本日のツッコミ(全2件) [ツッコミを入れる]

_ morita [http://programmer.97things.oreilly.com/wiki/index.php/The_..]

_ shinh [オンラインで読めるんですね、ありがとうございます。当たり前の話だけどたしかにこいう質問多いしうざいだろうなーという感..]


2011-04-12

_ FizzBuzz conference

http://partake.in/events/8c2cd95b-b6d4-4d9f-917e-a98ba9aafd25

万が一 ksk さんが消えると人類は二度と 50B FizzBuzz に到達できないのではないか… とか意味わからんことを話してたりしたんですが、 まぁどっかで区切りをつけてどんなコードか見せてもらいたいもんですね… ということでページを作ってみました。 日程は特に反対が無ければ6月あたりかなぁと思ってます。

まぁ興味ある人は適当に参加表明していただければと思います。

しかし kinaba さんのせいで次の参加者の発言が規制されているな…

(21:55)


2011-04-16

_ 0x is not that bad

会社のホワイトボードに

[](){}();

とか書いてあって、 C++0x のラムダキモいとかいう話をしてたのかなぁと思った。 でもなんか思い出してみると記号だけで似たようなもん書ける言語ってのは いくつかあって、

->{}[]
->{}()
(\()->())()

とかも書いておいた。 他もありそうだなぁと思ったけど思い出せなかった。

この手の syntax って最初に見た時はびっくりするけど、 慣れるとまぁなんでもないんじゃないかな。 むしろ

(funciton(){
  // ...
})();

みたいなコードがイディオム化している JS なんかだと、 これもうちょい短かった方が良かったんじゃないかな…とか思う。

(02:03)

_ id:hirosegolf さん

http://d.hatena.ne.jp/hirosegolf/

この人が FizzBuzz 54B かつ今 TCO マラソンで僕の一個上にいる人かな…

(11:28)

_ そのマラソンは

これ難しいなぁ…と思いつつ 適当に書いたら意外と上の方に来た。 もうほっといても予戦は通れるかな… とも思うけどまぁみんなまだ様子見だろうしな…

うーんでも結構ここから大きく得点良くするのもむつかしそうではあるなあ

(11:32)

_ 式を dump したい

よく式を途中のローカル変数の情報つきで dump したくなる。

例えば

a = 42
b = 90
c = 20
dump{(a + b).to_f / c}

とかしたら

6.6 = ((a=42) + (b=90)).to_f / (c=20)

とか出る、というような。

Ruby なら書けるかなあ…ということで書いてみた。

https://github.com/shinh/test/blob/master/dump.rb

呼び出し方が

 binding.dump "(a + b).to_f / c"

とかいう感じで文字列で呼ぶ感じになってしまったのが残念。 なんか構文木オブジェクトとか取れるといいんだろうね… あとインスタンス変数とかグローバル変数とかも対処した方がいいし、 途中のメソッド呼び出しとかも対応するといい気もするけど、 まぁこんなもんでもそれなりに良い気もする。

C++ ってか Boost::lambda ならこういうのできていい気がするな…

http://blog.livedoor.jp/sasata299/archives/51382345.html

を参考にさせてもらった

(16:51)

本日のツッコミ(全1件) [ツッコミを入れる]

_ Gimite [> (funciton(){ > // ... > })(); そこでCoffee Script、なん..]


2011-04-23

_ 変ゼミ

http://kc.kodansha.co.jp/hensemi/

こんなもんアニメ化するんかって感じだな… はじめてニコニコポイント買ってしまった。

(21:15)


2011年
4月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
1.Gimite(2011-04-19 07:06) 2.shinh(2011-04-12 22:01) 3.morita(2011-04-11 23:35)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h