Get a Taste of Lambdas and Get Addicted to Streams by Venkat Subramaniam

Поділитися
Вставка
  • Опубліковано 20 січ 2025

КОМЕНТАРІ • 356

  • @ruixue6955
    @ruixue6955 7 років тому +569

    7:00 lambda
    7:26 backward compatibility of Java
    8:18
    9:34 why Java 8 is backed by single abstract method interfaces (@FunctionalInterface)
    9:47 if an interface is single abstract method interface, you can use lambdas instead of anonymous inner classes
    11:47 how does it work under the hood
    12:49 illusion aobut lambda - syntax sugar, i.e. on the instruciton level, it is the same as anonymous inner class
    14:16 what lambda does under the hood
    14:47 what would the compiler be doing with lots of lambda (assumption only)
    * 18:16 why it is not a good idea for lambdas to create extra classes like anonymous inner classes
    19:14 a new feature since Java 7 - instruction - invokedynamic
    20:53 in Java 8 struggling with the elimination of anonymous inner classes
    21:00 the motivation: use invokedynamic to implement lambda expressions
    25:16 example
    29:18 internal iterator
    39:00 method reference
    44:28 avoid the urge of writing a large lambda expression - an anti-pattern
    44:54 what are method references
    45:41 examples of method references
    47:15 static method reference
    49:31 parameter as a target map(String::toString)
    54:58 2 arguments
    * 56:23 the order of the arguments are important
    57:38 another example - first parameter is the target, second parameter is the argument
    59:33 limitations of method reference
    1:08:00 filter
    1:19:30 second part
    1:29:07 stream is an abstraction
    1:29:12 a stream is not a physical object with data
    1:29:24 a stream is a bunch of functions you will evaluate eventually. There is no data sitting in a stream
    1:29:48 a stream is a non mutating pipeline - stream is not mutating the data in a collection
    1:30:31 stream functions
    1:33:11 transforming function - Stream.map
    1:37:25 Stream.reduce()
    1:43:47 InStream/DoubleStream.sum() - also a reduction operation
    1:44:08 what is reduce operation - transform a collection into a concrete value or object
    1:44:51 another reduce operation - collection
    1:45:45 a wrong approach to do collect
    1:47:00 explanation of the wrong code
    1:47:18 shared mutability is devil
    1:49:04 use Collectors.collect
    1:51:17 Collectors.toMap
    1:54:17 groupingBy
    1:54:38 example
    1:57:40 another example with mapping() method
    1:59:37 performance
    2:05:40 Q: How much work?
    2:09:30 streams are LAZY
    2:10:49 intermediate operations are postponed for evaluation
    2:13:00 important
    * 2:15:43
    * 2:16:15
    2:17:37 demo for performance analysis
    2:19:36 lazy evaluations are only performed when the terminal operation is triggered
    2:27:08 intermediate operation - Stream.sorted()

    • @raghavanaliassaravananm1546
      @raghavanaliassaravananm1546 5 років тому +6

      Awesome toc 👍☺

    • @MrNaveen303
      @MrNaveen303 4 роки тому +2

      Very informative and well explained, thank you.

    • @infitium7246
      @infitium7246 4 роки тому +5

      You probably made it for yourself, didn't you ;)

    • @ruixue6955
      @ruixue6955 4 роки тому +6

      @@infitium7246 yes, i have bad memory, so jot it down make me remember better :)

    • @tahniat
      @tahniat 4 роки тому +1

      Hats off!

  • @trozzonick77
    @trozzonick77 8 років тому +201

    Venkat is not just really knowledgeable but he knows how tell and express concept in the way even a kid could understand . Thanks .

  • @vaib5917
    @vaib5917 8 років тому +209

    One of the best java talks ever seen.
    Very informative.

  • @xvitcoder
    @xvitcoder 9 років тому +116

    The best java talk I've ever seen

  • @sdevane75
    @sdevane75 8 років тому +40

    finally, someone intelligent and articulate enough with great dynamic working examples explains lambda and double colon. thank you. after much searching its finally clear to me. ☺

  • @h1dden_
    @h1dden_ 2 роки тому +5

    Venkat was my professor at UH for my last year in computer science. He is by far the BEST computer sceince professor I have ever had. I learned more from him in one semester than I did from when I started coding in highschool.

  • @daddashikamani
    @daddashikamani 6 років тому +8

    I have been converted to functional style programming using Lamdas and Streams thanks to Venkat.
    Double thumbs up!

  • @hastingr
    @hastingr 3 роки тому +7

    1:02:40-1:05 the heart of programming! Great talk!

  • @AsifAlli
    @AsifAlli 4 роки тому +2

    This guy speaks very well. Usually indian guys are hard to understand. This guy is awesome!

  • @kovalski6000
    @kovalski6000 7 років тому +20

    The best speaker I've ever heard. I am delighted

  • @sanjuro_493
    @sanjuro_493 4 роки тому +3

    This is hands down the best Java conference evere made

  • @bangladeshibadmintonny
    @bangladeshibadmintonny 5 років тому +1

    Well he said you came here for Lambda but stayed here for stream but I got addicted to Venkat. Amazing speaker. Thank you.

  • @arsalalam5998
    @arsalalam5998 5 років тому +4

    This is how you explain advanced stuff in simple way. Tell me why i should bother to use a new feature. Amazing.

  • @TheRastaDan
    @TheRastaDan 4 роки тому +5

    34:49 "And for the first time, in a long time, Java is finally intelligent" that was the moment I lost it. This guy has such a talent of explaining stuff!

  • @durgadeep4988
    @durgadeep4988 8 років тому +6

    Love his enthusiasm and his crisp and clear explanation.

  • @trile2713
    @trile2713 8 років тому +13

    superioriginality = qualities.reduce(blessing, (feature, excellency) -> feature.add(excellency)); Dr. Subramaniam rocks as ever. Thank you for another great session !

  • @jvsnyc
    @jvsnyc 4 роки тому +1

    One of my new favorite speakers ever. It's all gold, but the motivational parts especially, even tho the technical details are all spot on and valuable. Like 1:02 thru 1:05, not strictly technical, but extremely important in terms of WHY we need to modernize our Java style....

  • @prateek6424
    @prateek6424 Рік тому

    I just can't express how glad I am to land here. He has explained java 8 features with so much depth and conviction. Venkat sir just knows the features inside out and he is in love with Java. ❤

  • @shekharkumar78
    @shekharkumar78 7 років тому +20

    Really amazing. I am a big fan of Venkat. His book "Functional Programming in Java" is also a must read for all Java Developers.

    • @ggsay1687
      @ggsay1687 4 роки тому

      Thanks for comment, I needed some book as a guide.

  • @usamaiqbal9933
    @usamaiqbal9933 3 роки тому

    One of the best java talks I have ever scene that even a beginner can understand it...

  • @ddhirajkumar
    @ddhirajkumar 6 років тому +6

    Like this talk and the way of communicating some of the design philosophies. Not just what can be done.. but also the why and how of it is covered here.

  • @judgeomega
    @judgeomega 8 років тому +31

    What a great speaker.

  • @sahilrally4491
    @sahilrally4491 8 років тому +2

    Just watched 24 mins and gave my like to the video. What a speaker, cheers!!! -)

  • @mirageman2
    @mirageman2 3 роки тому +1

    What a great talk, Venkat gave the best explanation about streams I've seen, and I've seen quite a few so far.

  • @osayamenomigie
    @osayamenomigie 6 років тому +1

    Cant believe i just listen through the whole video...
    He is brilliant teacher

  • @harshavmb
    @harshavmb 8 років тому +2

    I'm fortunate to watch this video! Speechless.. Absolutely recommended for people like me who didn't know the potentials of lambdas and streams.

  • @RamPrasanthRam
    @RamPrasanthRam 7 років тому +4

    Really an awesome talk,the way you explained with real time examples and jokes is really superb. You made Lambda and Stream learning so easier. Pleasure to saw your teaching and Gonna see all your talks in you tube. One of the best java talk ever ! Thank you so much Venkat

    • @nagababusattineni1114
      @nagababusattineni1114 7 років тому

      Buddy, I caught you here. I even like the talk. best ever java talk

  • @akossarnyai4978
    @akossarnyai4978 2 роки тому

    This is one of the best videos that I saw about Streams and Lambdas!!

  • @jyotikabra72
    @jyotikabra72 3 роки тому +2

    he is best at explaining things...became fan of him.

  • @parashar1505
    @parashar1505 2 роки тому +3

    I just love that editor and how intelligent that thing is! Venkat should do just one nice session on that editor setup. That would help the community so much :)

    • @kpvenkatesan
      @kpvenkatesan 2 роки тому

      Did you find that already?

    • @sonyex52
      @sonyex52 2 роки тому

      @@kpvenkatesan Its TextMate

  • @ketkithosar7465
    @ketkithosar7465 3 роки тому +1

    I sincerely wish I could like this video more than once. Simply brilliant

  • @thyagtubes
    @thyagtubes 4 роки тому +5

    A rare species : someone who can do tech, can talk and also keep you engaged for a full 3 hours.

  • @sunilchandramn3001
    @sunilchandramn3001 5 років тому

    your one of the best teacher I have seen till now..

  • @chintangandhi4500
    @chintangandhi4500 5 років тому +1

    I had come to see this video to brush my knowlege. I ended up learning many new things. excellent explaination

  • @RobsonDev
    @RobsonDev 7 років тому +5

    Fantastic presentation! What a great speaker! One of the best presentations that I've watched.

  • @MuscleTeamOfficial
    @MuscleTeamOfficial 7 років тому +10

    This guy is a great speaker! Thanks for the awesome talk.

  • @shailendra-mani
    @shailendra-mani 8 років тому +3

    Great talk, very informative for those who are starting to work on java 8. Awesome explanation.

  • @cong0929
    @cong0929 2 роки тому

    Wow! Great explaination of Lambda and Streams. His explaination and examples are so concise and easy to understand that I've ever seen. Very very thanks !!

  • @anilreddy1613
    @anilreddy1613 3 роки тому

    His pace of explanation is perfectly suitable for me

  • @t_sathis
    @t_sathis 4 роки тому

    As the title says, I addicted to Stream; But I addicted to your lectures more than it. Thanks Venkat, it was really helpful.

  • @oleksandrdyachuk3951
    @oleksandrdyachuk3951 8 років тому +4

    GREAT!!!! so many details! so many examples! awesome! thank you a lot!

  • @mitulvaghela906
    @mitulvaghela906 4 роки тому +2

    "A person who uses all the tools are called consultants" (1:05) - hahaha, you made my day sir!

  • @vipulchauhan5317
    @vipulchauhan5317 8 років тому +1

    Thanks a lot for such a informative talk.. watched entire 2:47 hours

  • @AkashSingh-el1ew
    @AkashSingh-el1ew 3 роки тому

    Been 6 years and it's still useful :)

  • @mitulvaghela906
    @mitulvaghela906 4 роки тому

    Claps for your passion for programming especially for your comments at 1:00

  • @maruthih5415
    @maruthih5415 5 років тому +1

    Indeed a great talk on lambdas and streams. If you have been coding in java for a year or more , then you could even watch it at 1.75x without losing on any info

  • @mangasreekanth
    @mangasreekanth 6 років тому +1

    Brilliant. Best value for 2 hours spend watching the video

  • @bikejoede
    @bikejoede 7 років тому +1

    Venkat is an awesome teacher! Thanks a lot for sharing!

  • @manojkumarmurugan5808
    @manojkumarmurugan5808 4 роки тому +1

    He is amazing!! Best Java talk ever

  • @rajeshkumarpatel5068
    @rajeshkumarpatel5068 6 років тому +1

    Nice explanation sir... Very informative.. I would say I have never attend any tech show.. Where someone explained like this during my entire career.. Lol now I got it what was missed in my eduction. 😕😕

  • @SandyRocks007
    @SandyRocks007 5 років тому +1

    Indians are awesome! thanks, Venkat sir.

  • @LauriusT
    @LauriusT 8 років тому +1

    Wow, not sure why I didn't use of java 8 functional style until now. Great talk

  • @caiboliang5568
    @caiboliang5568 8 років тому +2

    think new session required to introduce ide 😁, very impressed. thanks a lot

  • @giddaiahkummari2249
    @giddaiahkummari2249 4 роки тому

    Hi venkat, I referred so many author's to understand java8 features, but some how I got ur video in the list. I just looked into it, it was just awesome. Thank you for ur efforts

  • @ThueringerNeuland
    @ThueringerNeuland 6 років тому

    This man is really good at talking and explaining

  • @jineshshah566
    @jineshshah566 5 років тому +1

    Finest explanation on streams. Thank you very much!

  • @pksanthoshkumar
    @pksanthoshkumar 5 років тому +1

    Amazing lecture on functional programming. The best I ever heard!

  • @susaninj
    @susaninj 8 років тому +3

    Awesome. Excellent presentation. I wish I have seen this earlier. Recommend.

  • @hirenpandit8499
    @hirenpandit8499 8 років тому +51

    "When you have 9 million programmers using your language and out of which 1 million programmers know where you live you have to decide things differently." :D

  • @jcraane
    @jcraane 8 років тому +32

    I created an IntelliJ plugin which provides similar functionality which outputs the result of a Java main execution as a tooltip. The plugin can be found here: plugins.jetbrains.com/plugin/8543?pr=idea

  • @sahilrally4491
    @sahilrally4491 8 років тому +6

    Brilliant analogy !!!, I wish I could give Super Like or more likes to this talk :-)

  • @zeroxcub
    @zeroxcub 8 років тому +1

    Really like the part with the performance analysis, most video about FP stop on the declarative part and don't go further.
    Thanks Sir, you got my like

  • @DhrumilShahDOTin
    @DhrumilShahDOTin 4 роки тому +1

    just came to learn lambda.... never had a blast before learning programming concepts

  • @hb9809
    @hb9809 8 років тому +137

    "If a language does not support backward compatibility, it is DOOMED; we also know if a language supports backward compatibility it's also DOOMED!... and so it's a question really choosing which way you like to be DOOMED!"
    LMAO!

    • @SaiReddyDubbaka
      @SaiReddyDubbaka 7 років тому +3

      There's a lot of crap in his talk apart from the actual content, which wastes my time. I am better off reading a book than watching his talk.

    • @wesosdequeso8360
      @wesosdequeso8360 7 років тому +2

      Just upgrade and move on.

    • @test1234tilak
      @test1234tilak 7 років тому +1

      make your nuts tight!

    • @AniketKapse
      @AniketKapse 5 років тому

      Venkat is brilliant. Indian minds are like gods.

    • @AniketKapse
      @AniketKapse 5 років тому +1

      its about perceiving and realizing. Not blind mugging.

  • @akashkadole3034
    @akashkadole3034 2 роки тому

    Great explanation with great examples... Thank u for giving me the imp of lambda & stream.

  • @bhadreshagm7692
    @bhadreshagm7692 2 роки тому

    Its really a very good talk!!! The way concepts presented helps understanding it from the core.. Great job sir.

  • @brave111111
    @brave111111 5 років тому +1

    Awesome sessions. Java made easy and interesting. Excellent speech.

  • @cookiemonster3699
    @cookiemonster3699 3 роки тому

    Am binge-watching presentations by Venkat.

  • @TheMinino123
    @TheMinino123 7 років тому +2

    Thank you so much, Venkat!!!

  • @alex771304
    @alex771304 2 роки тому

    Thank you. It is such informative video and I really love the way you present it.

  • @nuniezjorge
    @nuniezjorge 5 років тому +4

    one of my favorite features was "replace lambda with method reference", until i started watching this videos

  • @helloworldgamingyt
    @helloworldgamingyt 7 років тому +2

    The Best java talks i have ever seen...
    gc() those unlikers...

  • @Tikeswarib
    @Tikeswarib 2 роки тому

    What entertaining educational talk, thoroughly enjoyed!

  • @omnipoten8
    @omnipoten8 4 роки тому +6

    1:15:48 "If you gonna take so long and suck , you would rather suck quickly." Lol 😂.. man that was damn hilarious..

  • @freezefrancis
    @freezefrancis 5 років тому

    Venkat , you are simply amazing.. Great talk!

  • @walterdiaz2003
    @walterdiaz2003 4 роки тому

    This video is gold.!
    Great Job!!!!

  • @ketangupta1910
    @ketangupta1910 3 роки тому

    1:06:00 One of the best explainations

  • @epsilon21001
    @epsilon21001 7 років тому +1

    He's so awesome, thanks for the talk!

  • @cyryl1972
    @cyryl1972 6 років тому

    how to speak about a boring thing in a very brilliant way ... and in white socks ... amazing !

  • @bmiguelmf
    @bmiguelmf 4 роки тому

    Venkat is really becoming my code hero

  • @gauravagrawal7614
    @gauravagrawal7614 3 роки тому

    Really finding it very interesting and glued.

  • @ramesh040580
    @ramesh040580 8 років тому +1

    Content and the way it is explained is nice. Thank you.

  • @hippiestafarii
    @hippiestafarii 3 роки тому

    And with no shoes ... love u bro !!!

  • @user-vivhan
    @user-vivhan Рік тому

    At 33:10 - Doubt: What about beyond-imperative-rather-functional-internal-java8-iterators (put simply, internal iterators), and resource-sharing/concurrency, on the list object on which forEach is invoked,, by another thread, using the same 'numbers' list?

  • @aaratprasadchopra3255
    @aaratprasadchopra3255 4 роки тому

    Best Talk Heard Yet!

  • @osematouati2430
    @osematouati2430 3 роки тому

    Thanks a lot this man is competent,
    Small mistake on 1:43:00 the first param of reduce is actually R not T. the same as return type.

  • @masterprattu
    @masterprattu 4 роки тому

    One of the best java talks!!

  • @KinGxWolF
    @KinGxWolF 4 роки тому

    Awesome presentation. Truly gifted at explaining concepts

  • @asakchris
    @asakchris 6 років тому

    Awesome explanation, wondering about people who disliked this video

  • @edukondalugumma3753
    @edukondalugumma3753 4 роки тому +1

    Amazing explanation. I ever scene this kind explanation

  • @esbeesri2303
    @esbeesri2303 4 роки тому

    While explaining the time taken by for loop in finding the value of even number greater than 3 and multiplying the same by 2, Venkat explained as if the for loop goes through all the values before giving the result. The explanation of men in black T shirt, white shoes etc., strengthen this impression. As someone, mentioned a break statement at the end of the for loop as soon as the required number is found, then the for loop will stop functioning. No doubt writing a stream function is easier and clearer than writing a for loop. For loop does take more time than the stream, no doubt, but the explanation needs modification.

  • @AdityaRajVerma
    @AdityaRajVerma 4 роки тому

    Very Consuming.Awesome video

  • @M0O0NM4N
    @M0O0NM4N 3 роки тому +1

    Does anyone know what he is using to display the result of his code in those little pop up boxes?

  • @VinayakPanchal007
    @VinayakPanchal007 7 років тому

    Great job Mr. Subramaniam !

  • @tryfonmichalopoulos5656
    @tryfonmichalopoulos5656 3 роки тому

    This presentation was magnificent !

  • @chandrabhoopalr8008
    @chandrabhoopalr8008 3 роки тому

    Wonderful speaker.. amazing analogies

  • @rohit250289
    @rohit250289 5 років тому

    You are a Rockstar, period.

  • @satishrock9621
    @satishrock9621 7 років тому

    Awesome Explanation Sir. Thank you so much

  • @anadichar1843
    @anadichar1843 8 років тому +3

    Lovely talks. the best moment is 34:55 LOL . thank you Venkat

  • @sherif_a
    @sherif_a 8 років тому +1

    Very dynamic person!!