SlideShare a Scribd company logo
Functional Programming and
Web
Umur Ozkul
umur.ozkul@gmail.com
http://www.slideshare.net/publitory/elm-elixir-
functional-programming-and-web
Startup Crisis
● Competition
● Too many bugs
● High Response Time
● Scaling to billion users
● Metaprogramming & Beating the averages
– http://paulgraham.com/avg.html
If there is a nail then every tool is a hammer
Join Formula 1 with a donkey ?
Companies
https://github.com/doomspork/elixir-companies
Note Pinterest
Why Functional Programming is
Trending
No Side Effects
No runtime errors
Evertything is testable
If each user reports 1 bug then think about
10,000,000 users
Better compilers
Concurrency
Why now?
Handling External World and IO
Elm & Elixir are pure functional langages that
handle this problem without getting dirty
Pure functionality leads to efficient compilers
Over simplified view :
fn([event1 … eventN])
Elm
No CSS, No Html, No Javascript
Visual components, like OO but better
Good for mobile clients
Serverless Architecture with
Elm
Nowadays every client is a powerful computer
No need for server side processing
We just need authenticated access to shared
data
No more scalability problem
Serverless Architecture with
Elm
Client Server Database
Elm Client
Authenticated
Shared Data
Elm Links
● Language http://elm-lang.org/
● Application Architecture
● https://www.elm-tutorial.org/en/
● Arcade Game Examples http://builtwithelm.co/
● Elm Component Example
● https://github.com/umuro/elm-mdl-counter-pair
● Mobile Widgets https://debois.github.io/elm-mdl/
Use Haskell syntax highlighting…
Refer to Phoenix installation if you’re in trouble
with node.js installation
Erlang VM
Battle Tested
Distributed processing on the phone satellites
around the world
Best context switching performance
Born in 1987 by Ericsson
We must develop our own language with the
desirable features of Lisp, Prolog and Parlog,
but with concurrency and error recovery built
into the language
Elixir
Good for Servers
Threads, no processes
Erlang VM : Concurrency is natural
Microseconds, not milliseconds
Elixir Phoenix Links
● http://elixir-lang.org/install.html
● http://www.phoenixframework.org/docs/installation
● https://wiki.postgresql.org/wiki/Detailed_installation_guides
● http://www.phoenixframework.org/docs/up-and-running
Do not study Elixir before studying Phoenix
Blorg
$ mix phoenix.gen.json API.V1.Article articles title:string body:text
$ mv web/models/api/v1/article.ex web/models/
$ mix ecto.migrate
$ mix test
Challenge :
Implement (+) button to add new blog
articles
https://github.com/umuro/blorg
Last Word : Endurance
● Walk 7km per day
● Do not sit at least 3 hours per day
● 2 hours of weight lifting per week
Or start to complain that you cannot program
anymore…
http://www.slideshare.net/publitory/elm-elixir-
functional-programming-and-web

More Related Content

PPTX
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
PDF
Learn Elixir at Manchester Lambda Lounge
PDF
GenRetry: Simple Exponential Backoff in Elixir
PPTX
Ansible, Idempotency, and Jenkins
PDF
Building serverless-applications
PDF
Cross platform development
PDF
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
PDF
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
Learn Elixir at Manchester Lambda Lounge
GenRetry: Simple Exponential Backoff in Elixir
Ansible, Idempotency, and Jenkins
Building serverless-applications
Cross platform development
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...

What's hot (20)

