Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

抽象的な概念の操作能力を測る指標

抽象的な概念を理解できなくて、五段階欲求説みたいなことを言われても訳が分からない、という人がいる。

こういう、知識そのものじゃなくて、知識を得るために必要なメタ知識、たとえば

  • 人の言うことを信じられるか?
  • 人の言うことを棄却できるか?
  • 形而上の概念を理解できるか?
  • 抽象的な概念を理解できるか?
  • 抽象的な概念を操作できるか?

みたいな、抽象的な概念の扱いに対する習熟度を測る指標はないのかな。

関連付けは悪くないけど前提が間違ってる誤謬

  • 熱中症には牛乳が効果的」という話 *1
  • 「釈迦が悟りを開く前にスジャータから牛乳の施しを受けた」という話 *2

の両方を鵜呑みにして、それが合体した結果

  • 釈迦はヘトヘトになっていたのではなく、熱中症でフラフラになっていたところ牛乳を飲んで助かったということなのだろう

という理解に至るという誤謬を観測した。

似たような例として、

  • クレオパトラって、嘘をついたから鼻が高くなったんじゃないの?

というのもある。

こういう「関連付けは悪くないけど前提が間違ってる誤謬」を指す名前ってないんですかね?

*1:これ自体も「正確な医療情報を信頼できるソースから取得する」という知識やスキルがないため棄却できない

*2:これは乳粥の話を未就学児向けに分かりやすく改変したためにこんな話になっているのだが、もともと乳粥のエピソード自体を知らないために、本当に牛乳の施しを受けたと理解している

「プログラミングできるのが普通の若者たち」のレベル感

UR都市機構 Open Smart URのコンセプトブック「UR 2030」*1では、「プログラミングできるのが普通の若者たち」という2030年の若者像を示しています。

では、この「若者たち」とは、具体的にどういう人たちから構成されるのでしょうか? SSP*22030(階層と社会意識全国調査)とSSM*32030(社会階層と社会移動全国調査)が行われたとして、「日常的にプログラミングを行う」と答える層はどの程度の割合で、またそのプログラミングの程度はどういったものなのでしょうか?

そう考えると、きっと「プログラミングできるのが普通の若者たち」イコール「Googlerみたいな人たちが若者人口の大半を占める」ではないだろうなぁと思うわけです。

これまでは、プログラミングを習ったことのない人が大半なので、プログラマのレベルとその人数分布は以下のようになっていると思われます。

f:id:satob:20200105020622p:plain

一方、みんながプログラミングを習い出した後は、「人間の能力はおおよそベル型カーブに沿う」という前提に従うとすると、おそらく以下のような分布になると思われます。

f:id:satob:20200105020626p:plain

この推測通りになれば、「プログラミングできるのが普通」になる前と後とでいちばん増えるのは、グラフの右端にいるようなコードをバリバリ書ける人ではなくて、グラフの真ん中くらいの人になるわけですね。

ここで「このグラフの真ん中くらいの人って、具体的にはいったいどのくらいのレベルなんだろう?」とと考えると、きっとこのレベル分けでレベル10くらいに位置するんじゃないかと思うんですよ。 satob.hatenablog.com

他の指標で言うなら、AtCoderで言うと灰色と茶色のちょうど中間くらいの人が増えるわけですね(茶色が上位50%なので)。そう考えると、やはりあまりレベルが高いとは言えません。 chokudai.hatenablog.com

AtCoder緑色や水色の人がモリモリ増えたらそりゃ嬉しいですけど、学校の他の授業と同じ話で、みんながみんなバリバリできるようには、きっとならないですよね。

「プログラミングできるのが普通の若者たち」が増えるということは、一般的な(プログラミングを生業としない)職業に就くのはこういった「平均的」なレベルの人が大半になる、というわけです。また、今後はあらゆる業種で、自前でプログラムを書くことが増えていくのではないかと思われます。そう考えると、

  • 平均的なレベルの人に、どうプログラミングを教育していくか?
  • 平均的なレベルの人が書いたコードをいかにメンテナンスしていくか?

といった点が、プログラミングを生業としない企業での課題になっていくのではないか(また教育に関する研究の大きなテーマになっていくのではないか)、と考えるわけです。

Amazon Kindle Paperwhiteが4G回線で見られるのはWikipediaだけ

Amazon Kindle Paperwhite (4th Gen)は

  • 内蔵のブラウザでWebサイトが(いちおう)見られる
  • 4Gモデルの通信料はAmazon持ち

と聞いていたので、「TwitterとかをKindleで見るようにすれば通信料が節約できるかも!」と思ったのですが、そうではありませんでした。

Wikipediaだけは、本文中の単語を調べるときにも使うため、4G回線でも見られます。ですが、その他のサイト(Twitterとか)は、Wi-Fi接続しているときしか参照できません。

Wikipediaを一日中見てる!みたいな場合を除いて、通信料の節約には使えなさそうです。

Use Enum defined in classes from PowerShell

If you have an enum like this:

namespace Foo {
    public class Bar {
        public enum Baz {
            A = 0,
            B = 1,
            C = 2
        }
    }
}

You can use this enum from PowerShell with [FQCN+Enum] notation like this:

Add-Type  @"
namespace Foo {
    public class Bar {
        public enum Baz {
            A = 0,
            B = 1,
            C = 2
        }
    }
}
"@

[System.Enum]::GetNames([Foo.Bar+Baz])

$BazA = [Foo.Bar+Baz]::A
$BazA