タグ

正規表現とprogramming Languageに関するatsushifxのブックマーク (2)

  • 言語設計と文字列API

    リンク t.co プログラミング言語内の正規表現リテラルについて — KaoriYa プログラミング言語内の正規表現リテラルが是か非か、 そんな議論にいまさらながら参加してます。 ただしどちらかの立場に立って擁護したいというわけではなく、 話を抽象化というか一般化して問題の質にせまります。 Kazuho Oku @kazuho 言語設計論では、基「書くコスト」と「保守(読む)コスト」の2種類にわけて考えればいいと思ってる / 言語のAPI仕様を最小にするのには正規表現リテラルの導入が有効というのが僕の論 / “プログラミング言語内の正規表現リテラルにつ…” http://t.co/whvioxMAII 2013-12-20 14:14:16

    言語設計と文字列API
    atsushifx
    atsushifx 2013/12/20
    つまりはプログラミング言語の言語構造にDSLを組み込むか否か、APIをどうするかの問題。DSLのひとつであるSQLにActiveRecordやLINQが出たきたことを考えると正規表現にマクロと変数がつくといろいろと進化しそう
  • プログラミング言語における正規表現リテラルの必要性について

    Twitterに書いたことのまとめです。 プログラミング言語の仕様の一部として正規表現リテラルを提供することの得失について、JavaScriptを例に説明します。 ■より簡潔なコード 言うまでもありませんが、正規表現リテラルを使った方が簡潔なコードになります。 (new RegExp("abc")).exec(s) // リテラルを使わない場合 /abc/.exec(s) // リテラルを使った場合 また、正規表現リテラルがない場合は、文字列リテラルとしてのエスケープと正規表現としてのエスケープが二重に必要になる結果、コードの保守性が低下します注1。 new RegExp("\\\\n"); // リテラルを使わない場合 /\\n/ // リテラルを使った場合 ■エラー検出タイミング 正規表現リテラルがない場合、実際にその正規表現が評価されるまで記述エラーを検出することができません。正規表

    atsushifx
    atsushifx 2013/12/18
    問題は学習コスト、標準化、読みやすさだと思っている。言語やライブラリによって正規表現にゆれがあるし、コメントにも出ているけど正規表現のエスケープと文字列のエスケープが重なるとReadbilityが落ちすぎて悲惨。
  • 1