Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ぼくとclassの7日間戦争
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
henohenon
July 05, 2025
Programming
0
6
ぼくとclassの7日間戦争
Iwaken Lab.プログラミング言語入門
henohenon
July 05, 2025
Tweet
Share
More Decks by henohenon
See All by henohenon
unity初心者講習会
henohenon
0
91
ゆる設計論会 with Sketch Knights
henohenon
0
16
初めてのXR開発
henohenon
0
2
夏の収穫祭2025
henohenon
0
5
第四回九州学生ゲームジャム発表
henohenon
0
23
自作言語を作ろう
henohenon
0
25
Other Decks in Programming
See All in Programming
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
CSC307 Lecture 05
javiergs
PRO
0
500
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
並行開発のためのコードレビュー
miyukiw
0
1.2k
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
150
CSC307 Lecture 01
javiergs
PRO
0
690
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
140
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
130
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Practical Orchestrator
shlominoach
191
11k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Speed Design
sergeychernyshev
33
1.5k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
Believing is Seeing
oripsolob
1
58
Being A Developer After 40
akosma
91
590k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
~構造化戦記~ 僕とclassの7日間戦争
へのへのん ゲーム中⼼にいろいろ作ってる⼈ 福岡住みのフリーランスエンジニア 技術スタックは主にunity/webのクライアントエンジニア 志「僕が考える最強の⾔語、レンダラー、ゲ ームエンジンを作りつつ、ゲームMV制作から アニメ・ボカロ⽂化にムーブメントを起こす」 ⾃⼰紹介
Q.何故⾃作⾔語?
A.単に好奇⼼
tsベース c#ライクなclass 式指向, Result型... ⾔語紹介 ギークかつ直感的に触れるWebゲーム⽤⾔語 Glimmer
ts(js)のclassはあくまでclass”ライク“
とは?
まずは記法から
c#のclass (例は優しい⽬で⾒てください)
tsのclass (例は優しい⽬で⾒てください)
jsのclass ES2022以降
ES5-js 古いjs、流⽯にclass感ない
こっちが本質 classは糖衣構文 https://typescriptbook.jp/reference/values-types- variables/object/prototype-based-programming
関数にプロパティ+prototype
prototypeとは オブジェクト同⼠の参照関係
prototypeとは a<b<c
prototypeとは a.Func()===b.Func()===c.Func()
jsのオブジェクトは動的 classの変更ができてしまったり、型定義が曖昧だったり
jsのオブジェクトは動的 classの変更ができてしまったり、型定義が曖昧だったり どちらかというとjsが悪い
最新+tsなら結構よさそう 癖はあるし別概念ではあるの で、プロジェクトは選びそう 思ってたよりやれる 書きやすさ・読みやすさ 型付けと安全性、実⾏速度 c#のclassすごい (誤解を恐れずに⾔うと) prototype=原始的class構造 ts側が寄せてるから当然カモ
考え方は一緒っぽい ts-jsのクラスについて
ここからもうちょっと思想の話
classの構造的な負債 継承は⼈類には早すぎたとのこと
移譲 MobileSuitは継承でもいいカモ?
関数型プログラミング
Goの例 (これはprintがあるので正確な関数型ではない)
コンピューター的に直感的で シャレオツ 思想も魅⼒的 関数型ってすげー ⽐較するとすごい⾒やすい “個体としての振る舞い“ を直感的に表している classってすげー classも⾔語も隠蔽 ⼈間には早すぎる
結局⼈の筋⾁と経験 副作用と隠蔽 思ったこと
Glimmerではどうするか
c#生まれだからかもだけど 好きなのは事実 やっぱ見やすい プログラム的に直観的でない 隠ぺいの危険性 書き方は工夫するかも 解像度が上がり 作りたくなってきた 思想でうだうだしてても ワクワクしない・させれない
(楽しいケド) そろそろ実装します classは採用します 🎉