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
40
"Simple Made Easy" Made Easier: Clojureã«åŠã¶simplicity
lagenorhynque
0
52
Property-Based Testing with test.check and clojure.spec
lagenorhynque
0
69
Kotlinã§ãããã«ãªResultå®è£ ã«ãã颿°åãšã©ãŒãã³ããªã³ã°
lagenorhynque
0
83
Functional Calisthenics in Kotlin: Kotlinã§ã颿°åãšã¯ãµãµã€ãºããå®è·µããã
lagenorhynque
1
480
颿°åèšèªãã€ã¹ãã£ã³ã°: Haskell, Scala, Clojure, Elixirãæ¯ã¹ãŠå³ãã颿°åããã°ã©ãã³ã°ã®æšã
lagenorhynque
1
300
çŽLISPããèãã颿°åèšèªã®ããªããã£ã: Clojure, Elixir, Haskell, Scala
lagenorhynque
1
330
From Scala/Clojure to Kotlin
lagenorhynque
0
140
TDD with RDD: Clojure/Lispã®REPLã§å€ããéçºäœéš
lagenorhynque
0
160
Other Decks in Programming
See All in Programming
äžåå è ãããäžã®äººããž ãå šéPHPerãããŒã¹ã«ç«ã£ãŠåŠãã ãã«ã³ãã¡ã¬ã³ã¹ã100忥œããã³ãã
wp_daisuke
0
130
çç°èã®ãã£ããã Swift Buildã®ãã€ã¢ã¢ã³ãåé¡è§£æ±ºã®äžå ·åä¿®æ£PRãåºãããè§£æ±ºæ¹æ³ããã£ãã·ã¥ãããªãããã«ããããšã§ããããã«ãæéã䌞ã³ããšèšãããŠããŒãžãããªãã®ã§é«éåããã/swiftbuild
yimajo
0
360
30幎æ¯ãã«ã³ã³ãã€ã©ã®å®æ°æŽæ°é€ç®ãæ¹åãã
herumi
9
4.5k
ãAIæä»£ãé åžããPythonã³ãŒããã©ãå®ãã: é£èªåã®å®éšãšå€æè»žã #PyconJP2026
pkshadeck
PRO
2
180
PHPãããžã§ã¯ãã®çµåãã©ã³ã¹ãå¯èŠåãã #php_night
kajitack
0
230
æ°äººã¯ã©ããŸã§èªåã§ãããã©ãããAIã«é Œãã¹ããïŒãšã³ãžãã¢è²æã«åãåã_å 茩ãã¡ã®æ©ã¿ãšç¥èŠå ±æäŒ
toppan_digital_dev
1
580
ããã¢ãKiroã§äœéšãã仿§é§åéçºïœèšèšããã³ãŒãã£ã³ã°ãŸã§AIãšé²ããéçºãããŒ
cmkudo
0
600
é«å°ãã£ãªã¢ LT çºè¡šå 容
crysta1221
6
5.6k
ç°ãªãèšèšææ³ã®ãã¬ãŒã ã¯ãŒã¯ãçµéšããŠåŸãåŠã³
amekuhideki
2
1.5k
æšæºããã±ãŒãžã« uuid ã远å ããã èæ¯ããèŠã Go ãããæææ±ºå® / go_127_uuid_decision
convto
4
3.1k
LoopHub - ããŒã«ã«ã§åã GitHub ã§ãAI ãšå ±åéçº
jugyo
1
460
ããŒãã¹èšèšå ¥é ãããã³ãããã³ã³ããã¹ãã®æ¬¡ã
kinopeee
55
36k
Featured
See All Featured
äžçã®äººæ°ã¢ããª100åãåæããŠèŠãããã€ãŠã©ãŒã«èšèšã®å¿åŸ
akihiro_kokubo
PRO
74
42k
Building Adaptive Systems
keathley
44
3.2k
How GitHub (no longer) Works
holman
316
150k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
How to train your dragon (web standard)
notwaldorf
97
6.8k
Thoughts on Productivity
jonyablonski
76
5.4k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Writing Fast Ruby
sferik
630
63k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
AI Search:âšWhere Are We & What Can We Do About It?
aleyda
0
7.9k
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