タグ

ブックマーク / alohakun.blog7.fc2.com (8)

  • ホワット・ア・ワンダフル・ワールド 現状,最も DSL が作りやすい汎用言語は, L ナントカでも H ナントカでも無く,実は GCC なのではないか ?

    最上の日々 06年12月 24日(日) ▼ DSL(ドメイン特化言語)というのは拡張され続けた結果として、かならず汎用言語になってしまうものだ。けど、最初から計画されていた訳ではないから、汎用言語にとって大事な首尾一貫性にはこういう調子で欠けることに必ずなってしまう。これをさけるためにはどうしたら良いだろうか。 すでに出来てしまった物は仕方ないけど、これからDSLを作ろうと言う人は、新たにDSLを作るのはやめて汎用言語のサブセットにする方が良いと思う。そうして将来の拡張に備えるという方法論をとったら良いと思う。 DSLは汎用言語よりもドメイン内では簡潔に書ける言うけど、大抵それは、ドメインに特化したデータ構造とライブラリのおかげでだと思う。文法などが寄与している場合は困るけど、私の感じではそれほど多くは無いと思う。(ユーザが新しい型を定義できて演算子などをオーバーロードできる汎用言語で無く

    todesking
    todesking 2010/09/21
    ふむ~
  • ホワット・ア・ワンダフル・ワールド 高級言語もまた,ライブラリなのだ

    「良い言語だけど,ライブラリが揃ってないから,まだ使えない」 こういう感想は,新しい言語が出現するたびに,過去に何度も何度もつぶやかれてきた. 高級言語の価値が,プログラムの短さだとしたら,最も良い言語というのは,最もライブラリが揃っている言語,ということになる. Arcからの挑戦 どうしてそうするかって? なぜなら、プログラムを短くするために高級言語はあるからだ。 プログラミング言語のパワーは、それで書かれるプログラムの長さに反比例する。 100%確実にそうだとまでは言わないが、マジでそんな感じだ。 もし誰かがこういったとしよう。馬鹿げたことだと思わないかな。 「そのプログラム、君の言語だとコードは10行で、俺の言語だと50行だけど、俺の言語はパワフルだぜ」 こう思わざるをえない: じゃあ、あんたの言うパワーってなんなのよ? しかし,最初からライブラリが揃っている言語というものは存在しな

    todesking
    todesking 2008/02/28
    言語の力、ライブラリと言語仕様、トレードオフ
  • ホワット・ア・ワンダフル・ワールド Ruby や Rails が遅くなるのには理由がある

    という主張ならば,全く正しいと思います. やむにやまれず:2007年07月20日 Rubyは遅いから使えるのです (1) Ruby が遅いから Rails が遅いというのは間違い. C で書いても,汎用フレームワークを目指そうとすれば,かならずオーバヘッドが積み重なって遅くなる. むしろ,下手なプログラマが書いたら,Ruby よりも遅くなる. というか Ruby は,Rails を書くための,C のフレームワークとさえ言える. (2) 言語の効率よりも,開発効率の方が,昨今の Web アプリケーションを取り巻く潮流からしてはるかに重要 あと,一般的に,開発効率は処理効率に直結する. プロトタイプは,効率度外視で作ることが多い. 最適化は,ある程度完成度が上がってきてからの話だから. 作りこめば作りこむほど処理効率は上がっていくのが普通. ゆえに 「言語の速度 joel のメタメタメタ… フ

    todesking
    todesking 2007/07/22
    未来、メタフレームワーク、合成
  • ホワット・ア・ワンダフル・ワールド 人間が情報を与えるか,機械が推論して情報を増やすかという違い

    型宣言と型推論とか,手動メモリ管理と GC とか,要するに全部,人間が手で情報を与えるか,機械が推論するかということに一般化できると思う. んでまぁ,一般にうれしいのは,最初のプロトタイプは人間が不必要なことまで考えなくても動いてくれて,後々必要になってきたらボトルネック部分に情報を追加してあげると,さらに最適なコードが出る,ということをインクリメンタルにやっていけるようなモデルだと思う. その点,手続き型言語ってのは,細かいところまでを最初からいきなり全部指定しないといけないから,人間の脳に対する負荷がデカいし,柔軟性も失われてしまうし,機械がプログラムの意味を変えないで最適化できる余地も無くなってしまう.というようなことは,これまでにも散々書いてきたことなので,まぁ良いとして. いろいろ気になった記事があったので,単なるメモ. lethevert is a programmer のコメ

  • ホワット・ア・ワンダフル・ワールド ようやく学振書類提出完了… もうボロボロだ.それでも来週のゼミ資料と再来週の研究会資料を研究を進めつつ作らないといけないこの辛さ.6 月頭�

    ようやく学振書類提出完了… もうボロボロだ.それでも来週のゼミ資料と再来週の研究会資料を研究を進めつつ作らないといけないこの辛さ.6 月頭にはドクタの願書を出さないと.微妙に学振とは書く範囲が違うので大変 いやはや,大変な一週間でした. まぁ,僕は集中力が全然無いので,飽きるたびに現実逃避に mixi やブログは微妙に書いていたのですが (社会人からすれば,そんなん忙しいの範疇に入らねーよ ! と怒られてしまいそうですが… 世の中なめてる駄目学生ですいません) 僕の息抜きは,文章を書くことだけなので.どんだけ疲れていて,公的な文章は全く書けなくなっても,どうでも良い文章はいくらでも書けるのです (苦笑) ことの始まりは,先週の金曜日の夜 21:00 過ぎごろ.のんびり北大手話サークルに行って,帰ってきて,さてもう一がんばりするかーとかのんきに思っていた. いきなりボスから 「んーと,この書

    todesking
    todesking 2007/05/18
    なんという波乱万丈
  • ホワット・ア・ワンダフル・ワールド なぜ labels as value と computed goto は重要なのか ?

    そういえば,最近,「COINS の LIR,label のアドレスも取れないし goto で任意の番地にも飛べないつかえねー」 とか散々言ってたわけなんだけど,コンパイラの実装技術とかにあまり馴染みが無い読者には,なんでそんなことに対してそれほどまでに拘るのか意味不明だったのではないかとふと思った. # 以下,偉そうに書いてますが,専門のレベル的には全然たいしたこと無い話です.暗黙知を形式知へ,わずかながら貢献をばの精神で (笑) 「C 言語って,高級アセンブラでしょ ? コンピュータの全てが記述できるんじゃないの ? C 言語でできないことなんてあるの ?」 いやいや,いっぱいあるよ ! 機械語の世界というのは,手続き型言語の狭い花園などとは比較にならないほどリッチな世界なんだ (ヒロ山形風) そんな Web 上の妄言に惑わされていてはいけない.C 言語がコンピュータの真髄だとか,C に

    todesking
    todesking 2007/03/21
    超わかりやすい例外処理の実装の話と、Cの限界について(制約大杉)
  • ホワット・ア・ワンダフル・ワールド 実行系の自動合成

    todesking
    todesking 2007/02/23
    処理系自動生成/CPU仕様の定義言語ほしい/とかなんとか
  • ホワット・ア・ワンダフル・ワールド 新エディタ Shiki を作る日記 (6)

    &rest 引数の使い方が微妙にわかったので,Lisp の format 形式のメッセージをポップアップダイアログに表示する msgbox API を作ってみた. (define-cproc msgbox (format:: &rest args) (body " ScmObj os = Scm_MakeOutputStringPort(TRUE); GtkWidget *dialog; Scm_Format(SCM_PORT(os), format, args, FALSE); dialog = gtk_message_dialog_new(GTK_WINDOW(Shiki_EDITOR_WINDOW), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, Scm_GetString(SCM_STRING(S

    todesking
    todesking 2006/12/12
    Cうんこすぎとっとと死ね――学習コスト、ネットワーク外部性。ある程度勢力をひろげたうんこ言語は誰にも止められない。
  • 1