PDF
Android development at mercari 2015
PPTX
End to end test automation with cypress
PDF
Cracking android app. Мокиенко Сергей
PDF
PyCon Ukraine 2014
PDF
The dream BEAM - A former DevOps perspective
PPTX
Advanced Appium
PPTX
Let's play with ASP.NET 5 (vNext) RC1
PDF
Mobile automation using selenium cucumber & appium
PPTX
How to Supercharge your PHP Web API
PPTX
Mobile Automation Using Appium - vodQA Bangalore 2015
PPT
Continuous Integration
PPTX
Not your fathers language c++
PDF
When to (use / not use) React Native.
PPTX
Mobile Cross Platform Automation in-practice and on a Large Scale
PDF
J-Spring 2018 - Angular for Java developers
PDF
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
PDF
OpenValue meetup July 2018 - Angular for Java developers
PDF
Code Nomads meetup June 2018 - Angular for Java developers
PDF
Mobile automation using appium.pptx
Android development at mercari 2015
End to end test automation with cypress
Cracking android app. Мокиенко Сергей
PyCon Ukraine 2014
The dream BEAM - A former DevOps perspective
Advanced Appium
Let's play with ASP.NET 5 (vNext) RC1
Mobile automation using selenium cucumber & appium
How to Supercharge your PHP Web API
Mobile Automation Using Appium - vodQA Bangalore 2015
Continuous Integration
Not your fathers language c++
When to (use / not use) React Native.
Mobile Cross Platform Automation in-practice and on a Large Scale
J-Spring 2018 - Angular for Java developers
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
OpenValue meetup July 2018 - Angular for Java developers
Code Nomads meetup June 2018 - Angular for Java developers
Mobile automation using appium.pptx
Ad

Viewers also liked (20)

PDF
Making multiplayer game with Elixir and Elm
PDF
Elm or how I learned to love front-end development
ODP
1.7 functional programming
PDF
The essence of Reactive Programming
PDF
The taste of F#
PDF
Designing with Capabilities
PDF
Real-World Functional Programming @ Incubaid
PDF
Doge-driven design
PDF
The Theory of Chains
PDF
Slick 3.0 functional programming and db side effects
PDF
Functional programming
PDF
Dr Frankenfunctor and the Monadster
PDF
Swift vs. Language X
PPTX
Functional Programming with C#
PDF
16 logical programming
PDF
Functional Programming with Immutable Data Structures
PDF
Domain Driven Design with the F# type System -- NDC London 2013
PDF
Designing with capabilities (DDD-EU 2017)
PDF
Thirteen ways of looking at a turtle
Making multiplayer game with Elixir and Elm
Elm or how I learned to love front-end development
1.7 functional programming
The essence of Reactive Programming
The taste of F#
Designing with Capabilities
Real-World Functional Programming @ Incubaid
Doge-driven design
The Theory of Chains
Slick 3.0 functional programming and db side effects
Functional programming
Dr Frankenfunctor and the Monadster
Swift vs. Language X
Functional Programming with C#
16 logical programming
Functional Programming with Immutable Data Structures
Domain Driven Design with the F# type System -- NDC London 2013
Designing with capabilities (DDD-EU 2017)
Thirteen ways of looking at a turtle
Ad

Similar to Elm & Elixir: Functional Programming and Web (20)

PDF
Beam me up, Scotty
PPTX
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
PDF
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
PDF
Phoenix for Rubyists
PDF
EclipseCon Eu 2015 - Breathe life into your Designer!
PDF
Intro to Elixir talk
PDF
What is Elm and Why Should I Care?
PPTX
dot net technology
PDF
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...
PPTX
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
PDF
An overview of the architecture of electron.js
PDF
Apache Flex and the imperfect Web
PDF
How to build a tool for operating Flink on Kubernetes
PDF
Mobile cross platform tools
PPT
Intro To AOP
PDF
ATDD Using Robot Framework
PPTX
Elixir Phoenix
PDF
WebGL games with Minko - Next Game Frontier 2014
PPTX
Java vs .Net
Beam me up, Scotty
Node.js meetup 17.05.2017 ember.js - escape the javascript fatigue
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
Phoenix for Rubyists
EclipseCon Eu 2015 - Breathe life into your Designer!
Intro to Elixir talk
What is Elm and Why Should I Care?
dot net technology
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
An overview of the architecture of electron.js
Apache Flex and the imperfect Web
How to build a tool for operating Flink on Kubernetes
Mobile cross platform tools
Intro To AOP
ATDD Using Robot Framework
Elixir Phoenix
WebGL games with Minko - Next Game Frontier 2014
Java vs .Net

