105 Stories To Learn About Functional Programming

Written by learn | Published 2023/05/01
Tech Story Tags: functional-programming | learn | learn-functional-programming | programming | javascript | coding | software-development | web-monetization

TLDRvia the TL;DR App

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.


Written by learn | Lets geek out. The HackerNoon library is now ranked by reading time created. Start learning by what others read most.
Published by HackerNoon on 2023/05/01