Joel Murach

Author
+ Follow
since Jun 10, 2003
Merit badge: grant badges
Cows and Likes
Cows
Total received
13
In last 30 days
0
Total given
0
Likes
Total received
35
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Joel Murach

Hi Jeanne. Thanks for this review of our latest Java book.

I'm glad you think we did a good job of modernizing this book overall, and I agree with you that we should have modernizing our coverage of file I/O. I will put that on the list for the next edition!

We will also consider adding coverage of IntelliJ to the next edition. I think you're right that IntelliJ is at least as popular if not more popular than Eclipse or NetBeans. I think IntelliJ has been gaining in popularity for years now, probably since 2009 when JetBrains introduced the open-source Community Edition, and we were slow to realize it.

Have a great day,
1 year ago
Ah, the sweet smell of victory.

Thank YOU for pointing out this problem with my book. As I said, I'll fix the code in the download so other readers don't encounter this problem.
4 years ago
Looking at this problem again this morning, I think you're doing everything right, except that the starting point and solution that I supplied for the ch10_ex1_Product project is not correct. My solution runs, but that's because the murach.jar file I supplied is also not correct. For example, it provides a Console.getStringInput() method, but it should provide a Console.getString() method.

To fix this problem, I am going to use the same Console and Product classes from ch10_ex1_LineItem in ch10_ex1_Product. This should eliminate inconsistencies in the Console and Product classes, except for the changes to their packages that are made during the exercise. Since I have your email address, I'm going to send you some zip files with the new starting points and solutions. And within the next few days, I will fix the downloadable files on our website for the rest of the world.

I apologize for this mistake. And I thank you for pointing it out.
4 years ago
Hi Dustin,

I just watched your video, and it's clear that I included some bad files for the exercise starts. I think you did a great job figuring out the problems with these files and fixing them. I'm not exactly sure why your solution didn't work, but I'm going to take another look at it tomorrow and hopefully I'll be able to figure it out. Also, I'm going to fix the starting points for the exercises so other Eclipse users don't encounter the same problem you did with my book.

Thanks for pointing out this issue. Again, I should have more info for you sometime tomorrow. Cheers...

Joel Murach
4 years ago
Hi Ahmed,

First, I'm glad to hear you like our paired-pages presentation format.

Second, the biggest change with Java 9 is project Jigsaw, which is enabled by the new module system. This divides the Java API into a series of modules, so that you can choose which modules you want to include in your application. This should lead to performance improvements for deployed applications. Also, it makes it possible for you to write Java code that's truly modular, even more modular than when you use packages, classes, etc. I think this is easily as significant as lambdas or generics, but I think it's probably most significant for the people who develop the Java API as it should make it easier for them to add new features to future versions of Java, now that the Java API has been retrofitted to be truly modular. Like most new Java features, you can ignore it if you want. In that case, you use the old system of packages, classes, etc. to create code that's mostly modular.

I hope this helps! Thanks!

Joel
5 years ago
P.S. - For the certification exam, I'd definitely recommend Jeanne's book!
5 years ago
As a way of saying thanks for all the great questions and discussion, I'd like to offer anyone in the JavaRanch community who is interested a special discount of 40% off my book. To get that discount, just go here:

https://www.murach.com/shop/murach-s-java-programming-5th-edition-detail

Add the book to your cart, and use this promotion code when you check out:

CodeRanchJoel

This code should work until 8/22.

Thanks again, I have really enjoyed my week here at the Ranch.
5 years ago
As a way of saying thanks for all the great questions and discussion, I'd like to offer anyone in the JavaRanch community who is interested a special discount of 40% off my book. To get that discount, just go here:

https://www.murach.com/shop/murach-s-java-programming-5th-edition-detail

Add the book to your cart, and use this promotion code when you check out:

CodeRanchJoel

This code should work until 8/22.

Thanks again, I have really enjoyed my week here at the Ranch.
5 years ago
As a way of saying thanks for all the great questions and discussion, I'd like to offer anyone in the JavaRanch community who is interested a special discount of 40% off my book. To get that discount, just go here:

https://www.murach.com/shop/murach-s-java-programming-5th-edition-detail

Add the book to your cart, and use this promotion code when you check out:

CodeRanchJoel

This code should work until 8/22.

Thanks again, I have really enjoyed my week here at the Ranch.
5 years ago
As a way of saying thanks for all the great questions and discussion, I'd like to offer anyone in the JavaRanch community who is interested 40% off my book. To get that discount, just go here:

https://www.murach.com/shop/murach-s-java-programming-5th-edition-detail

Add the book to your cart, and use this promotion code when you check out:

CodeRanchJoel

This code should work until 8/22.

Thanks again, I have really enjoyed my week here at the Ranch.
5 years ago
That's a nice explanation of how a lambda expression works when the anonymous expression doesn't have any parameters. Thanks for sharing.

We use a similar approach of progressing from an anonymous class to a lambda expression. Of course, the syntax for working with lambda expressions is a little different if the method has one or more parameters. Still, the same concept applies.
5 years ago
You're welcome! Thanks for the excellent questions.
5 years ago
Me too! They're a brain-bender when you first get started with them!
5 years ago
Hi Harshaa,

Thanks for recommending our book. I really appreciate that.

Yes, it's hard to present content for both beginners and experts, though our target audience might be closer to beginners to intermediates. At any rate, explaining a concept clearly works well for everyone. It might help an experienced programmer grasp the concept immediately, and it might take a beginner a little while longer to get it.

Cambell is right that Java has changed a lot from Java 5 to Java 9, and there are many new features to learn. Still, I think the hardest part is learning the basics of the language in the first place. Besides, most of the new features make it easier to work with Java, not harder. Plus, if you update from Java 5 to Java 9, most (maybe all?) of your code will still work. Then, you can use the new features that you want to use to improve your code, which should ultimately make your code better and save you time. So, I suppose it's up to you for how time-consuming it will be.

5 years ago
Hi Pete,

I suspect that our marketing department is trying to put the best possible spin on this book by saying that it's a "favorite" among developers who are moving into Android apps or Java web applications. I don't think we have much data to back up that claim, except for some anecdotal evidence from a handful of satisfied customers. However, I stand by the statement that after completing chapters 1-16, you have the Java skills you need to move on to developing web applications or Android apps. I might also recommend reading some of the later chapters to get a solid foundation for working with databases, JDBC, and threads. But we review those skills in our servlet/JSP book as well as our Android book and show how they apply within the context of those platforms.

As far as I know, the Java skills presented in chapters 1-16 are all supported in Android development, with the exception of modules, which are clearly marked as only being available from Java 9 (which means you can't yet use them in Android development). We try not to clutter our books with notes/study tips/side margin markers, so you won't find any of those, though we clearly identify the Java skills that were introduced in recent versions of Java in both the text and code examples of the book. So, as long as you know that Android does not support some Java 8 features and doesn't support any Java 9 features, I think our book works really well for preparing you for Android development.

Thanks!
5 years ago