Let's learn about Functional Programming via these 105 free stories. They are ordered by most time reading created on HackerNoon. Visit the /Learn Repo to find the most read stories about any technology.
Dig Recursion? Welcome to functional programming
1. Object-oriented Programming vs. Functional Programming: Which Is Better?
Let’s dive in to learn about object-oriented programming and functional programming. What is object-oriented programming/OOP? What's functional programming/FP?
2. Inheritance vs Composition: Using a Role-Playing Game in JavaScript as an Example
How to avoid inheritance problems using composition and functional programming
3. Functional Programming is a Lie
Or a small rant against Elixir.
4. Practice with Functional Programming in Go
Take a look at a functional programming paradigm in Go
5. How To Implement Simple State Container From Scratch
Let's imagine that we have a component, a simple counter. The counter has a state and two buttons to manipulate with this state. We also have a function to render the state.
6. How to use componentWillMount with Functional Components in React
Functional components are far more efficient than class based components. Less code is needed to be written to achieve the same goal.
7. Modern Style of Javascript with Arrow Functions
The complete explanation of Arrow functions in Javascript, and how it helps developers to write flexible and consistent code.
8. Creating a Middleware in Golang for JWT based Authentication
Golang has been a popular language over the past few years known for it's simplicity and great out-of-the-box support for building web applications and for concurrency heavy processing. Similarly, JWT (JSON Web Tokens) are turning into an increasingly popular way of authenticating users. In this post I shall go over how to create an authentication middleware for Golang that can restrict certain parts of your web app to require authentication.
9. Including Files and Deeply Directories in Rust
One of the things that's been criticized by newbies in Rust is the file include mechanism. About 2 days ago, I spent around 5 hours on how I was supposed to include a file that was referenced deep down in a directory tree. The docs didn't help, as they were simple structures. Here I'll show you how you can include your code in different parts of the application, even when the structure is complex, and save you hours on how to do this supposedly trivial task.
10. Implementing JavaScript Promise in 70 lines of code!
Ever wondered how JavaScript Promise works internally? Obviously there is some native browser support involved, right? Nope! We can implement the Promise interface using pure JavaScript, examples are libraries like Bluebird or Q. And it’s much simpler than you may think, we can do so in only 70 lines of code! This will help with gaining a deeper insight into Promises by demystifying the underlying formation. Can also serve as a good interview question, if you are an evil employer (don’t be!). Let’s dig into it!
11. 9 Functional Programming Concepts Everyone Should Know
This article will introduce functional programming concepts that every programmer should know. Let's begin by defining what functional programming is (FP from now on). FP is a programming paradigm where software is written by applying and composing functions. A paradigm is a "Philosophical or theoretical framework of any kind." In other words, FP is a way for us to think of problems as a matter of interconnecting functions.
12. Learn Functional Python Syntax in 10 Minutes [Tutorial]
In this article, you’ll learn what the functional paradigm is and how to use functional programming in Python. You’ll also learn about list comprehensions and other forms of comprehensions.
13. You might not need if statements: a better approach to branching logic
What a ridiculous title, of course you need if statements.
14. Learn Advanced TypeScript
Despite the popularity of currying and the rise of functional programming (and of TypeScript), it is still a hassle today to make use of curry and have proper type checks. Even famous libraries like Ramda do not provide generic types for their curry implementations (but we will).
15. The Best Programming Languages for Working with AI
You will require coding skills if you want to work in the field of artificial intelligence (AI). How do you begin? and Which programming language to use?
16. Have you Used the Streams API in Java?
Introduction to streams API
17. Choosing Your First Programming Language: A Beginners' Guide
Choosing the best programming language to learn first can be overwhelming. We are reviewing popular languages and giving resources to learn them for FREE.
18. Why Mutable Developers are Essential for Learning New Paradigms
The process to learn functional programming can be daunting and slow as new concepts are involved. Here are 5 tips for you to consider when learning FP.
19. Eliminating Event Storms With Debouncing in JavaScript
Using debounce, the function will be executed only when a certain amount of time has passed since the last function call.
20. React Functional Components are the future
React Functional Components grabbed all the attention after the introduction of Hooks. They sidelined Class Components to become the main hero of React apps.
21. The Noonification: Bouncy Castle (1/19/2023)
1/19/2023: Top 5 stories on the Hackernoon homepage!
22. Using Union Types to Improve Your TypeScript Code
What are union types and how you can use them to your advantage!
23. A Closer Look at Immediately Invoked Function Expressions (IIFE) in JavaScript
Immediately invoked function expressions, or IIFE, are functions that are run as soon as you define the function.
24. Inheritance vs Composition in JavaScript
Inheritance vs Composition in JavaScript. What is better, when use inheritance, when use composition. We will look at different examples on JS.
25. Higher Order Functions in C#: A Practical Example
If you have been programming for any length of time, you may well have come across higher-order functions but may not have fully appreciated them.
26. Array Filter vs Array Reduce vs For Loop
Array reduce is a powerful functional programming technique that can be used to simplify complex data manipulation tasks. One of the main advantages of using array reduce over traditional for loops and filter operations is that it allows for more concise and expressive code.
27. Functional Programming In Ruby: How To Create Pure Functions
In functional programming, pure functions are at the core of this paradigm. When we speak of pure functions we mean that these functions satisfy two main conditions; the first is that they will not cause any side effects and the second is that depending on their arguments they will return the same result. When you create pure functions you should try to make them take care of one thing and only one, so your functions will be very easy to test and scale. Consider the following function:
28. How the TypeScript NonNullable Type Works
The NonNullable type is a utility type in TypeScript which creates a new type, whilst removing all null or undefined elements.
29. Folding in C++ using Variadic Function Template
Template parameter pack was introduced in C++11. Today we will utilise it to write our fold function. To the ones who don't know what a fold function the expression fold(add, 1, 2, 3, 4, 5) , we will output (1 +(2 + (3 + (4 + 5)))) = 15 (which is left fold). Similarly for fold(mul, 1, 2, 3, 4, 5) , we will output 120. More about it can be found here.
30. JavaScript Loops: for/forEach/for.. in/for.. of Explained
There are quite a few ways in Javascript to loop through an array of items or any other iterable item in Javascript. You may have seen them:
31. Say Goodbye to Null-Checking and Exceptions: Using the Maybe Monad in Symfony
Functional programming is old. But it did not become popular, and probably for a reason.
32. The Basics of The Firmware Development Process
Firmware development is a necessary process in creating a new device and an embedded system. All the features and functionality of a device depend on its firmware. In simple words, firmware lies between software and hardware parts. So, it helps run software on a device and makes hardware perform required functions without involving users.
33. Default Parameters in JavaScript: Beginners Guide
In this short article we will cover Function Defaults and learn how to use it in our day to day JavaScript programming. This article assumes you have some familiarity with coding in the JavaScript ecosystem.
34. My Experience with Length Control for a DC Actuator
It all started when we ordered an actuator, with an encoder, from China for a project. But something went wrong, and a month later, we received actuators withou
35. Writing Fluent Functional Code
Fluent code should make you feel happy, like this image does.
36. What Is Haskell, Who Uses It, And Where Can You Learn To Code It
Haskell language (and functional programming approach) has become more and more popular in the industry – businesses need robust and safe software solutions, and some of the problems can’t be solved without an advanced technological stack.
37. How DevOps Evolved Into DevSecOps
The rise in cybercrime and the sophistication of attacks has made security a crucial part of the development process and not just an afterthought.
38. Using Go Defer and Rust Drop to Defer the Call to Rollback
Forgetting to close things off in Go can potentially come back to bite you. The most basic and straightforward method is to call rollback or commit.
39. Model-View-Controller Architecture Pattern: Usage, Advantages, Examples
How the MVC architecture is built, how the code is structured and it can benefit your work.
40. Understanding Currying, Closures, and Coupling in JavaScript
Here's a problem. You have an object in your code exposed via an export. You also have a function in the same file (also exported) consuming that object directly.
41. 100 Days of Code: Death of Summer on the Island of NixOS
We are a hundred days deep in the Lambda Quadrant part of the galaxy, resting on a deep space Moonad, myself and my crew, my parter and my lovematch, our infant son, and a cat. We study the properties and relations of Haskell abstract entities, enjoying meditating the pure functional programming vibe. It is deep work and we take time and turns. We also watch the second season of Star Trek Discovery and enjoy seeing the bright stars of its universe.
42. My Experience with Scala
If you are learning scala or wondering if you should use for new project in your organisation, I suggest that you do. As always, see if scala and scala’s ecosy
43. How learning Elixir helped me build a SaaS for Marketers
In 2019, I was looking for a project.
44. Functional Programming is not What Makes Haskell Great
This post is substantially directed to non Haskellers. Haskell frequently appears on hackernews or /r/programming but the content is commonly evangelizing some aspect of functional programming, strong types, and purity.
45. Programmer's Version of Schrodinger’s Cat: Options for JavaScript
Bringing Options to JavaScript and TypeScript.
46. Understanding the background of the Hospital Bed Rental Industry
Healthcare organizations that follow HIPAA guidelines must be explicitly aware of security threats. Ethical hacking needs a more critical role in the framework.
47. Functional Programming in Javascript for Busy People
You’ve probably used map, reduce, and other functional methods in Javascript before, but there are a few use cases you probably haven’t thought about much or used before. In this post, I’d like to go over these methods (and a few other surprises!) to show what’s possible.
48. Javascript: From Objects to Factory Functions And Modules
Objects
49. Сurrying 101: A Quick Guide for JavaScript Devs
The essence of currying is simple: to take a function of any arity (number of expected arguments) and make it into a unary function.
50. Exploring the Potential of Bioinformatics with C#
In this article, we'll examine how to apply bioinformatics and C# coding to effectively deal with biological information.
51. Functional Programming: An Effective Approach for Experienced Programmers
Functional programming is a way of writing code that relies on the use of functions to solve problems.
52. Essentials of Vintage QuickCheck - Property-Based Testing (Part 2)
Learn how the first property-based testing library, QuickCheck, works by implementing it in Python.
53. A Brief Introduction to Lambda Expressions in Python
Lambda expressions in python are one-time anonymous functions which we don’t need more than once.
54. Where is Your Deep Object in the Query?
From version v3, the OpenApi standard brings another way to introduce query parameters via DeepObject.
55. Inserting 'User Profile Info' into your React Navbar
This article shows you how to insert the profile information of any user into the react navigation bar, so as to make it sign-in aware.
56. Understanding Chrome V8 - Chapter 24: How does V8 Describe Your JavaScript Function
"Let's Understand Chrome V8" are serial technology articles that explain the V8 code, it covers many V8 kernel functions and fundamentals.
57. Functional Programming in Python (with Examples)
Simply put, functional programming is a programming style that relies exclusively on functions.
58. Higher-Order Function in JavaScript with ES6 Examples
In this article, we are going to learn higher-order functions in JavaScript, as well as see the ways you can use them.
59. Function Composition (Pipe, Compose) in JavaScript Explained
Functional programming is about developing small simple functions and combining them for the purposes of executing more complex tasks.
60. Building Your Own Programming Language From Scratch Part IV: Implementing Functions
Build your own Programming Language from Scratch Part 4, where we start new function constructions & implementing functions.
61. This is How You Can Learn All Programming Languages, Yes - “all”
62. Functional Programming Techniques in Java with Examples
If you’re a Java developer, I’m sure that you have seen code similar to the featured image snippet above at least once. The code in the snippet above is an example of functional programming paradigm implementation in Java, which will filter and transform the List<String> in the request to another List<String>.
63. Welcome to the OOP pattern matching: Visitor Pattern
Visitor pattern is dead. Long live to Visitor pattern. (With Kotlin examples)
64. How To Design Domain Model in Kotlin
Type-safe domain modeling in Kotlin. If it compiles, it works. With Valiktor and Konad
65. Elm in Production: Developer Reflections After 34k Lines of Code
(Photo by Diego Madrigal from Pexels)
66. Demystifying SOLID Programming (Part 1): Single Responsibility Principle
We dive deep into the first principle of SOLID programming, the Single responsible principle. It states "A class should have one and only one reason to change"
67. Kotlin Nullables: How to Compose Them Right
How to compose independently computed Kotlin nullables, in an easy and clean way
68. 10 Questions for Aswin Ganesh, Noonie Nominee for Functional Programming
The 2020 #Noonies are here! And they are both much greener and much bigger than last year. Among the 2,000+ deserving humans nominated across 5 categories for over 200 award titles, we discovered Aswin Ganesh from India, who’s has been nominated for Hacker Noon's Contributor of the Year in our Functional Programming category. Without further ado, we present to you, our big techy world in 10 questions, from the perspective of Aswin.
69. Hands-On Project: Oh-My-Bill
The first exercise for my mentees was to draw on a piece of paper the interface that they see for this application.
70. Some Ways to Apply Some Programming Wisdom in Real Lives - Exceptions
What would happen if we apply some wisdom from handling exceptions to handling negative emotions?
71. How to Use Azure Functions to Build a QR Code Generator
How to build a fun QR code project and learn about Azure Functions at the same time. Using the latest .NET technologies.
72. Multiclass Classification with Keras
In the article the author describes the common pipelane of multilass classification solution using keras
73. What is Lexical Functional Programming ?
Lexical functional programming - jargon and naming convention. How to standardize descriptive names?
74. How to Implement the Perceus Reference Counting Garbage Collection
Experience in implementing the Perceus reference counting algorithm in the Pen programming language
75. A Deeper Look into Method References in Java
What Are Java Method References And Kinds Of Method References Available?
76. Higher-Order Functions Explained
Whether you are a beginner or a 10x developer, chances are that you have used the methods of the Array Object. The methods in the Array Object are classified into two different categories. One category takes a value as arguments( string, integer, array, object) and another category takes a function as arguments. l
77. An Introduction to F# as Microsoft's / .NET's Answer to a Functional-First Programming Language
Recently I've been learning how to write code in F#. For those who haven't heard of it, F# is Microsoft's/.NET's answer to a functional-first programming language. My motivation was to learn a functional programming language that would make coding for scientific computing and data analysis more expressive, concise, and maintainable, all while fitting seamlessly into the .NET ecosystem that I already know and love. F# fits that bill perfectly.
78. How To Use The Spread Operator on a Function
You can’t officially do it, but you can write a function that does virtually the same thing. Let’s see how and maybe why you should.
79. Shrinking for Easier Debugging - Property-Based Testing (Part 3)
An explanation and short implementation of how shrinking works in property-based testing
80. Implementing a Java Stream Collector
Java Stream's Collectors methods fit most use-cases. They allow returning either a Collection or a scalar. For the former, you use one of the toXXX() method, for the latter, one of the reducing() one.
81. Hannes Mehnert on MirageOS and OCaml
Our backend engineer, Pavel Argentov, traveled to Marrakech, Morocco to attend the ninth MirageOS retreat, which was held from March 13-19, 2020. The goal of the event is to bring both experienced and brand new MirageOS users together to collaborate and sync various MirageOS subprojects, start new ones, and help each other fix bugs.
82. Everything You Need to Know About Using Elixir for Web Development
The Erlang VM-based programming language, Elixir, is slowly but surely gaining popularity. Let's take a look at some benefits of Elixir development.
83. Telegram Bot In Scala 3 With Bot4s + http4s + Doobie for CI notifications
Scala 3 is finally here, but have you seen many real-world applications written in it? In this article, I will show you an example of such an application!
84. Functional Programming Paradigm in JavaScript
There’s nothing new about Functional Programming. Functional Programming has been around for much longer than OOP as it dates back to the 60s.
85. How to Design Pure Functions
Today I am going to talk about how to design Pure Function and help you understand the benefits of pure function.
86. Functional Programming in Python For Beginners
Learn about functional programming, pure functions, map(), filter(), zip(), reduce() concepts
87. Refactoring using Functional Programming
What
88. Functor Applicative and Monads
I am putting my understanding about functor,Applicative and Monad after spending few days to find out what monad is . Here is what I found. I am using Kotlin to explain with examples
89. 3 Things I Learned in 1 Year Working with Functional Programming
Just like the great majority of programming-related courses, I was introduced to programming with the object-oriented paradigm (OOP). Even though many languages are multi-paradigm, like Python, C++, JavaScript and Ruby, we still have OOP as the norm.
90. The .NET Framework Is The Most Suitable Language For Businesses And Here's Why
By far, Microsoft .NET is one of the best platforms for building secure, robust, and scalable desktop or web applications. Used by most Fortune 500 companies, Microsoft .NET is very popular for large-scale applications.
91. Recursion Can Be Weirder Than You Think
I love recursion. I think it's a very elegant way of writing code, and sometimes it lets you write simple but yet effective pieces of code. And if you happen to use languages like Scala, then recursion is a must.
92. A Closer Look into Different Programming Styles and Paradigms
Imperative and declarative styles of programming.
93. Become a Better Developer by Learning Functional Programming in JavaScript
Functional programming is a programming paradigm. This post tells you the basics and benefits of it and how to use it in JavaScript.
94. ClojureScript Macros: A (Not So) Long Journey [Part I]
I’m learning the Clojure and ClojureScript craft and I must say, I enjoy it. This article explains what leads me on the track of learning Clojure/Script macro. This is the first part of my journey on this topic.
95. Senior Engineer`s Opinion: Why Does Scala Win Against Kotlin?
This article is based on a story of one of our developers, ex Java now Scala developer, who decided to follow the Scala path because he found writing in Scala extremely developing and interesting.
96. Functional Programming and Justice in a World Without Time
My grandfather was staring deeply into the television screen in the dimly lit living room. After his cataract had over matured, he swapped the newspaper he peeled through every morning for a news channel with as much depth as the flat screen it was served on.
97. Query Select All The Things!
Almost all the Codepens I've written this year have had some form of a JavaScript function that I call qs()(). That's not a typo! There are two sets of parenthesis following it, and it is good practice as this function uses closures. In just one line, I create a Swiss Army knife of several functions.
98. What is Functional Programming?
Most of what I will discuss in this article is knowledge accumulated from reading, “Functional Programming in JavaScript”, by Luis Atencio. Let’s dig right in…
99. Seeing Javascript Objects as Functions Changed How I Code
So you probably know that functions are objects in javascript (if not go up the prototype chain of a function to find out). But recently, I noticed that javascript objects can be treated like functions. Which leads to some pretty cool implications!
100. State Machines Can Help You Solve Complex Programming Problems
The notion of state machines is extremely useful in programming. It streamlines the process of developing more complicated use case apps.
101. Swift Dependency Injection With Functions
Implementing an architecture within an application can be challenging. There are rules we can follow (SOLID, Clean Architecture) and patterns to guide us (MVVM, MVP, MVI, Redux, …) but sometimes, things we thought were well established deserve a step back.
102. How To Create Simple API Client with ZIO and Http4s
Discussing with a brazilian friend about the situation in our country, we realised how difficult it is to find information about public spending, and when available, how difficult it can be to reason about it. Joining our forces, we decided to explore some data exposed by the Brazilian government, aiming to provide an easier way to visualise and understand how the public resources has been used.
103. Forms of Composition in JavaScript and React
One of the core ideas in functional programming is composition: building larger things from smaller things. The canonical example of this idea should be familiar with legos.
104. Composable Resource Management in Scala
We’re all using resources on a daily basis. You turn on the water tap, wash your hands for at least 20–30 seconds, and turn it off. You switch the light on if it’s dark, and off when you no longer need it.
105. ClojureScript Macros: A (Not So) Long Journey [Part II]
The writing of Clojure/Script macro may seem as a wizard senior programming craft, but this article will show you that it's not the case. This is the second part of my journey to learn Clojure/Script macro and this article will deal with Clojure macro.
Thank you for checking out the 105 most read stories about Functional Programming on HackerNoon.
Visit the /Learn Repo to find the most read stories about any technology.