Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ð¬ã®æšãæ¬ç޹ä»2025: ãã³ãŒãã£ã³ã°ãæ¯ããæè¡ ââæãç«ã¡ããåŠã¶ããã°ã©ãã³ã°äœæ³ã
Search
Kent OHASHI
December 19, 2025
Programming
140
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
éç¿FP in Scala with Flix: Flixèšèªã§èŠªããçŽç²é¢æ°åã®ã³ãŒãèšèš
lagenorhynque
0
43
"Simple Made Easy" Made Easier: Clojureã«åŠã¶simplicity
lagenorhynque
0
59
Property-Based Testing with test.check and clojure.spec
lagenorhynque
0
78
Kotlinã§ãããã«ãªResultå®è£ ã«ãã颿°åãšã©ãŒãã³ããªã³ã°
lagenorhynque
0
88
Functional Calisthenics in Kotlin: Kotlinã§ã颿°åãšã¯ãµãµã€ãºããå®è·µããã
lagenorhynque
1
510
颿°åèšèªãã€ã¹ãã£ã³ã°: Haskell, Scala, Clojure, Elixirãæ¯ã¹ãŠå³ãã颿°åããã°ã©ãã³ã°ã®æšã
lagenorhynque
1
320
çŽLISPããèãã颿°åèšèªã®ããªããã£ã: Clojure, Elixir, Haskell, Scala
lagenorhynque
1
380
From Scala/Clojure to Kotlin
lagenorhynque
0
140
TDD with RDD: Clojure/Lispã®REPLã§å€ããéçºäœéš
lagenorhynque
0
170
Other Decks in Programming
See All in Programming
AIæä»£ã®ã³ãŒãã¬ãã¥ãŒã¯äººã«åãããªãä»çµã¿ã«åãã
texmeijin
5
3.6k
é£ãããã©ãèªããã- OSSã®å ¥å£ã«ç«ã£ã話ã
sts11142
0
150
Verilogã§åŠã¶CPUèªäœå ¥é
uyuki234
8
4.1k
ã³ãŒãã§å·®å¥åã§ããªãæä»£ã® ãœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã° / Software Engineering in an Era Where Code Doesnât Differentiate
kishida
2
160
Ghostty + Neovimã§äœã éæã§ã«ãã³è¯ãéçºç°å¢
j341nono
0
170
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
Jetpack Compose Mechanisms
skydoves
2
720
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
140
æ®é«ç®¡çããå°åž³ãµãŒãã¹ãžã®é²å
artoy
1
190
wkhtmltopdfã®æ¬¡ã©ããããåé¡2026
willnet
2
1.9k
JRuby: Past, Present, and Future
headius
0
230
Simple Storage Service(S3) is not simple
iwatsukayura
0
270
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Building Adaptive Systems
keathley
44
3.2k
Embracing the Ebb and Flow
colly
88
5.2k
Speed Design
sergeychernyshev
33
2.2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Design and Strategy: How to Deal with People Who Donât "Get" Design
morganepeng
133
20k
GraphQLãšã®åãåãæ¹2022幎ç
quramy
50
15k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Docker and Python
trallard
47
4.2k
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