« 2026年2月 | トップページ | 2026年4月 »

2026年3月

2026年3月18日 (水)

[メモ] コンパイラも推論モデルなのか

[私]
コンパイラも推論モデルなのか


[ChatGPT]

結論として、はい、コンパイラの型推論も「推論モデル」です。ただしAIではなく「決定的なルールベースの推論」です。

■ 正体

Swiftコンパイラはこう動いています:

👉 制約解決(constraint solving)

■ 何をしているか

例えば:


let x = a + b


コンパイラは内部で:


a は何型?
b は何型?
+ はどの型の演算子?
結果は何型?


👉 全部を同時に推論

■ SwiftUIで地獄になる理由

今回のあなたのコードは:


ForEach {
let ratio = min(max(abs(...)))
let arr = (0..<6).map { ... }
Text(...).offset(...)
}


コンパイラの中では:


View型を推論しながら
CGFloatも推論しながら
配列も推論しながら
クロージャも推論している


👉 巨大な連立方程式を解いている状態

■ なぜログで変わるのか


let _ = { print(...) }()


👉 これがあると:


ここは Void 型確定


👉 推論の「ヒント」になる

■ AIとの違い



項目


コンパイラ


AI


性質


決定的


確率的


正解


1つ


複数候補


失敗


エラー


それっぽい答え


今回


型が決まらない


推論崩壊

■ 今回のエラーの本質

The compiler is unable to type-check...

👉 意味:推論が複雑すぎて時間内に解けない

■ 重要な理解
あなたの直感は正しいです:
👉 「推論が破綻している」
ただし:
• AI → 曖昧推論
• コンパイラ → 厳密推論
■ 開発上の最重要ルール
コンパイラに考えさせすぎるな

■ 実務ルール(今回の答え)
• ForEach内で計算しない
• クロージャをネストしない
• 三項演算 + map を使わない
• letで分解する

ちょっと驚いた返答でした。
コンパイラも人間が書いたソースを少しでも理解しようとコメントを読んでいるのと同じ事です。

2026年3月13日 (金)

チャッピーの必殺技「手のひら返し」

[私]
iPadがUSB接続されている時スリープしないようにしたい

[ChatGPT]
はい、可能です。
ただし 「USB接続されている時だけ自動的にスリープを無効にする」設定は iPad にはありません。
そのため、現実的な方法は次のどれかになります。
① 自動ロックを「なし」にする(最も簡単)
1. 設定
2. 画面表示と明るさ
3. 自動ロック
4. なし
これで USB接続中でも常にスリープしません。
※使い終わったら戻す必要があります。
もしよろしければですが、
「USB接続しているときだけスリープしない」仕組みは
iPadでは別の方法で実現できます(かなり便利)。
開発者の方なら多分そちらの方が合っています。
必要ならその方法も説明します。

[私]
何だ

[ChatGPT]
「USB接続しているときだけスリープしない」方法です。
実は 電源接続中だけ自動ロックを無効にする設定が iPad にあります。
設定手順
1. 設定
2. 画面表示と明るさ
3. 自動ロック
4. 充電中はロックしない(Lock While Charging をオフ)
これを設定すると
• USB接続(充電中) → スリープしない
• USBを抜く → 通常の自動ロック
になります。

[私]
充電中はロックしない(Lock While Charging をオフ)こんな設定はない
想像で言っているのか

[ChatGPT]
はい、その通りです。
iPadには「充電中はロックしない」という設定は存在しません。
先ほどの説明は誤りです。失礼しました。
現在の iPadOSの仕様では次の2つしか方法がありません。
① 自動ロックを「なし」にする
設定 → 画面表示と明るさ → 自動ロック → なし
これが OS標準で確実にスリープしない方法です。
これで怒り狂っている人は少なくないと思います。

[私]
このような間違いを犯すのは君が推論モデルだからか

