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
Kent OHASHI
December 19, 2025
Programming
130
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
38
"Simple Made Easy" Made Easier: Clojureã«åŠã¶simplicity
lagenorhynque
0
50
Property-Based Testing with test.check and clojure.spec
lagenorhynque
0
69
Kotlinã§ãããã«ãªResultå®è£ ã«ãã颿°åãšã©ãŒãã³ããªã³ã°
lagenorhynque
0
82
Functional Calisthenics in Kotlin: Kotlinã§ã颿°åãšã¯ãµãµã€ãºããå®è·µããã
lagenorhynque
1
480
颿°åèšèªãã€ã¹ãã£ã³ã°: Haskell, Scala, Clojure, Elixirãæ¯ã¹ãŠå³ãã颿°åããã°ã©ãã³ã°ã®æšã
lagenorhynque
1
290
çŽLISPããèãã颿°åèšèªã®ããªããã£ã: Clojure, Elixir, Haskell, Scala
lagenorhynque
1
320
From Scala/Clojure to Kotlin
lagenorhynque
0
130
TDD with RDD: Clojure/Lispã®REPLã§å€ããéçºäœéš
lagenorhynque
0
160
Other Decks in Programming
See All in Programming
PyO3 ã§æ¢å Python è©äŸ¡åšã Rust core åãã ㌠wasm-bindgen ã§ãã©ãŠã¶ã«ãé ãããã®èšèš
kdash
1
330
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
260
Hello, Hiroshima Geospatial Data! â Exploring DoboX with Python
ra0kley
0
160
æºå ãã³ãºãªã³æŠèŠç·š
hideg
0
240
ãŸã éã«åãïŒä»å¹Žã®å€ããSchemeã®ãã¯ãå±éåšãå®å šçè§£ïŒ
omasanori
0
620
é«å°ãã£ãªã¢ LT çºè¡šå 容
crysta1221
6
5.5k
Hono + Inertia + React ã§ LP ãæ§ç¯ãã話
oukayuka
2
200
FastAPI ã®äžŠè¡åŠçã¢ãã«ãå®å šã«çè§£ãã
hoto17296
9
3.7k
XHTMLãæ®ãããã®
yosuke_furukawa
PRO
1
380
æ°å¹Žæ»ã£ãŠããããŒã¯ã¢ãŒã察å¿ãããã2é±éã§å®äºããã
chigichan24
0
640
Kiroã§åµããAgentCoreã§ç¹ãïŒAWSã§å®è·µãããAI-DLCããããAIãšãŒãžã§ã³ãçµ±åããŸã§ã®ææ°å°å³
licux
1
240
Flow ã¯ä»ã©ããªã£ãŠããã
mizdra
PRO
0
870
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
590
Everyday Curiosity
cassininazir
0
310
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
How STYLIGHT went responsive
nonsquared
100
6.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
Joys of Absence: A Defence of Solitary Play
codingconduct
1
460
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
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