Functional programming - A general introduction

preview_player
Показать описание
The functional paradigm is a bit different from the ones most people are familiar with. This is why I decided to make a video about it, to present its general features without talking about any language in particular, and without ever mentioning category theory.
Рекомендации по теме
Комментарии
Автор

the constant java bashing is totally appreciated, subbed

raianmr
Автор

if you chant “a monad is a monoid in the category of endofunctors” twice in the mirror at 3am something awesome will happen

haleyhalcyon
Автор

I first became interested in functional programming when I noticed how Haxe's compiler code base, which transpiles/compiles to several other languages/VM bytecodes was so concise and efficient, especially given it's broad language output support.

bharold
Автор

Good introduction. Note that no "functional languages" in common use are pure. "pure functional programming", as a consequence, is not really a common practice. For example, Haskell has mutation in the IO monad, and GHC also has mutation in ST and STM monads. While structured and safe, these mutable variables are not pure.

CorbinSimpson
Автор

Yaay! Thanks. Now I have basic idea about functional paradigm. (Sadly, I still don't know what a monad is, but this is my own adventure)

БогданСкулимовский
Автор

The idea that you shouldn't or cant assign the results of a function to a variable and pass the variable into another function is a terrible property/feature of functional languages.

Assigning something to a variable isn't alwaus necessary but it can help to express what the return value represents.

This named value or named function approach makes for a much more readable experience which should be a priority for any code base.

ImperiumLibertas
Автор

didn't understand shit but definitely rewatching later to see if i can understand, because your explanation and your video seem very friendly and well executed

sournois
Автор

I have understood lambda calculus for almost a decade by virtue of doing quasi-functional programming in imperative languages. It wasn't until this video's simple and concise explanation that I realized that fact.

byrondumont-eve
Автор

you got me at "private abstract anxious elaborate verbose void" :D

iham
Автор

I'm enteriely sure, but C# (probably by near presence of F# team) evolves more and more in this direction: patter matching and expression version of things like switch etc.

AK-vxdy
Автор

Sont ask woman here age
Man his salary
Functional programmer how to print out string

kezif
Автор

Question: @ 6:33, isn’t the function called inside my_sum supposed to be my_sum again?

soyitiel
Автор

I'm just about to finish a programming languages course at university where most of the class was focused on functional programming with OCaml and Racket. Honestly I like it a lot better than object oriented programming because of how elegant it is.

SwagDawg
Автор

Awesome video as always. Hope some day you get a recognition you deserve!

dermakol
Автор

I think I understood how this works—great job there, I really appreciate it!—but not why I would ever want to use it. It seems substantially less clear and intuitive than writing in an imperative style, even in the off-chance that one is already familiar with lambda calculus. It seems like something that might have a kind of elegance or charm to it, but at the high cost of having to painstakingly rewrite your own ‘code’ in order to ever feel comfortable with it, akin to learning a foreign language (the kind that you speak, I mean) that uses an entirely different word order, set of characters, phonemes, etc from your native tongue (the difference being, I know why I’d want to do that, but not why I’d want to code functionally).
I’m sure this is, somehow, a failure of imagination on my part. Can you maybe point to some simple code examples or real-life programs that might start to demonstrate why I’d want to do things this way?

bilditup
Автор

I wish my Programming Languages professor explained tail recursion the way you did. You condensed an entire unit and miserable explanations into like 5 seconds

YoshikoJanai
Автор

this is fire
keep up with the good work

taxi_a
Автор

Lambda expressions are handy but pure functional programming seems to be rather niche. OOP is clunky but in most cases you need to process some kind of data. Representing data as a hypothetical quantum entangled self referencing einstein-rosen function instead of an object sounds even more clunky :D
Nice video!

Terrados
Автор

I feel like programming in pure functional just makes more sense in programming overall, it makes it way easier to model stuff, break down code into components in a sound way, crazy robust typing system, way less stuff to learn, lesser updates, lesser changes, lesser hidden obscure magic, and standardized code structure that allows for some great features like making it easy to have several languages as compilation targets.

The problem really is that the community now is way too convinced that the right thing to do is "use the right tool for the job" and ironically javascript is being used in almost every domain possible, and its not helping that most of them think using functional languages must only be used in something like algorithmically-intensive mathematics problem or some research paper.

jma
Автор

Love your channel, you need to keep making these videos man, hard to find such quality content recently. (PS, can we please get a haskell tutorial <3)

dazai