Category
プログラミング
実装・設計・言語に関する記事
20 件の記事 · 1 / 2 ページ
-
実装者と利用者——境界の向こうに他人がいるとき
一人で書いているとコードに境界は生まれません——実装者と利用者が分かれた瞬間に何が変わり、ライブラリやフレームワークがなぜあの形になるのかを整理します。
-
型とインターフェースは何が違うのか
インターフェースは型と並ぶ概念ではなく型の一種です——では何が特殊なのかを、契約・判定方法・所有者の3点から整理します。
-
現代の言語進化は同じ方向を向いている
記述量を減らすためではなく、表現できてしまう状態を減らすために構文は変わってきた——言語をまたぐ変化の共通ベクトルを読み解きます。
-
型設計の考え方——不正な状態を作れなくする
型設計の目的はエラーを早く見つけることではなく——不正な状態をそもそも表現できなくして、確認そのものを不要にすることです。
-
例外処理の書き方——捕まえる場所と捨てない情報
try/catch を書く技術ではなく、どこで捕まえてどこまで運ぶかの設計——例外処理の良し悪しはその一点で決まります。
-
パターンマッチには強度の差がある
match と書ければ同じではありません——分岐の網羅漏れをコンパイラが教えてくれるかどうかで、機能としての価値が変わります。
-
null を扱うときの注意点とベストプラクティス
null 安全は言語機能で自動的に手に入るものではなく——生成・伝播・消費の各段階で「不在」をどう設計するかの問題です。
-
readonly と frozen は同じ意味ではない
不変性には「束縛の不変」と「値の不変」、そして浅いか深いかの軸がある——同じ readonly でも守る範囲が違います。
-
失敗を返り値にするか、投げるか
例外と Result 型の違いは好みではなく、失敗を型に載せるかどうかの設計判断——処理漏れを誰が検出するかが変わります。
-
「値がない」の表し方で言語は4つに分かれる
null 許容・nullable 型・Option 型——同じ「null 安全対応」に見えて、実際に違うのは値の欠如が検査されるタイミングです。
-
Python 3.9 から 3.14 の構文的な変化
動的型言語のまま、型注釈・パターンマッチ・遅延評価が拡張されてきた——3.9 世代のコードが古く見える理由を構文の差分で整理します。
-
PHP 7.4 から 8.5 で書き方が変わったところ
PHP 8 系は動的な書き方を禁じたのではなく、宣言的に書く選択肢を足した——7.4 との差分を型・データモデル・分岐の3点で整理します。