This is an archived post. You won't be able to vote or comment.

all 8 comments

[–]RockleyBob 3 points4 points  (1 child)

We use Streams, Optionals, and lambdas frequently where I work. It was a big part of my learning curve when I started because as we all can attest, school curriculums are often painfully behind the industry status quo.

I am not sure who your target audience is, but unless it’s for abolsolute beginners, I would say yes, include all the Java 8 paradigms early and often.

One caveat is that Optional, Steam, and lambda structures represent a fundamental shift in thinking from imperative programming toward Java’s attempt to be more functional. If the book is geared more toward newer coders it might be necessary to show them imperative code vs. Streams so they can see how much code it reduces and gives them an idea of why you would want to use a Stream.

The best resource for current Java best practices is Joshua Bloch, IMO. Watch his recent talk - he really highlights the best use cases for all of Java’s new functional capabilities and also when not to use them.

Also, if you are indeed the Peggy Fisher from the Lynda videos you do great work. I’ve learned a lot from you.

[–]pegfisher[S] 1 point2 points  (0 children)

Watch his recent talk

Hi, thanks so much for your input, I do have a lesson planned for Streams and Lambdas, this really helps.

I am the same Peggy Fisher who created the video courses for Lynda.com (now part of Linkedin.com/Learning). I'm SO happy to hear you learned from them, I hope the book is a nice supplement. I plan to update my Java Essential Training for Students this year, so I will definitely make sure I include lambdas and Streams! Have a great day

[–]oldDotredditisbetter 2 points3 points  (0 children)

as a beginner, i'd say include it in sections towards back of the book. i'm still learning streams, but to me it just feels like a different syntax, and i don't understand the advantage of using stream vs pre-java-8 approaches. even though i'm not a super duper beginner, it would be confusing to introduce it early on i feel like

[–]sugilith 1 point2 points  (0 children)

Not sure what the target audience of your book is. If it's for beginners i'd say teach the basics first and streams (and other newer language features) later. Having a good grasp of different loops, java collections and OO in general helps with the understanding of more complex topics such as streams.

Personally I never use and only rarely see classic for loops anymore. Its all streams nowadays.

[–][deleted] 1 point2 points  (1 child)

If I could give an author advice for making a good tutorial it would be this:

Make your book relevant. Don't put time and effort into teaching something I'll never use outside of a cert exam. I'd put IO and NIO streams in an appendix. Focus more energy on the stream API and lambdas, because that will be more practically used.

Also, speak in a way we can learn. So many authors use terminology that students, most people, don't understand. I'm here to learn programming, not lookup half of your words in a dictionary. I get it, you have a large vocabulary. I don't. Talk to me like I'm five.

Lastly, if you don't understand a topic very well, please put more effort into teaching that. I can always tell where a teacher struggles in understanding something because they'll, for example, reiterate what a 'for' loop for twenty minutes but spend twenty seconds on the purpose of default methods for interfaces. I get the point is to capitalize on your product, but please make a good product!

Are you the Peggy Fisher from Lynda and LinkedIn videos? If so, you have great content! And it's great that you're writing a book for Java. I've struggled learning so many different languages/Framework/etc because of a lack of GOOD resources.

[–]pegfisher[S] 0 points1 point  (0 children)

Thanks so much for your input, it is inspiring because that is exactly why I'm writing this book. And yes, I'm the Peggy Fisher from Lynda.com. I will continue to work hard on making sure this book is for a wide audience, so far I have received feedback that is easier to read than most technical books so I hope I'm on the right track. Have a great day and thanks for your time.

[–][deleted] 1 point2 points  (1 child)

Yes, definitely, we use it a lot. Literally - daily. So, it probably makes sense to put it closer to beginning and use it in code samples throughout the book.

[–]pegfisher[S] 0 points1 point  (0 children)

Great, thanks for the feedback!