Onur Gumus
F#, path to functional enlightenment
#1about 2 minutes
Shifting from object-oriented to functional programming
Functional programming requires unlearning imperative habits to gain benefits like statelessness, which reduces side effects and cognitive load.
#2about 4 minutes
Understanding functions as mathematical concepts
Functional programming treats functions like mathematical operations that always produce the same output for a given input without side effects.
#3about 3 minutes
Exploring unique F# syntax and project structure
F# uses `let` for redefinition instead of assignment and enforces a top-to-bottom file order for dependencies, simplifying code analysis.
#4about 4 minutes
Setting up a live coding environment with Fable
The Fable REPL provides an in-browser environment to write F# that compiles to JavaScript, enabling quick prototyping without local installation.
#5about 3 minutes
Refactoring imperative code into a functional pipeline
The pipeline operator (`|>`) transforms sequential, imperative steps into a declarative data flow by passing the output of one function to the input of the next.
#6about 2 minutes
Using discriminated unions for enhanced type safety
Replacing primitive types like strings with discriminated unions creates a more robust and type-safe domain model that prevents invalid states at compile time.
#7about 3 minutes
Evolving code by appending instead of modifying
New features can be added by creating new functions and types that wrap existing logic, minimizing the risk of breaking tested, stable code.
#8about 3 minutes
Managing errors gracefully with the result type
The built-in `Result` type (`Ok` or `Error`) provides an explicit way to handle operations that can fail, avoiding exceptions for control flow.
#9about 1 minute
Creating reusable logic with function composition
The composition operator (`>>`) combines multiple smaller functions into a single, larger function, creating reusable middleware for complex pipelines.
#10about 3 minutes
Showcasing real-world applications built with F#
F# is used to build complex, real-world applications like a 3D bin packer and a full-stack pizza ordering app with a Blazor-like UI and WebSockets.
#11about 3 minutes
Answering common questions about F# development
The discussion covers the benefits of append-only coding, debugging with source maps, and recommended IDEs like VS Code with the Ionide extension.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
06:04 MIN
Audience Q&A on functional programming concepts
A Guide To Functional Programming
Unlock full access
Log in or set up an account to access this feature and more.
02:00 MIN
Real-world applications of functional programming
A Guide To Functional Programming
Unlock full access
Log in or set up an account to access this feature and more.
05:00 MIN
Core principles of the functional programming paradigm
Down the Oregon Trail with Functional C#
Unlock full access
Log in or set up an account to access this feature and more.
02:13 MIN
Core principles of functional programming
A Guide To Functional Programming
Unlock full access
Log in or set up an account to access this feature and more.
00:31 MIN
Comparing functional and object-oriented paradigms
Phel, a native Lisp for PHP
Unlock full access
Log in or set up an account to access this feature and more.
16:54 MIN
Q&A on type systems and legacy code
Typed Security: Preventing Vulnerabilities By Design
Unlock full access
Log in or set up an account to access this feature and more.
02:36 MIN
Understanding functional programming principles in C++
Functional Programming in C++
Unlock full access
Log in or set up an account to access this feature and more.
02:22 MIN
Benefits of adopting a functional paradigm
A Guide To Functional Programming
Unlock full access
Log in or set up an account to access this feature and more.
Featured Partners
Related Videos
A Guide To Functional Programming
Jemima Abu
WebAssembly: Disassembled
Stefan Schöberl
Antipatterns - nemesis of software development
Mustafa Toroman
Down the Oregon Trail with Functional C#
Simon Painter
Functional Programming in C++
Jonathan Müller
Tackling Complexity With Functional Programming And Kotlin
Georg Dresler
1, 2, 3... Fastify!
Matteo Collina
Using backend languages for frontends: Why ClojureScript is an awesome idea!
Tobias Schröder
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

doinstruct Software GmbH
Berlin, Germany
Senior
GIT
JavaScript
TypeScript

CONTIAMO GMBH
Berlin, Germany
Senior
Python
Docker
TypeScript
PostgreSQL





Fiege Gruppe
Greven, Germany
Intermediate
JIRA
DevOps
jQuery
Gitlab
Kotlin
+13

ELFIN Engineering and Solutions GmbH
€60-68K
Vue.js
Node.js
TypeScript
Software Architecture
+1