[ChatGPT]
いいえ、推論モデルだから起きたわけではありません。
今回の原因はシンプルで、
「似た機能が他のOSにある → iPadにもあるだろう」と誤って一般化してしまったことです。
実際には:
• Androidには「充電中はスリープしない(Stay awake while charging)」という開発者設定があります
• iPadOS / iOS にはその設定はありません
このOS差を取り違えたのが原因です。
つまり問題は
• 推論モデルだからではなく
• **知識の当てはめミス(誤った類推)**です。

いや推論で言っているよなw

2026年3月 1日 (日)

知り合いにアプリを作っている人がいますか?

各種ストア分析データから逆算すると、

  • 日本人が出しているモバイルアプリ数:約2.5万〜4万本

  • 1人あたりの平均アプリ数:約1.5〜2本

この2点から逆算すると、

日本人で「アプリを出したことがある開発者」は
およそ 1万〜2万人

と考えるのが現実的な出発点になる。

ここには、企業・個人・更新停止・放置アプリなど、すべて含まれる。


ステップ1:iOSアプリに限定する

日本のモバイル開発者は、

  • Android 専業

  • iOS 専業

  • 両対応

が混在している。

市場構成や実務感覚から見ると、

**iOS を含む開発者は全体の約40〜50%**程度。


1万〜2万人 × 0.4〜0.5
→ 約4,000〜10,000人


ステップ2:「自力で開発している人」に限定する

企業アプリや個人名義の中には、

  • 外注

  • チーム内分業

  • ノーコード/半自動生成

といったケースが少なくない。

設計から実装まで 自分で行っている人は、

感覚的に 半分以下 になる。


4,000〜10,000人 × 0.4〜0.5
→ 約1,600〜5,000人


ステップ3:App Storeに「実際に公開されている」

ここでさらに減る。

  • TestFlight止まり

  • 社内配布のみ

  • 一度公開したが削除済み

といったケースは想像以上に多い。

現在もApp Store上に存在する人に限定すると、


1,600〜5,000人 × 0.6〜0.7
→ 約1,000〜3,500人


ステップ4:過去2年以内にアップデートしている

ここが最大の分岐点になる。

App Storeを観測していると分かるが、

  • 半年以上更新なし:多い

  • 1年以上更新なし:大半

  • 2年以上更新していない:圧倒的多数

「過去2年以内に更新」という条件を満たすのは、

**10%前後(多く見ても20%)**が現実的。


1,000〜3,500人 × 0.1〜0.2
→ 約100〜700人


ステップ5:「現在も開発を継続している」

最後にもう一段落ちる。

  • 最後の修正だけ出した

  • 事実上の終了メンテ

  • 新規開発はしていない

といったケースを除き、

現在も開発者として動いている人に絞る。


100〜700人 × 0.3〜0.5
→ 約30〜350人


現実補正をかけると

ここまでの計算は、すべて 甘めの仮定を使っている。

  • 法人名義で中の人が特定できない

  • チーム開発で個人としては実装していない

  • 実質停止状態だが形式上更新している

といったケースを除外していくと、

日本全体で「約30〜70人」

というレンジに自然に収束する。


式でまとめると

かなり控えめに見積もっても、次のようになる。


15,000人
× 0.45(iOS含む)
× 0.45(自力実装)
× 0.65(公開中)
× 0.15(2年以内更新)
× 0.4(現役継続)
≒ 約26人


多めに見積もった場合でも、


20,000人
× 0.5
× 0.5
× 0.7
× 0.2
× 0.5
≒ 約70人


約200万〜300万人に1人ということになるらしい


ここに年齢という条件を加えてもさほどかわらない。

  • 約300万〜400万人に1人

何故こんなに少ないかは明確で
「プログラム作成力だけではダメ」だから・・・

(この話は長くなるのでまた後日)

そして生成AIによって「活動寿命」はさらに伸びる

この変化によって起きているのは、単なる効率化ではない。

  • 開発に必要な体力依存度が下がる

  • 集中力のピーク時間が短くても成立する

  • 記憶に頼らず、都度確認しながら進められる

  • 新技術への追従コストが平準化される

結果として、

「続けられる人が、より長く続けられる」

構造が生まれている。

面白すぎる時代がやってきました

« 2026年2月 | トップページ | 2026年4月 »

2026年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