Erik Meijer: Functional Programming

  Рет қаралды 101,244

jasonofthel33t

jasonofthel33t

Күн бұрын

Пікірлер: 84
@utubekade
@utubekade 5 жыл бұрын
this guy really knows how to explain a concept
@Веник-ы1ь
@Веник-ы1ь 9 жыл бұрын
A very good introduction on what functional programming is!
@MariuszZaleski13
@MariuszZaleski13 8 жыл бұрын
So, honesty in programming leads to great opportunities and possibility to progress and evolve. It does exactly this same when honesty is applied in life. What a show and what a Life. I love it :-)
@aoeu256
@aoeu256 3 жыл бұрын
I know this is old, but Koka language made it easier to bridge the gap between imperative and purely functional languages without using Monads that are hard to combine together (it had native support for fused effects).
@Canonall
@Canonall 4 жыл бұрын
I feel you can really see how his perspective on programming in general and specifically functional programming, but lead him to develop reactive extensions. Very enjoyable talk!
@JavnaGolina
@JavnaGolina 11 жыл бұрын
I don't like using brain power, but I still program quite a bit more functionally than your average programmer because I find it much easier. a map is much easier than a for loop. a recursive function is much easier than a while loop. It's just more declarative - often mutating variables has nothing to do with the problem I am solving. Also part of the issue is if you're looking for an algorithm you're almost always going to find it in an imperative form.
@pewpewpew8613
@pewpewpew8613 4 жыл бұрын
how honest is the head function in the haskell? it has a type head :: [a] -> a but it will throw an exception if you pass empty list.
@kelleydv
@kelleydv 11 жыл бұрын
15:50 for functional programming
@JeffSmith03
@JeffSmith03 10 жыл бұрын
So many times I wanted to see what he just circled or added to answer a question, but the camera was left only on him and eventually he erased it without ever showing us. Other than that, I think this was quite helpful to get a better idea what functional is about.
@epiphoney
@epiphoney 4 жыл бұрын
Powershell uses lambdas or anonymous functions all the time, but they're called "script blocks". They can be passed around like functions in Haskell.
@signify218
@signify218 9 жыл бұрын
Excellent video. Thank you so much for uploading.
@jasonofthel33t
@jasonofthel33t 11 жыл бұрын
24:25 for monads
@WateryIce54321
@WateryIce54321 8 жыл бұрын
After watching a few of these videos it is really confusing to just hear an unplanned, abstract "discussion". I would love to hear a presentation where Mr Meijer actually plans everything out in advance.
@jpphoton
@jpphoton 7 жыл бұрын
Lay it down boys! Really excellent insight into FP. Thanks indeed.
@FlashManinSpace
@FlashManinSpace 9 жыл бұрын
Mathematics was never meant to modify the real world at run time!
@mateja176
@mateja176 6 жыл бұрын
mathematics is the foundation for the real world
@Mephistel
@Mephistel 5 жыл бұрын
@@mateja176 The real world is the foundation for mathematics
@smwnl9072
@smwnl9072 Жыл бұрын
Mathematics is a derivative of the real world.
@lichen420
@lichen420 5 жыл бұрын
That tye-dye is off the hiznook. Very well done.
@lucasa8710
@lucasa8710 2 жыл бұрын
you can encapsulate your business rules in a pure world and then implement it (UI, DB, Log, Exceptions, etc.) in a unpure side-effectfull world
@charvakpatel962
@charvakpatel962 8 жыл бұрын
You should have explained this in your C9 lectures.
@MasthaX
@MasthaX 4 жыл бұрын
First time I see monads actually explained practically without too much mathy fuzz.
@eloycaballo
@eloycaballo 7 жыл бұрын
This guy knows what functional programming is and how to take advantage of its concepts to apply them to imperative PL, and why impurity is in fact practical. He propouses and inversion of concepts in new PL, instead of difining purity by default which is seldom used in practical programming should be define the inpurity by default and purity explicitly. This guy has all clear!!!
@1videoshow
@1videoshow 9 жыл бұрын
Why pure? It must work. And you must be able to rely on it. Ada is an example of a secure programming language used in critical environments where side-effects can cause the loss of life, if it happens. (It can happened also in Ada.) BUT, it is more un-likely, this begins with the syntax and layout of the program, then with the compiler, then with the runtime, etc.
@DisfigurmentOfUs
@DisfigurmentOfUs 9 жыл бұрын
Thank You very much
@TerellB93
@TerellB93 9 жыл бұрын
Can anyone tell me what is meant by the following notation? (x,x)
@paligamy93
@paligamy93 9 жыл бұрын
Terell Brown Let's say f(3) returns true. If it's a pure function, it will always return true no matter what if you use the argument 3. So you can now assign it to a constant (he uses x) so if you're trying to find a point in a graph and the x is at f(3) and y is at f(3) (f(3), f(3)) then you can logically replace the f(3) with the constant (x, x) hope that makes things clearer
@FlashManinSpace
@FlashManinSpace 9 жыл бұрын
Terell Brown if x,x are of the same value it is pure. Else it is a impure. With side effects states can never be pure.
@jcfbell3001
@jcfbell3001 11 жыл бұрын
can you elaborate? perhaps an example?
@mateja176
@mateja176 6 жыл бұрын
Let's say we have a program composed out of a 100 functions. 99 of those functions are pure whereas only 1 is impure. The whole program now becomes impure. However that 1 impure function doesn't undermine the value of the 99 pure functions. 99 parts of a 100 part puzzle, put together, still mean something.
@johnvoid5294
@johnvoid5294 6 жыл бұрын
as Erik said that there is no midpoint, i should avoid Scala and go all the way to Haskell!
@kevingrieger
@kevingrieger 11 жыл бұрын
Here is the *real* problem with functional programming. Most programmers suck at their jobs. They either can't or won't use their brains to their full potential. Functional programming requires quite a bit more brain power than imperative programming, and that conflicts with alot of programmers mentality. Functional programming requires you to think about the big picture and scale down from there. Imperative programming allows for the opposite, and it just so happens the opposite is easier.
@aoeu256
@aoeu256 5 жыл бұрын
Imperative programming requires more brain power because everything is contextual in stateful programs, while pure functions are context-free.
@VirtualPlasticity
@VirtualPlasticity 11 жыл бұрын
I agree that Java and C# are impure languages, but to say that nobody is making money out of them is ridiculous!
@adorinadorin
@adorinadorin 9 ай бұрын
There was only statement ab9ut amount of m9ney - more or less.
@DannyMeister
@DannyMeister 10 жыл бұрын
+moofymoo How'd that go?
@moofymoo
@moofymoo 10 жыл бұрын
56:37 - challenge accepted
@klokanRsk
@klokanRsk 11 жыл бұрын
GWT in action :-) Nice video BTW
@ASmallTurnip67
@ASmallTurnip67 7 жыл бұрын
Great talk by Erik, but seriously man, you need to improve your camera work...
@ashleygillman3104
@ashleygillman3104 9 жыл бұрын
At 20:50 it looks like he wrote the c word
@richtourist
@richtourist 6 жыл бұрын
POINT THE CAMERA AT THE EXAMPLE (please)
@mxo3212
@mxo3212 3 жыл бұрын
LOL
@mxo3212
@mxo3212 3 жыл бұрын
come on some one make that NIRVANA after 8 years GO, RUST, JULIA which...
@baka_geddy
@baka_geddy 3 жыл бұрын
LISP variant will be the closest one imho.
@r0by
@r0by 11 жыл бұрын
"vegetarian butcher"; LOL.
@MasthaX
@MasthaX 4 жыл бұрын
Dutch jokes :)
@leodf1
@leodf1 11 жыл бұрын
Well everyone had high hopes, but now we know the Japanese 5th gen programme went nowhere. And Prolog was a non starter too. What I hated about Prolog was that you basically had/have to trick it into doing what you want.
@TheLawrence05
@TheLawrence05 11 жыл бұрын
By watching a video in which i'm not understanding any single word
@1videoshow
@1videoshow 9 жыл бұрын
The target is "catch the errors" and "handle them correctly". But often nobody knows whats going on really within a program in the real environment, right? You can't prove a program right, mathematically.
@yepyeniceri
@yepyeniceri 7 жыл бұрын
11:24 :D
@1videoshow
@1videoshow 9 жыл бұрын
Apple Swift Language has fixed this problem with so called Optionals. You can have "optional int's", which means it can be an int or nothing.
@osmarpixuri
@osmarpixuri 9 жыл бұрын
1videoshow java 8 has it too.
@bingloveskoki
@bingloveskoki 8 жыл бұрын
These Optionals are just syntactic sugar for Haskells Maybe Type: enum Maybe { case Just(T) case Nothing }
@deadmarshal
@deadmarshal Жыл бұрын
Clean > Haskell
@kahnfatman
@kahnfatman Жыл бұрын
A Kind Error is by no means a nice error :D
@TheLawrence05
@TheLawrence05 11 жыл бұрын
I feel so stupid !
@Kanishvarab
@Kanishvarab 11 жыл бұрын
"denmark" -.-
@DisfigurmentOfUs
@DisfigurmentOfUs 9 жыл бұрын
So the only benefit from purity is easy concurrency?
@lucassaldyt3227
@lucassaldyt3227 8 жыл бұрын
+Pavel V. Also a lack of run-time errors, less complex code, faster production times etc.
@michaelwayneterry
@michaelwayneterry 8 жыл бұрын
+Marethyu Sky This is all true, unless your system is required to have side-effects.
@SMOKE3104
@SMOKE3104 5 жыл бұрын
Nirvana.equal("Rust")
@SudeepMakwana
@SudeepMakwana 11 жыл бұрын
agreed 100 % haha
@ochgottnochma
@ochgottnochma 9 жыл бұрын
Fight Extremism, Boycot Functional Programmers!
@insertoyouroemail
@insertoyouroemail 9 жыл бұрын
ochgottnochma Functional Programming Master Race!
@crimsun7186
@crimsun7186 8 жыл бұрын
+ochgottnochma I'd rather boycott JVM based languages.
@xybersurfer
@xybersurfer 10 жыл бұрын
this explanation is flawed
9 жыл бұрын
Why he just uses this kind of t shirt?
@1videoshow
@1videoshow 9 жыл бұрын
Joao Vitor Its a hippy shirt ;)
@binshuo
@binshuo 9 жыл бұрын
+João Vitor R Neto I've never seen Eric Meijer wear a shirt with less than 4 colors in any of his videos.
@eudisd
@eudisd 4 жыл бұрын
Please don't wear that shirt again
@humble_integrity
@humble_integrity 3 жыл бұрын
the interviewer is annoying. i wonder how erik was so calm in his explanations
@tinkeringengr
@tinkeringengr 10 жыл бұрын
What a terrible explanation! An unbelievable amount of hand waving with poorly defined terms while the interviewer nods his head in ignorance. Given the context I suppose its unfair to be so harsh, but this was almost a complete waste of my time.
@tinkeringengr
@tinkeringengr 10 жыл бұрын
LOL, 40 minutes into the video they finally define the concepts that they have been discussing.....and the one guy was a professor? Its amazing to me how they can have almost an hour conversation in ambiguity before they decide to consolidate the mental model. And they call themselves computer scientists?
@XemSmex
@XemSmex 10 жыл бұрын
Jonathan Valiente I have the feeling this 'computer scientists' are self claimed experts which are only able to talk about this things in this high abstract manner but have absolutely no competence when it comes to practical use. While I understand what Erik is explaining this all feels like it's nice to look at but do some real work please.
@jebberjeb
@jebberjeb 10 жыл бұрын
XemsDoom Uh, are you implying en.wikipedia.org/wiki/Erik_Meijer_(computer_scientist) isn't an authority in the field of programming languages?
@brenthagany2008
@brenthagany2008 10 жыл бұрын
It's almost as if the entire internet isn't continually recreated to specifically meet your specific momentary needs! Unconscionable!
@tinkeringengr
@tinkeringengr 9 жыл бұрын
Brent Hagany Of course its not tailored to my needs, but I would still expect someone who is communicating information (especially an expert in the field of computation) to define the appropriate terms in a manner relevant to the presentation. ***** A student doesn't need a plethera of credentials to evaluate when information is poorly presented. Critisim allows for progression to those who are capable of recieving it.
Brian Beckman: Don't fear the Monad
1:07:10
jasonofthel33t
Рет қаралды 400 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
Всё пошло не по плану 😮
00:36
Miracle
Рет қаралды 3,5 МЛН
REAL 3D brush can draw grass Life Hack #shorts #lifehacks
00:42
MrMaximus
Рет қаралды 12 МЛН
Human vs Jet Engine
00:19
MrBeast
Рет қаралды 131 МЛН
Как не носить с собой вещи
00:31
Miracle
Рет қаралды 1,5 МЛН
React 2014 : Erik Meijer  - What does it mean to be Reactive?
46:39
React Conference
Рет қаралды 87 М.
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
53:56
jasonofthel33t
Рет қаралды 113 М.
Robert C  Martin -  Functional Programming; What? Why? When?
58:27
Functional programming design patterns by Scott Wlaschin
1:05:44
Ivan Plyusnin
Рет қаралды 193 М.
Functional Programming in 40 Minutes • Russ Olsen • GOTO 2018
41:35
GOTO Conferences
Рет қаралды 815 М.
Bjarne Stroustrup: C++ | Lex Fridman Podcast #48
1:47:13
Lex Fridman
Рет қаралды 1 МЛН
Brian Beckman: The Zen of Stateless State - The State Monad
1:06:59
jasonofthel33t
Рет қаралды 48 М.
What is a Monad? - Computerphile
21:50
Computerphile
Рет қаралды 605 М.
Всё пошло не по плану 😮
00:36
Miracle
Рет қаралды 3,5 МЛН