タグ

メタプログラミングに関するarrayszkのブックマーク (2)

  • 第1回 メタプログラミングの光と闇 | gihyo.jp

    皆さんこんにちは。 今回から数回にわたって、8月20日(土)に、東京ドームのすぐそばにある文京シビックホールで開催する軽量言語のイベントLL Planetsを紹介する記事を書いてゆくことになりました。初回となる今回は、「⁠メタプログラミングの光と闇」というパネルセッションについて紹介します。 メタプログラミングとは 「メタプログラミング」という言葉自体は、比較的多くの方が耳にしたことがあるはずです。「⁠メタ」とはもともと「高次の」「⁠~を超えた」という意味を持つギリシャ語です。接頭辞なので名詞などの前に付けて使います。たとえば「メタ小説」と言えば小説自体を題材にした小説ですし、「⁠メタ認知」と言えば認知という行為自体を認知するため手法を指します。ある手法や事象を入れ子のように内包してより高次にし、客観化することを「メタ化する」などと言ったりします。Webの世界でよく聞く「メタデータ」も、デ

    第1回 メタプログラミングの光と闇 | gihyo.jp
  • Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま

  • 1