平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

続々・C#のジェネリクスで型クラスを真似る

前回のエントリ

F# で高階型のエミュレーション - pocketberserkerの爆走」およびその記事で紹介されているhighjを参考にするとこんな感じになるだろうか。

GitHub Gist

前回のエントリだと、値クラスMaybe<T>は抽象クラスMonad<T>を継承していたが、この実装だとメソッドを持たないマーカーインターフェース_<T, TValue>を実装するだけだからシンプルだと思う。ただし、型クラスもどきインスタンスを意識的に渡す必要はある。

また、これは前回のエントリと同じだけど、型クラスもどきのメソッドを呼び出すたびにMonad<Maybe.µ, T>Functor<Maybe.µ, T>にアップキャストされてしまうので明示的なダウンキャストでMaybe<T>に戻さないといけなくなる。

Windowsのことですね、わかります

まあPowerShellについては、なんというか簡単じゃないよね……

ジャバにもとばっちりきてる

      • -

奥さんは「多様性は善」とかぬかす権利ないな。それはともかく。

まあ、このあたりのこともねえ、LLのインタプリタというよりはPOSIX互換レイヤを必要としないユーザーが多かったという文化からきてるよねえ。SUAもサポートされなくなったし。

技術とコミュニティ

ここまででひとくぎり

https://pbs.twimg.com/media/BxZRW5tCEAADWvf.jpg

辰巳寿司 (たつみずし) - 月島/寿司 〔食べログ〕

追加

誰もがポジショントークするし、誰もがFUDするんだよね。。。
そういう話じゃないのなら、具体名をあげて殴り合いするのも楽しいですねー。

マーシャリングとシリアライゼーション

聞かれてないけど。

マーシャリングはRPCで使われる言葉だけど、その中のMarshal By Valueシリアライズの一部と一致する(Marshal By Referenceはシリアライズとは違う)。
逆に、シリアライゼーションから見れば、別にRPCに使われるとは限らない(永続化したいだけかもしれない)。
そんなイメージを持ってる。

マイクロサービスとSOA

とりま本文からリンクされてるマーティンファウラーの記事を勝手に訳しました。

マイクロサービスとSOA (Microservices and SOA)

マイクロサービスについて語る時によく言われるのが「へぇー、この考え方って10年ぐらい前に流行ったただのサービス指向アーキテクチャ(SOA)だよね、10年前に見たわー」だ。……

https://gist.github.com/matarillo/a3fe1ba60e36e9e2827c

わたしの理解はこんなかんじ

この意見には納得する

けど、これにも共感する(乱暴だけども)

言語が思考を規定する

ソース自動生成の悪循環

https://pbs.twimg.com/media/BwF9YxcCMAAyW3W.png
http://furandon_pig.bitbucket.org/hobby/bad_spiral/

今日はこの話題がTLを賑わしていたので。
基幹システム プログラマー不要 富士通がソフト、開発費4割減