Recently uploaded (20)

PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Essential Infomation Tech presentation.pptx
PDF
System and Network Administraation Chapter 3
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
AI in Product Development-omnex systems
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
medical staffing services at VALiNTRY
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Digital Strategies for Manufacturing Companies
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Essential Infomation Tech presentation.pptx
System and Network Administraation Chapter 3
Internet Downloader Manager (IDM) Crack 6.42 Build 41
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
medical staffing services at VALiNTRY
Odoo POS Development Services by CandidRoot Solutions
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
How to Migrate SBCGlobal Email to Yahoo Easily
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Digital Strategies for Manufacturing Companies
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Design an Analysis of Algorithms II-SECS-1021-03
wealthsignaloriginal-com-DS-text-... (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...

Elm & Elixir: Functional Programming and Web

  • 1. Functional Programming and Web Umur Ozkul umur.ozkul@gmail.com http://www.slideshare.net/publitory/elm-elixir- functional-programming-and-web
  • 2. Startup Crisis ● Competition ● Too many bugs ● High Response Time ● Scaling to billion users ● Metaprogramming & Beating the averages – http://paulgraham.com/avg.html If there is a nail then every tool is a hammer Join Formula 1 with a donkey ?
  • 4. Why Functional Programming is Trending No Side Effects No runtime errors Evertything is testable If each user reports 1 bug then think about 10,000,000 users Better compilers Concurrency
  • 5. Why now? Handling External World and IO Elm & Elixir are pure functional langages that handle this problem without getting dirty Pure functionality leads to efficient compilers Over simplified view : fn([event1 … eventN])
  • 6. Elm No CSS, No Html, No Javascript Visual components, like OO but better Good for mobile clients
  • 7. Serverless Architecture with Elm Nowadays every client is a powerful computer No need for server side processing We just need authenticated access to shared data No more scalability problem
  • 8. Serverless Architecture with Elm Client Server Database Elm Client Authenticated Shared Data
  • 9. Elm Links ● Language http://elm-lang.org/ ● Application Architecture ● https://www.elm-tutorial.org/en/ ● Arcade Game Examples http://builtwithelm.co/ ● Elm Component Example ● https://github.com/umuro/elm-mdl-counter-pair ● Mobile Widgets https://debois.github.io/elm-mdl/ Use Haskell syntax highlighting… Refer to Phoenix installation if you’re in trouble with node.js installation
  • 10. Erlang VM Battle Tested Distributed processing on the phone satellites around the world Best context switching performance Born in 1987 by Ericsson We must develop our own language with the desirable features of Lisp, Prolog and Parlog, but with concurrency and error recovery built into the language
  • 11. Elixir Good for Servers Threads, no processes Erlang VM : Concurrency is natural Microseconds, not milliseconds
  • 12. Elixir Phoenix Links ● http://elixir-lang.org/install.html ● http://www.phoenixframework.org/docs/installation ● https://wiki.postgresql.org/wiki/Detailed_installation_guides ● http://www.phoenixframework.org/docs/up-and-running Do not study Elixir before studying Phoenix
  • 13. Blorg $ mix phoenix.gen.json API.V1.Article articles title:string body:text $ mv web/models/api/v1/article.ex web/models/ $ mix ecto.migrate $ mix test Challenge : Implement (+) button to add new blog articles https://github.com/umuro/blorg
  • 14. Last Word : Endurance ● Walk 7km per day ● Do not sit at least 3 hours per day ● 2 hours of weight lifting per week Or start to complain that you cannot program anymore… http://www.slideshare.net/publitory/elm-elixir- functional-programming-and-web