• Post Reply Bookmark Topic Watch Topic
  • New Topic

Murach's Java Programming: What's unique?  RSS feed

 
Arco Brouwer
Ranch Hand
Posts: 44
2
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Joël,
Could you describe what in your opinion is the uniqueness of this book compared to all the other Java books that are available?
 
Joel Murach
Author
Ranch Hand
Posts: 127
12
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Here are three things that make our book unique compared to most other Java books:

First, we show how to use an IDE to develop Java applications. Not many other books do that, even though writing code and using an IDE are interdependent skills that are natural to teach together. We think it's a lot easier to get started with coding when you're using an IDE that helps you with syntax checking, code completion, etc. That's how the professionals do it, and it also makes sense to learn that way.

Second, we provide exercises at the end of most chapters that guide you through the development of some applications and challenge you to apply what you've just learned. To make this as efficient as possible, we provide starting points, so you don't have to do a lot of busywork to get started. Some other books provide exercises, but I haven't seen any that work as well as ours.

Third, we use a "paired-pages" presentation format that I haven't seen in any other books. If you look at the sample chapter for this book, you'll see that our paired-pages preset the text on the left-hand page, and the code and rest of the content on the right-hand side of the page.

I hope that gives you an idea of a few ways that our java book is unique. The second and third points are true for all of our books, and the first point is true for most of our books.

Thanks!
 
Campbell Ritchie
Marshal
Posts: 56541
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, the pairing of pages is nice to read. I have already got a copy of an older edition. I worry sometimes that trying to teach programming and an IDE together overloads some people's brainpower. And I know some people take to an IDE like a duck to water.
 
Joel Murach
Author
Ranch Hand
Posts: 127
12
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I hear you on overloading a person's brainpower. It's hard, especially in the first few chapters, to find a way to balance teaching how to use the IDE with how to use the code. But, really, using the IDE is the easy part, and I think most aspiring programmers don't have much trouble learning to use one. Plus, there are many benefits to using an IDE that can save newbies many hours of frustration and help them learn faster. For example, being able to compile and run an application with a single keystroke, using code completion to avoid typos that will cause an application to not compile, and using an integrated debugger to be able to see exactly how your code executes.
 
Campbell Ritchie
Marshal
Posts: 56541
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Good points. Particularly about typos; although I can usually spelll welll myselllf, the ability of an IDE to highlight spellling errrors and offer corrrections is very useful for people who find spellling difficult.
 
Joel Murach
Author
Ranch Hand
Posts: 127
12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ha ha! Plus, even a small misTake in capitaliZation can prevent your code from compiling.
 
Arco Brouwer
Ranch Hand
Posts: 44
2
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Joel Murach wrote:We think it's a lot easier to get started with coding when you're using an IDE that helps you with syntax checking, code completion, etc. That's how the professionals do it, and it also makes sense to learn that way.

I agree with that Joel, it makes learning coding a lot easier. A lot of books talk about coding using the command line, but I started coding Java myself using IntelliJ and I have to admit that the learning curve is nice. An IDE will certainly help you a lot so you have more time to learn new things. Using an IDE makes you developing your application and adding functionalities in a much faster way then when just using the command line from the start.
On the other hand though I experienced myself that using an IDE also makes you a bit lazy as a starting programmer. I mean when an explicit cast is needed, the IDE will underline it and pressing Alt + Enter in my case fixes the issue. The same with imports, selecting the right methods etc. But since the IDE supports the fix for you, you are not encouraged to find the reason of the error. E.g. why was the explicit cast needed and why do I get an ClassCastException? While studying for my OCA I notice that I lack the background why exceptions and errors occur and thus how to fix it without depending to much on the IDE. In my opinion using the command line will let you focus more on solving these exceptions and with that you will have to find out why the errors occur.

How would you describe the focus in your book? Is it about relying on your IDE to discover and fix errors or to find out yourself why exceptions and errors occur, or maybe a good balance between these two?
 
Joel Murach
Author
Ranch Hand
Posts: 127
12
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Arco,

You make some excellent points. I agree that there's a danger of relying on an IDE too much for things like finding and fixing errors. If you don't understand the code that the IDE generates to fix an error, you're probably headed in the wrong direction. However, if you understand the generated code, the IDE has just saved you a fair amount of time and trouble, whether you're an experienced professional or someone who is just starting to learn.

In this book, I try to get the reader started using an IDE in chapter 1, and I show how to use an IDE's integrated debugger in chapter 6. The rest of the book (which is most of the book) focuses on teaching coding concepts, though there are a few places where I show how to use an IDE to handle tedious tasks, such as generating getter and setter methods for the instance variables of a class or generating the methods declarations when you're coding a class that implements an interface. So, yes, I hope it's a good balance between learning how to use an IDE, which can save you time and effort, and learning how the Java code works, which is the more important and difficult skill.
 
Arco Brouwer
Ranch Hand
Posts: 44
2
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Joel Murach wrote:So, yes, I hope it's a good balance between learning how to use an IDE, which can save you time and effort, and learning how the Java code works, which is the more important and difficult skill.


Good to hear that you have thought about the pitfalls when using an IDE a starting programmer. I have to say that I didn't used a particular book when started coding until I started to learn for my OCA, but I would certainly recommend yours ;-)
To go back on topic, looking at how you describe your book I think you have a nice piece of work which is pretty unique. Thanks!
 
Joel Murach
Author
Ranch Hand
Posts: 127
12
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!