タグ

ブックマーク / kmizu.hatenablog.com (2)

  • 私なりのオブジェクト指向プログラミングの定義 - kmizuの日記

    きしださんの以下のツイート オブジェクト指向はこの20年だれも再定義せずみんな自分の思うオブジェクト指向を暗黙に仮定して適当に話してるだけなので、技術的な共通認識のもとの議論はほとんどできないんですよ。という話を「オブジェクト指向をきちんと使いたいあなたへ」の記事に書いたのだけど、そろそろ公開するか— きしだൠ(K8S(Kishidades)) (@kis) July 29, 2019 を読んで、そういえば、私が思うオブジェクト指向の定義、についてツイッター以外ではあまり語ったことがなかったなと思い返し、ちょっと記事にしてみることにしました。まず、結論からいうと、私はオブジェクト指向プログラミングとは サブタイピングを活用したプログラミング手法の総称 と考えています。ここで、クラス継承とかインタフェース継承とかダックタイピングとかではなく、単にサブタイピングであるのがポイントです。なお、型

    私なりのオブジェクト指向プログラミングの定義 - kmizuの日記
    nasust
    nasust 2019/07/29
    考えるな、感じろ
  • Kotlinのnullable typeはzero overheadではありません - kmizuの日記

    タイトルの通りなんですが、JetBrainsさんが公式で Zero-overhead null-safety とか書いているおかげで信じている人もいるかもしれません。ですが、それは正しくありません。 試しに、次のコードをコンパイルしてみましょう。 fun double(x: Int?): Int = x?.let{ it * it } ?: 0 クラスファイル BoxingKt.class が生成されるので、javapしてみましょう。 Compiled from "Boxing.kt" public final class BoxingKt { public static final int foo(java.lang.Integer); Code: 0: aload_0 1: dup 2: ifnull 21 5: astore_1 6: nop 7: aload_1 8: checkc

    Kotlinのnullable typeはzero overheadではありません - kmizuの日記
    nasust
    nasust 2016/11/16
  • 1