2021年10月15日のブックマーク (5件)

  • 消せないメール | NHK | News Up

    2年前、ひらがなと少しのカタカナだけで書かれたメールが来た時、私はもっと早く、察するべきだった。 ところが私はのんきに「はーい」とメールを返し、事態の深刻さに気付いていなかった。 私にはおそらく一生まともに見ることができない、消すこともできない、70通余りのメールがある。 (ネットワーク報道部 鈴木有)

    消せないメール | NHK | News Up
    kensir0u
    kensir0u 2021/10/15
    家族構成が核家族化した時代、じじばばのサポートがなくなった今、妻が育児という考えを変えなければいけないということ。子供が大きくなるとそんなメールくれないから、大事にね。
  • 代数データ型の直積型と直和型の理解 - きしだのHatena

    代数データ型という考え方があって、型に対する代数的な操作を行うものっぽいです。代数的な操作というのは、足し算とか掛け算ですね。直和型と直積型というのがあります。 直積型は構造体のようなもので、Javaだとrecordが導入されましたね。 record A(int p1, boolean p2) {} みたいなものです。 これがなぜ積なのかというと、このレコードAの取りうる値の組み合わせは、intの値のパターン数(2 ^ 32) × booleanの値のパターン数(2)で2 ^ 33になるからなんだと思います。 直和型は、型がこれかこれ、みたいになるやつです。Javaだとtry-catchのcatch句に直和型が指定できて、この例外かこの例外、みたいな書き方ができますね。 catch (NullPointerException | NumberFormatException ex) あとse

    代数データ型の直積型と直和型の理解 - きしだのHatena
    kensir0u
    kensir0u 2021/10/15
    導入部分に集合論を持ってくると分かりやすくなると思いました。
  • オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena

    定期的にオブジェクト指向disを書いてしまってるのだけど。 とりあえずオブジェクト指向の話をすると定義が人によって違いすぎるので、改めてここでの定義を書いておくと 、基的にはOMTの「データ構造と振る舞いが一体となったオブジェクトの集まりとしてソフトウェアを組織化すること」 に従うのですが 「1990年に流行りソフトウェア開発のすべてを飲み込み、いまとなっては人それぞれ定義が違って技術的議論に使えなくなった、主にオブジェクトを基単位としてプログラムを整理するやりかたを指すマーケティング用語」 という感じです。 ほとんどの場合で人によってオブジェクト指向の指す範囲が違いすぎて、技術的知見の共有には使えなくなっています。でも、いずれの定義にしろオブジェクトを基単位にするというのは重要ではないかと。 ソフトウェアの組織化の単位としてオブジェクトを使うというのが大事で、データの搬送に構造体代

    オブジェクト指向はすでに粒度が時代にあっていない - きしだのHatena
    kensir0u
    kensir0u 2021/10/15
    ソフトウェア工学の本見ても、カプセル化とか多態性とか継承とか触れられていないんだけど・・・
  • Javaで作るのは他人のためのプログラム、Pythonで作るのは自分のためのプログラム - きしだのHatena

    JavaやCで組むのは他人のためのプログラムで、Pythonで組むのは自分のためのプログラム、という違いがないかなという話。 TIOBEでとうとうPythonが1位になったというニュースが流れてました。 https://internet.watch.impress.co.jp/docs/yajiuma/1357645.html でも、Pythonが1位になったとはいえ、CやJavaであったような、世の中のプログラム全部Pythonになるみたいな雰囲気はないなと思いました。 で、こんなツイートをしたわけです。 PythonJavaやCを抜いて1位になるのは、JavaやCが担っていたところがPythonに置き換えられたのではなくて、他人のためのプログラミングではなく自分のためのプログラミングが増えたということじゃないかなと思う。https://t.co/LeM3ADCwAA— きしだൠ(K1

    Javaで作るのは他人のためのプログラム、Pythonで作るのは自分のためのプログラム - きしだのHatena
    kensir0u
    kensir0u 2021/10/15
    AIが普及したからでしょ。
  • 基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena

    基礎と低レイヤーは混同しがちという現象をみかけたのでメモ よくあるのが、「IDEを使うと基礎が勉強できない、メモ帳でコードを書いてコマンドラインでjavac / javaするところから始めるべき」みたいな話。 ツールを使わずツールが隠してる部分を自分でやって勉強せよ、フレームワークを使わずフレームワークが隠してる部分を自分でやって勉強せよ、という話は、これ自体は間違いではないのだけど、これを「基礎」と言ってしまうと違った方向に行ってしまう。 これは基礎ではなくて低レイヤーではなかろうか。 そして、低レイヤーは「ツールを使わずにやれ」と言ってる人の想定する「ツールを使わず」というのもすでにツールを使っていたりする。ほんとに低レイヤー知りたいなら、javac使わずハンドコンパイルでしょう。Javaバイトコード知っておくべきでしょう。 と、だんだんマニアックなこと知ってる自慢になっていく。 こう

    基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。 - きしだのHatena
    kensir0u
    kensir0u 2021/10/15
    主語もなく主張しているところに違和感。Javaの基礎?プログラミングの基礎?ソフトウェア開発の基礎?そりゃ混同しますわ。