• Post Reply Bookmark Topic Watch Topic
  • New Topic

For discussion with Ashish Sarin & J Sharma  RSS feed

 
Liutauras Vilda
Sheriff
Posts: 4927
334
BSD
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Authors once again.

Trying to encourage discussion to define a possible books route.

Now we are in 2017. Since 1995 it seems there were lots of books released about the Java Object Oriented language.
Universities use them for programming courses, people buy with an intention to learn program.

Now, looking to most of the beginners books I've had contact with, it seems a lot of them are a reference style, "a lot" in my experience appear to be almost all (except Head First Java by Kathy Sierra, Bert Bates; and few of Cay S. Horstmann's):

General idea of all those books follows the lines:
What are primitive types
What are conditional operators
What is if statement
What is for loop
what is while loop

So on and on and on, we have all that information in Oracle Java Tutorials here, which is kind of default thing. When somebody releases an API, they provide documentation. Java has its own documentation, JLS and Tutorials.

Where I'm leaning, that most of the books just duplicating the knowledge which is provided already in a default language package without providing some significant extra's.

My first question is, what is the motivation behind that, to release yet another book of this kind? Don't take this as an attack, just trying to raise a healthy discussion

According to the text at the end of book, this book is meant to be for students, most likely for future programmers.

Looking to the content of the book, I get an impression that there is little about Java as about Object Oriented language, which unfortunately I had to pick up quite late too, and it started here in this forum actually, rather than in my teaching institution or from the books I have been introduced there.

Not a secret, that lots of community members here are students, which coming with lots of different questions. What we perceive here being and reading questions on daily basis, that students got overflowed with an amount of content (which partially comes from universities and books suggested to use there) which seem to be having little to nothing related with Object Oriented programming.

Now, few members of the Ranch trying to roll this up and change that, involving academia and in general spreading object oriented programming ideas (which are currently seem to be separated from Java as a language) to students.

Second question, don't you think, that book would be way more successful if it would follow those lines rather than reference book's?

Right at the beginning one is suggested to write HelloWorld in a main method and explained all details what is happening. I'd think that book would get way more credits (at least from few moderators) if the HelloWorld program's example would start as (we have our own tutorial MainIsAPain) :


Honestly, lots of people getting sick of seeing over and over again the same things again from the 2nd-3rd year students writing all programs in main() method. I believe that is partial influence of excessive amount of books which pushing that idea to lots of our heads.

Last question. Do you think you would be up in a future on releasing a book about Java as about truly object oriented language, where most of the stuff would be discussed about object orientation, and to lookup for existing data types there would be a reference to Oracle's tutorial?
 
Campbell Ritchie
Marshal
Posts: 56578
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello again. I know few books which start with object‑orientation (=OO), rather than teaching procedural programming and then tacking OO on top of it. I know many people who have great difficulty making the leap from procedural programming to OO. I know Barnes & Kölling take the OO first approach in their book, and HFJ, as already mentioned, introduces objects early. So do some editions of Deitel, though many people here have misgivings about their books. I am not familiar with Horstmann's small books, but the larger ones take OO for granted. Of course, big Horstmann is not really a beginner's book. Even the Java™ Tutorials start with procedural code. I am not sure I would recommend people to look for primitive datatypes there. If you find websites about the Alice method of teaching programming, they omit some primitive datatypes, so: who needs to know about the eight primitive datatypes as a beginner, when we can be confident they can work for twelve months without even seeing three of those datatypes?
 
Ashish Sarin
author
Ranch Hand
Posts: 451
15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Liutauras,

Great questions !! I'll try to answer to them to the best of my abilities.

1. Yes, there are many beginner books in Java plus Oracle's Java tutorials. The books/tutorials differ from each other in how they treat (or teach) the topic.
Getting started with Java programming language book is definitely *not* a reference book. Its doesn't even touch topics related to collections, threads, functional programming, file I/O, Swing, and so on. We followed a simple theme while writing the book - the reader should be able to get the *feel* of how programs are written in Java. We'll get to know how successful we've been with achieving this theme once we start receiving reviews. For this reason, we only covered data types, object-oriented basics (like encapsulation, overriding, overloading, abstraction, and so on), control flow/looping/conditional statements, pass by reference/value, exception handling, arrays and recursion. We intentionally covered recursion by discussing binary search and factorial programs. This sets-up the reader for writing more sophisticated programs. We also added Quiz and some Hands-on excercises to engage the readers. The book shows use of Eclipse IDE for writing Java programs - to give idea to the readers about how programs are written in the real world.

2. After objects and classes are covered in Chapter 4 of the book, the programs are written using objects and the main method takes the back seat. We did take the pain to explain that main method is meant only for running the program and isn't a behavior of an object - and this theme we follow starting Chapter 4.

regards,
 
Liutauras Vilda
Sheriff
Posts: 4927
334
BSD
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ashish Sarin wrote:Getting started with Java programming language book is definitely *not* a reference book.

Good to know that. I hope I had a wrong impression looking to book's content description list.

Ashish Sarin wrote:After objects and classes are covered in Chapter 4 of the book, the programs are written using objects

Alright, Amazon doesn't let to see that far, one needs to be patient then

Ashish Sarin wrote:We'll get to know how successful we've been with achieving this theme once we start receiving reviews.

Agreed.

Thank you for answers. And have great questions during the week.
 
Campbell Ritchie
Marshal
Posts: 56578
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you
What other examples do you show of recursion? Do you explain how a factorial can overflow? Do you show how Fibonacci number algorithms can go into exponential complexity?
 
Ashish Sarin
author
Ranch Hand
Posts: 451
15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Campbell,

The recursion chapter sticks to explaining the basics of recursion (that is, base and recursive cases), and how to write recursive methods in the context of binary search and factorial.
Chapter 2 on data types talks about information loss that occurs when you assign numbers beyond the limits of the data type.

We intentionally didn't touch upon algorithms and their complexities. This would have diluted the main theme of the book - to get a newbie started with Java programming language

regards,
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!