How my computer started talking to me oddly…

Image for post
Image for post
Photo by Anna Pritchard on Unsplash

The good news in Computer Science is that even the most confusing code base is just another combination of the same Booleans. Any program in this world is a bunch of abstractions built on top of zero and one.
This is why we pretend that CS is not a science, and not even about computers.

It’s complexity-management crafts.

OK, it was an exciting introduction, so what?

My hypothesis is that even without knowing computers, we can rediscover them simply by communicating with them. We will let the machine reveal how it works, just as Socrates did with humans using his maieutics method. …


The filter function is second in our holy trinity

Richard Waters developed a program that automatically analyzes traditional Fortran programs, viewing them in terms of maps, filters, and accumulations. He found that fully 90% of the code in the Fortran Scientific Subroutine Package fits neatly into this paradigm.

— SICP 1979

Image for post
Image for post
Photo by Tyler Nix on Unsplash

We JavaScript coders have the chance to practice a multiparadigm language supporting functional programming.

Do you want to learn that power?

Let’s start with 24 lessons, from Α to Ω, solving our everyday problems.

Lessons Overview:

α. forEach,

β. map,

γ.filter.

Sign In

I speak regularly about the signatures of functions. Signatures are a one-line statement that denote intention (or name) and the inputs and output of a function, like double::number -> number. …


B. The map function — first in our holy trinity

“Map” is an important construct, not only because it captures a common pattern, but because it establishes a higher level of abstraction in dealing with lists.”

— SICP, 1979

Image for post
Image for post
Photo by Devin Edwards on Unsplash

We JavaScript coders have the chance to practice a multi-paradigm language supporting functional programming.

Do you want to learn that power?

Let’s start with 24 lessons, from Α to Ω, solving our everyday problems. Lessons overview: α. forEach, β. map, γ.filter.

Holy Map

Why was one of the greatest historical language of programming humbly named Lisp, for List Processing?

Why do functional programmers make a big deal about a function named map?

The answer to those questions is the same, bound to the true nature of informatics. …


[Α] Using forEach as a diving board to understand Functional Programming

We control complexity by building abstractions that hide details when appropriate.

– SICP, 1979

Image for post
Image for post
Photo by JR Korpa on Unsplash

We JavaScript coders have the chance to practice a multi-paradigm language supporting functional programming.

Do you want to learn that power?

Let’s start with 24 lessons, from Α to Ω, solving our everyday problems. Lessons overview: α. forEach, β. map, γ.filter.

A Simple List Iteration

Consider the following data: a list of strings.

JavaScript is not strongly typed, so a collection bigger than langs could be buggy. Let’s pretend we care, iterate on it, and check the console to see what we get there.

We learned how to do that since day one of our programming journey. …


Journey of a senior developer switching to functional programming

Image for post
Image for post
Photo by Arian Darvishi on Unsplash

Ten years of web development made me feel like Neo, before he met Morpheus. Something was wrong in this world. I had some clues, but I couldn’t explain exactly what it was.

My everyday language was JavaScript. I eventually decided to become a teacher and explain how to make real-world webapps to beginners and juniors.

I didn’t switch careers because I felt established, in fact, it was the opposite. I wanted to be a teacher so I could upgrade my skills, question them, and cure my own impostor syndrome.

Who, after a degree and ten years of practice in a field, can feel like an impostor; an eternal newbie? …

About

Loïc TRUCHOT

JavaScript Senior Programmer and Teacher

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store