Functional Programming Patterns with Java8 by Victor Rentea
Вставка
- Опубліковано 28 чер 2024
- Subscribe to Devoxx on UA-cam @ bit.ly/devoxx-youtube
Like Devoxx on Facebook @ / devoxxcom
Follow Devoxx on Twitter @ / devoxx
After leading 2 projects making heavy use of Lambdas and Streams, counseling many others at IBM, and teaching hundreds of developers at University and as an Independent Trainer, Victor will prove several best practices, patterns and anti-patterns he distilled over the years. All via a series of live coding exercises, like you've probably never saw in your life!
You will hear about: Bloated Lambdas, A Happy Predicate, Stream Wrecks, How to Kill The Biggest Bug, Monads, Passing-a-block, The Loan Pattern, and 5 Ways to Implement Type-Specific Logic. Of course, as a Clean Code Maniac, Victor will always strive for maintainable, readable, elegant code. So you'll see a lot of refactoring.
PS: You know, some Joe will maintain your Java8 code at some point. So let's just hope Joe would be a nice safe guy...
Victor Rentea
From Independent Trainer
Victor is one of the top Independent Technical Trainers of his country (victorrentea.ro) - he mentored, trained and coached almost 1000 developers of top companies. At IBM, even though they call him a Lead Architect, he loves to write code each day: he's maniac about Clean Code, so prepare for some hard-core refactoring. Victor is Associate Professor of Politehnica University of Bucharest and an active Java community member: organized the largest 3 JUG meetups in Romania. He's a regular conference speaker. His live-coding sessions are insane, lightning-fast but well crafted, full of enthusiasm, insights and take-away tips. Things that he learned the hard way during his 14 years of experience. You'll love his sessions! - Наука та технологія
This guy showed us all software methodology used in real-world :p
- IDE Driven Development
- TERROR Driven Development
- Copy-Paste Programming
- Jesus Driven Development
Great Talk!!! I left Java for Ruby few years back, now after watching this, I wanted to try Java again.
epic "Oh by the way, I'm using Eclipse"
This is an informative yet hilarious talk. Love this guys way of teaching!
Extremely high energy that rubs off even through this medium. The epitome of passion. Folks from all walks of life can learn from this guy.
Oh my god. amazing and explanative talk. thank you my friend. maybe the best functional programming talk I have ever watched!
Legit!!!!!! No bullshit mathmetical crap. No "a monad is a monoid of in the category of endofunctors" BS. Just straight, clear, legit usecases and legit solutions that so happen to be functional!
One of the greatest technical conferences I have ever seen!
Not just a very skilled Java developer, but also a showman!
Impressive typing speed as well
Despite learning almost nothing, I really enjoyed this talk. Very intense.
One of those best talks I have ever heard. Truly informative. Purely amazing!
This dude is absolutely insane. I love it.
The lessons here are directly applicable at my current job. Let the refactor begin.
Such a lively and informative talk.. so nice to learn from you.
A big thank for this talk.
What an awesome talk by him, really enjoyed it!
Check out my other talks on www.victorrentea.ro/#talks
the presentation is very helpful. provide several ways to improve my code. thanks a lot.
Awesome speaker, you did a good job
learned and laughed. I enjoyed this presentation. Victor's energy is amazing.
Sticker driven talk... liked it!
I really enjoyed watching this talk
Very inspiring programmer. I am following vids on this channel quite often but you made me subscribe to the channel. Thanks for the wonderful compilation.
Excelent. Thanks man!
Great presentation combining learning and fun. Thank you :)
The guy is hilarious! Enjoyed the talk.
Nice Job. Thanks. I'll go through it slowly again How is he doing the Auto-typing. (Noticed that the Eclipse Editor Cursor is on top but typing happening on bottom.) This will come handy for presentation.
This is just just amazing...! Great great talk
this is my favorite talk!
good tips!! At the same time have we discovered the fastest typist in the world?
That very case when I hit “like” even before the video has ended.
Great presentation.
I've seen like 4 videos of this guy of 1 hour each and I'm pretty sure I can introduce him on any stage with all his history and credentials xD
Great talk!
That unchecked consumer is realy useful.
thanks a lot , very good
I loved this man, so friendly talk and informative. I've learned a lot today. :D .. I want a sticker too!!
Excited to watch this talk. Usually I wait to post until after I watch a video but in this case, I'm the first view and I do have to declare... First!
I think with Java 8 now it is time to work again with Legacy code!
Soooo much experienced
I like your style
Awesome
How did he draw lines over the IDE?
Oh my good, I still love Eclipse forever
Amazing
I was wondering if what I was thinking about for the last few months were crazy ... I'm glad that someone else with more experience confirms that I'm not crazy. Were is the Monad interface in java ? :(
What if the Type is being set in runtime? Add a predicate to the enum constructor and then map to the algo after?
greate lecture by the way
brilliant
Can’t appreciate it more
A great professor, too, I bet!!!
Also i looove how he doesn't use any pretentious monoid/higher level math bs that has little to do with actually solving problems.
I wish , Java will come with built-in alternative to Lombok. Something like case classes in scala.
Bcoz when we think from server less point of view, adding too many dependencies causes cold start issue.
How can you use that BiFunction-solution when you don't have the ability to change the enum class? Such when you use another library fo example
Could we use adapter pattern to apply on it?
this is how we should keep audience active
Epic
9:00 he's the Art Tatum of keyboard typing. You can`t seven see his fingers moving yet he's firing code faster than Usain Bolt on steroids.
At first I thought the same thing...Pretty sure he backspaced the text then is CTRL+Z'ing (he loves his Z!) to get the text back, notice there's no typos for those bits?
Terror Driven Development: L-o-v-e-d it! 🤣 Thank you for a very good, entertaining and engaging presentation! Of course, lambda functions have their place under the sun but I see the point.
Wow
wow
This was SUCH an energetic and charming presentatiom!
ALSO, he's Spanish (I bet) which explains the lisp.
He's Romanian, actually.
This guy is hilarious
For lack of a better word.. Great!!!!!
Awesoem dude, should moonlight as stand-up comidian! xD
Functions become first class citizens as objects in Java 8. :)
What version of Java was used in this talk? Meaning no need to use BiFunction anymore, right?
That's too bad I would have liked to listen the Christmas story about Monads!
Cameraman needs to attend photography's devoxx
He lives in the futur
He is exactly how I think God looks like.
Nice talk but I disagree that throwing runtime exceptions instead of check exceptions is a good habit.
In functional programming side effects (exception) should better be declared. A good example for this is vavr "Try" (see vavr.io: www.vavr.io/vavr-docs/)
But it is a good habit if you want to play with nice feature in Java 8 as lambda.
And IMO about treating checked/unchecked exception you can write your own Try monad for your purpose.
"Got away without using an if". They're still used under the hood, you're just moving the logic behind magic methods. I agree that you should be using these tools, but like every tool, it should be applied with some sanity checks.
You speak Java, but you also speak fRRRench.
not(isDeleted) is better than isNotDeleted
This guy is talking at 1.5 speed by default
Code at 8:11 really bad. But in my recent scala gigs I have came across code which make this innocuous. It seems more functional a language is, coders tend to write really bad unreadable unmaintainable code...just my observation.
wow C# can do this since 2008
Borat of programming
Esti cam laudaros, daca ai vorbi mai rar poate si noi am procesa informatia ceva mai usor sinu te-ai incurca nici tu in atatea silabe, frate. Oricat de mult stii programare, faptul ca incerci sa dovedesti asta, instalandu-ti artificial o gangavie care nu cred ca ti-e nativa, face ca prezentarea ta, in afara linguselii aparente, sa produca sentimente nu de admiratie, ci de usoara mila. Sa ma ierti, dar asta e adevarul, sunt la minutul 6 si mi-e de ajuns sa spun asta. Strict informativ o sa mai caut sa vad si restul filmului. PS: Esti doar un om, oricat crezi ca stii sau oricat de rapid iti merg degetele. Iti e de folos sa nu uiti asta !
PS: M-am razgandit, nu mi se pare interesant, am sa caut ceva tutorial despre rxjs. Succes pe mai departe !