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
My First Experience With Functional Programming
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Arkar Min Aung
November 15, 2014
Programming
0
110
My First Experience With Functional Programming
Personal experience on functional programming
Arkar Min Aung
November 15, 2014
Tweet
Share
More Decks by Arkar Min Aung
See All by Arkar Min Aung
From Raw to insight: Taming Streams of IoT Data
arkaung
0
84
Open Education Platform
arkaung
0
35
Other Decks in Programming
See All in Programming
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
AI & Enginnering
codelynx
0
110
CSC307 Lecture 04
javiergs
PRO
0
660
Patterns of Patterns
denyspoltorak
0
1.4k
CSC307 Lecture 09
javiergs
PRO
1
830
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
230
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.1k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.5k
MUSUBIXとは
nahisaho
0
130
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
230
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
94
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
The Pragmatic Product Professional
lauravandoore
37
7.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
99
GraphQLとの向き合い方2022年版
quramy
50
14k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
WENDY [Excerpt]
tessaabrams
9
36k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Transcript
λ
My Experience with Functional Programming Arkar Min Aung iOS Dev
(Nex)
Actually, I am a complete n00b in FP Please excuse
me if I say some stuffs wrong
WHAT IS Functional Programming?
Imperative Programming Telling the machine HOW to do something, and
as a result what you want to happen will happen.
Declarative Programming Telling the machine WHAT you would like to
happen, and let the computer figure out how to do it.
Functional Programming != Functional Programming Language
Functional Programming is inspired by Mathematics
Everything is a function (x) = x+2 (x) = sin(x)
Values are “Immutable”
If, y = sin (x) and, x = π y
= sin (π) It does not make sense to do x = x + 1 you cannot change the state of x
Functions without side-effects
Referential Transparency
Functions are first class citizens
Higher Order Functions Functions which take other functions as args
e.g differential -> d/dx (x^2) = 2x
WHY Functional Programming?
My friend introduced me “Bro, this thingy called FP is
sooo awesome that it will blow your mind on many levels”
Curious
I love Mathematics I love it when a language gives
me Integer size which can grow as big as the resources allow
– Alan J. Perlis “A language which does not change
the way you think is not a language worth learning.”
– Alan J. Perlis “A programming language is low level
when its programs require attention to the irrelevant.”
So what lang did I choose to learn FP? A
programming language should just be a tool for you to complete some task. There is no point fighting over what is better and what is not.
Haskell
Recursion To iterate is human, to recurse divine
Oh yeah! Recursions • GNU • GNU is Not Unix
• ((GNU is Not Unix)NU) is Not Unix • …
Pattern Matching
Purity
Lazy
• Args to a function are evaluated only when needed
for the computation. • Very useful for dealing with very large or infinite streams of data. • Opposite to eager evaluation
Concurrent
So • Imperative Languages: • Efficient execution • Complex syntax
• Concurrency is programmer designed • Functional Languages: • Inefficient execution • Simple syntax • Programs can automatically be made concurrent
My sole purpose
:) Thank you so much
λ @ark_aung @khzaw Ko Thura Hlaing github - trhura
Questions please? or comments? Even if you don’t get stuffs
in this talk, it is my fault for not being able to explain better. Please don’t feel bad.