Home | Notifications | New Note | Local | Federated | Search | Logout

Note Detail


諏訪子@suwako@sns.076.moe (2026-04-02 11:48:07)
新しい開発者からよくこう聞かれる:「低レベルプログラミングって難しいよね?」
あたしはいつもこう答えてる
低レベルプログラミングではハードウェアの複雑さと直接向き合うけど、高レベルなフレームワークやエンジンを使う場合、貴方が向き合うのは「誰か他の人のコードとワークフロー」の複雑さだ
そして其のコードとワークフローは、結局の所ハードウェアの複雑さを処理する為に作られている
だからあたしは寧ろ、「高レベルプログラミングの方が低レベルプログラミングより難しい」と言う

高レベルでは他人のワークフローに振り回される事がなく、自分が直接理解すべき物は以下の物だけだから:
・ISA
・プログラミング言語/シェーディング言語
・グラフィックスAPI(必要に応じて)
・SDK(必要に応じて)

一方、高レベルプログラミングでは、上記の殆ど(プログラミング/シェーディング言語以外)を省くけど、其の代わりに各エンジンのAPI、エンジンの下や上に乗っている個々のフレームワーク、そして其の上に積み重なる全ての依存関係を一つずつ学ばなければなる
更に、エンジンやフレームワークは一般的に非常に複雑なので、グラフィックスAPIやISAの仕様書を読むよりも、遥に大量のドキュメントを読み込む必要が出てくる
あたしは此れまで以下を実際に読み込ん出来た

仕様書:
・Vulkan、NVN、OpenGL、Metal、DirectX 12
・Nintendo SDK(DS、Wii、3DS、Wii U、Switchを含む)
・AArch64、x86-64、RISC-V、MIPS、PowerPC
・glTF、USD(ユニバーサル・シーン・デスクリプション)、PNG、JPEG、BMP、TGA等の様なファイルフォーマット

ドキュメント:
・Unreal Engine 5、Unity、Godot、SDL2、SDL3、Raylib、SFML
・其の他非ゲーム開発関連:Go、PHP、Laravel、Symfony、STM32、ActivityPub 等

だからこそ自信を持って言える
優れたプログラミング言語、シェーディング言語、CPUのISA、グラフィックスAPI、ゲーム機のSDKは、少なくとも8年は安定している
一度しっかり学べば、長年にわたって使い続けられるだわ
其れに対して、フレームワークやエンジン、そして出来の悪いプログラミング言語は頻繁に大きく変わる
高レベルプログラミングだけを続けている限り、貴方は永遠に終わらない学習ループから抜け出せない可能性が高い
---Reply--- 佐々木@nounashi7298@social.nekokawa.net (2026-04-02 13:02:20) @suwako 俺は高レイヤープログラミング自体は否定したくないな、適当なものを作るのには最適だから
でも、高レイヤー言語の上にあるフレームワークという名の言語(Reactとか)はまさに他人のコード、本当に良くないと思う
Reply