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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
14
Property-Based Testing with test.check and clojure.spec
lagenorhynque
0
51
Kotlinã§ãããã«ãªResultå®è£ ã«ãã颿°åãšã©ãŒãã³ããªã³ã°
lagenorhynque
0
64
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
140
ð¬ã®æšãæ¬ç޹ä»2024: ãè±ã»æ¥æ¬èªãªãŸã è±èªïŒïŒÎ±ïŒå®è·µé³å£°åŠã
lagenorhynque
1
180
Other Decks in Programming
See All in Programming
è¥å€§åããã¬ã¬ã·ãŒã³ãŒãã«ç«ã¡åããããã®ã€ã³ã¿ãŒãã§ãŒã¹åé¢ãšäŸåã®é転 / JJUG CCC 2026 Spring
hirokunimaeta
0
570
ããã³ããšã³ããšããã¯ãšã³ãã§ã1æåããæããã
youkidearitai
PRO
0
710
net-httpã®HTTP/2察å¿ã«ã€ããŠ
naruse
0
500
OSãã©ãOS
arkw
0
570
Dataformã®ãªããžããªãç«ã¡äžãããšãã«ãŸãããããš / dataform-day0-2026
snhryt
0
170
Developing with AI Agents â Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
RTSPã¯ã©ã€ã¢ã³ããèªäœããŠã¿ã話
simotin13
0
610
çæAIæä»£ã«ããå¹ãGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
Java à distroless 㧠軜éãªã³ã³ããã€ã¡ãŒãžã / Java on Distroless
contour_gara
0
550
Semantic Version åäœã§æŠç¥ãæè»ã«å€ããŠãããã±ãŒãžã¢ããããŒããèªååãã
daitasu
1
260
æè¡èšäºã å°éå®¶ãšããŠã®ããã°ã©ãã èšèªå
mizchi
13
6.2k
æè¡èšäºãAIã«æžãããããèªåã§æžããïŒ ãããã§ãç§ãèªåã®æã§æžãçç±ã / #QiitaConference
jnchito
2
1.4k
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
410
GitHub's CSS Performance
jonrohan
1033
470k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
Design in an AI World
tapps
1
250
Embracing the Ebb and Flow
colly
88
5.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
How to Align SEO within the Product Triangle To Get âšBuy-In & Support - #RIMC
aleyda
2
1.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Whatâs in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Writing Fast Ruby
sferik
630
63k
Building an army of robots
kneath
306
46k
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