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
ð¬ã®æšãæ¬ç޹ä»2025: ãã³ãŒãã£ã³ã°ãæ¯ããæè¡ ââæãç«ã¡ããåŠã¶ããã°ã©ãã³ã°äœæ³ã
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kent OHASHI
December 19, 2025
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ð¬ã®æšãæ¬ç޹ä»2025: ãã³ãŒãã£ã³ã°ãæ¯ããæè¡Â ââæãç«ã¡ããåŠã¶ããã°ã©ãã³ã°äœæ³ã
Kent OHASHI
December 19, 2025
More Decks by Kent OHASHI
See All by Kent OHASHI
"Simple Made Easy" Made Easier: Clojureã«åŠã¶simplicity
lagenorhynque
0
13
Property-Based Testing with test.check and clojure.spec
lagenorhynque
0
50
Kotlinã§ãããã«ãªResultå®è£ ã«ãã颿°åãšã©ãŒãã³ããªã³ã°
lagenorhynque
0
63
Functional Calisthenics in Kotlin: Kotlinã§ã颿°åãšã¯ãµãµã€ãºããå®è·µããã
lagenorhynque
1
410
颿°åèšèªãã€ã¹ãã£ã³ã°: Haskell, Scala, Clojure, Elixirãæ¯ã¹ãŠå³ãã颿°åããã°ã©ãã³ã°ã®æšã
lagenorhynque
1
250
çŽLISPããèãã颿°åèšèªã®ããªããã£ã: Clojure, Elixir, Haskell, Scala
lagenorhynque
1
270
From Scala/Clojure to Kotlin
lagenorhynque
0
120
TDD with RDD: Clojure/Lispã®REPLã§å€ããéçºäœéš
lagenorhynque
0
130
ð¬ã®æšãæ¬ç޹ä»2024: ãè±ã»æ¥æ¬èªãªãŸã è±èªïŒïŒÎ±ïŒå®è·µé³å£°åŠã
lagenorhynque
1
180
Other Decks in Programming
See All in Programming
TAKTã§AIé§åéçºã®å質ãèšèšãã
j5ik2o
6
1.3k
æ£ãããœãããŠã§ã¢ãäœããåæãçãããã®èªç¥ã®èŠç¹ / doubt-premise
minodriven
21
6.6k
A2UI ãšããå ãèŠããŠã¿ã
satohjohn
1
130
Contextãšã¯ãªã«ã
chiroruxx
1
320
3Dã·ãŒã³ã®å§çž®
fadis
1
770
Even G2ãšAWSã§æšãã®ãšãŒãžã§ã³ããå¬åãããïŒ
har1101
1
110
ãã®åããæ¬åœã«æ£ããã§ããïŒAIæä»£ã®ãšã³ãžãã¢ã«å¿ èŠãªå²åŠãšèªç¥ç§åŠ / ai-philosophy-cognitive-science
minodriven
7
4.4k
Datadog à OpenTelemetry å ¥éãšå®è·µã®ããã
kn_to_maxpno
1
160
äžå€æ¡ä»¶ãšæŽåæ§å¢çâããžãã¹ã決ããèšèšå€æãšå®çŸãã¿ãŒã³ / Invariants and Consistency Boundaries
nrslib
13
4.1k
Javaã®åãšAIæä»£ã«åã倧äºãªçç± / java types and type in AI era
kishida
2
130
DynamoDBã«ã¯éèšç³»ã®ã¯ãšãªããªããã©ãªããšãããã
musan
1
140
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
220
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
840
Designing Powerful Visuals for Engaging Learning
tmiket
1
410
Done Done
chrislema
186
16k
Become a Pro
speakerdeck
PRO
31
6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
We Are The Robots
honzajavorek
0
250
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Making Projects Easy
brettharned
120
6.7k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Transcript
ð¬ã®æšãæ¬ç޹ä»2025 ãã³ãŒãã£ã³ã°ãæ¯ããæè¡ ââ â æãç«ã¡ããåŠã¶ããã°ã©ãã³ã°äœæ³ã 1
æ³åŠéšåºèº«ã®IT ãšã³ãžã㢠ã€ã«ã«ð¬ã奜ã ããã°ã©ãã³ã°ãèªåŠãæ³åŠãæ°åŠã奜ã lagénorhynque ð¬ã«ãã€ã«ã« 2
ð¬ãæ°äººããã°ã©ãã«ããæšèŠããæè¡æž 3
ãã³ãŒãã£ã³ã°ãæ¯ããæè¡ ââ â æãç«ã¡ããåŠã¶ããã°ã©ãã³ã°äœæ³ã 4
ð¬< ãæãç«ã¡ããåŠã¶ããšã¯ 5
2 çš®é¡ã®æ¯èŒã®èŠç¹ å ±æç(synchronique) / åæä»£çãªã暪ãã®æ¯èŒ è±èª vs ãã©ã³ã¹èª æ¥æ¬æ³ vs
ã¢ã¡ãªã«æ³ éæç(diachronique) / æŽå²çãªã瞊ãã®æ¯èŒ å€ä»£ã®æ¥æ¬èª vs çŸä»£ã®æ¥æ¬èª è¿äžã®æ³ä»€ vs çŸä»£ã®æ³ä»€ â» synchronique vs diachronique: èšèªåŠè ãã§ã«ãã£ãã³ã»ãã»ãœã·ã¥ãŒã«ã«ããåºå¥ 6
äŸ: èªç¶èšèª( è±èª) ãéæçã«æ¢ã 7
人éãç®çã®ããã«çã¿åºããããŒã«ã«ã€ããŠã å ±æ/ éæçãªæ¯èŒããé¡äŒŒç¹ãçžéç¹ãæ¢ãã ããªãããã®ããã«èšèšãããŠããã®ãåŠã¶ããšã§ã 广çãªæŽ»çš/ å¿çšãçºå±ã®å¯èœæ§ãèŠããŠããã 8
ãã®æ¬ã®æ§æ 1. èšèªãæ·±ãå¹ççã«åŠã¶ã«ã¯ 2. ããã°ã©ãã³ã°èšèªã俯ç°ãã 3. ææ³ã®èªç 4. åŠçã®æµãã®ã³ã³ãããŒã« 5.
颿° 6. ãšã©ãŒåŠç 9
7. ååãšã¹ã³ãŒã 8. å 9. ã³ã³ãããšæåå 10. 䞊è¡åŠç 11. ãªããžã§ã¯ããšã¯ã©ã¹
12. ç¶æ¿ã«ããã³ãŒãã®åå©çš 10
å 容玹ä»: ããã°ã©ã ã§ã®æ°åŒè¡šçŸ æžç±ã第3 ç« ææ³ã®èªçããã 11
æ°åŠã§ã®æ°åŒ äŸãã°ã â» ãšåŒã°ãã 1 + 2 à 3 äžçœ®èšæ³(infix
notation) 12
ããã¯éåžžã ãæå³ããã 1 + (2 à 3) 13
1. çŸä»£ã®å€ãã®ããã°ã©ãã³ã°èšèªã®å Žå ãšæžããš ã®æå³ã§æ±ãããã + ããã * ã®ã»ãã ãé«ãããšãã ã«ãŒã«(
ææ³) ã ã«çµã¿èŸŒãŸããŠããããã 1 + 2 * 3 1 + (2 * 3) æŒç®å åªå é äœ èšèªåŠçç³» 14
ããªãŒð圢åŒã§å³ç€ºãããš ïŒ 1 ïŒ 2 3 â» ãšåŒã°ãã ã«ããã³ãŒããã倿ããŠåŸãããè¡šçŸ æœè±¡æ§ææš(abstract
syntax tree, AST) ããŒãµãŒ(parser, æ§æè§£æåš) 15
2. ãšããå€ãèšèª(1950 幎代ã) ã®å Žå â» ãšåŒã°ãã æŒç®åã®åªå é äœã®ã«ãŒã«ã¯äžèŠ æ¬åŒ§ã¯äžèŠ ( æŒç®åããšã«åãä»ãã
ã®åæ°ã決ãŸã£ãŠããŠææ§ãããªããã) FORTH 1 2 3 * + åŸçœ®èšæ³(postfix notation), éããŒã©ã³ãèšæ³(reverse Polish notation) 被æŒç®å(operand) 16
ã§æ°åŒãè©äŸ¡ããŠã¿ããš FORTH on browser > 1 2 3 * +
. ( æ°åŒãããã§ . ã¯çµæãåãåºãæäœ) 7 ( è©äŸ¡çµæ) 17
ãšããããŒã¿æ§é ãçšã㊠1 1 2 1 2 3 1 6 7
1 2 3 * + 2 3 * + 3 * + * + + ( çµç«¯) 2 3 1 6 ïŒ ïŒ stack push push push pop & push pop & push ãšèšç®ããããšãã§ããã â» ãšåŒã°ãã çŸä»£ã®ããã°ã©ãã³ã°èšèªã®åŠçç³»ã§ã䜿ãããããšãããä»çµã¿ ã¹ã¿ãã¯(stack) ã¹ã¿ãã¯ãã·ã³(stack machine) 18
3. ãšãã( åãã) å€ãèšèªã®å Žå â» ãšåŒã°ãã æŒç®åã®åªå é äœã®ã«ãŒã«ã¯äžèŠ æ¬åŒ§ã¯çç¥ã§ããªã ( æŒç®åããšã«åãä»ãã被æŒç®åã®åæ°ãäžå®ãªãã)
LISP (+ 1 (* 2 3)) åçœ®èšæ³(prefix notation), ããŒã©ã³ãèšæ³(Polish notation) 19
ã§æ°åŒãè©äŸ¡ããŠã¿ããš LISP on browser > (+ 1 (* 2 3))
; æ°åŒ 7 ; è©äŸ¡çµæ 20
å€ãã®ããã°ã©ãã³ã°èšèªã§ã®é¢æ°åŒã³åºãã®èšæ³ ãšåçã§ãããæœè±¡æ§ææš(AST) ã«çŽ çŽã«å¯Ÿå¿ããã ïŒ 1 ïŒ 2 3 â» ããã°ã©ã ã®ã³ãŒã衚çŸãšæœè±¡æ§ææšãè¿ãããã
ã³ãŒãã®ããã°ã©ã çãªå€æ( ) ã容æã«å®çŸã§ãã add(1, multiply(2, 3)) æ§æãã¯ã(syntactic macro) 21
ãããã®äŸã§ã¯ãææ³ãèããéã« ã«ãŒã«ãèšããæ©æ¢°çã«æ±ãããããã ã«ãŒã«ãå ããŠäººéã«åããããããã ãšããèšèšå€æã®éããããããšãèŠããŠããã 22
Further Reading ãã³ãŒãã£ã³ã°ãæ¯ããæè¡ ââ â æãç«ã¡ããåŠ ã¶ããã°ã©ãã³ã°äœæ³ã ã7 ã€ã®èšèª 7
ã€ã®äžçã ããªãŒããã«ã³ãŒã â ããè¯ãã³ãŒããæžããã ã®ã·ã³ãã«ã§å®è·µçãªãã¯ããã¯ã ããããã¯ãã£ãã»ããã°ã©ã â ããã°ã©ãã®ã ãã®çç£æ§åäžè¡ã ãè±èªã®ããªã? ãã«çãã ã¯ãããŠã®è±èªå²ã 23