aspose file tools*
The moose likes Meaningless Drivel and the fly likes Book authors - why you no give us realistic tutorials ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "Book authors - why you no give us realistic tutorials ?" Watch "Book authors - why you no give us realistic tutorials ?" New topic
Author

Book authors - why you no give us realistic tutorials ?

Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
I read a couple of good java books - head first, thinking in java and some. But, none of these books cover things like -

1 - How to build projects with or without interdependency ?
2 - How to test your code ?
3 - How does compilation and running of code really work ?
4 - What kind of frameworks or other things you need to learn to make your knowledge of java useful ?
5 - How to use IDE for basic work ?
Etc...

These are real world things. Hello world followed by some cute ATM examples will not get anyone far, intellectually and in the job market.
What about OO design ? Is a small paragraph on Encapsulation, Polymorphism, Coupling, Cohesiveness enough to give a real life experience
of OO ? No !

Please, I beg you to write version <EDIT> volume 2, 3 ,4 of your books that will also cover things like these and will enable the
reader to advance his/her knowledge in gradual steps, with a couple of sample projects on the way.

If you cannot do that, then please discuss (at least briefly) all the possible directions one can take after doing the basics, for example
Spring, Hibernate, JSF, JSP, Swing, Android etc. Also discuss the flaws in the language and if any projects try to/have successfully overcome
those. For example, Joda Time has made time and dates easier to work with as compared to the Calendars and such of Java SE.

Please talk about good open source projects we could contribute to or how to select one.

The hello worlds are important, but will give us 0 skills for the real world. Please also give us some real world lessons too.

Thanks.



Java Newbie with 72% in OCJP/SCJP - Super Confused Jobless Programmer.
I am a "newbie" too. Please verify my answers before you accept them.
Jelle Klap
Bartender

Joined: Mar 10, 2008
Posts: 1768
    
    7

A book that would cover all the fundamentals of a language / platform, as well as all the aspects of (modular) design, testing and programming in real world projects would be completely useless, if not impossible to write.


Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
Frank Silbermann
Ranch Hand

Joined: Jun 06, 2002
Posts: 1387
It would be like writing a book that teaches everything you need to know to practice medicine.

Most of the topics mentioned are covered in books, but you need to go through about twenty-five 300 to 1200 page books.

Andy Jack wrote:
If you cannot do that, then please discuss (at least briefly) all the possible directions one can take after doing the basics, for example
Spring, Hibernate, JSF, JSP, Swing, Android etc. Also discuss the flaws in the language and if any projects try to/have successfully overcome
those. For example, Joda Time has made time and dates easier to work with as compared to the Calendars and such of Java SE.

Please talk about good open source projects we could contribute to or how to select one.
Yes, a book that mapped the Java framework landscape would be welcome. It is difficult to find an author for something like that because there is too much for anyone person to know. Most professionals specialize in one type of system (e.g. web applications, or phone applications, or GUI front-ended applications), and even then often on only one part of the system, and for that part know only the frameworks they use and not all the competing alternative frameworks.

As for contributing to open source frameworks, yeah, I don't understand the advice that you should begin with this. It seems to me that you start by using an open source framework in a job you already have, become expert, and then start contributing. How could anyone _contribute_ to a framework to which they were a beginner?

One think I can recommend is to try to monitor www.dZone.com to get an idea what things people are talking about. Talk to people to see what frameworks are being used in your area. Look at books on Amazon.com and see what the reviewers say about each book.

Since 1978 I would say that it is becoming increasingly difficult to master all the topics one needs to know to become a developer, pay (after inflation) has remained about the same, and job security has severely degraded. On the other hand, most other occupations have also degraded in such ways.
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Hi Andy,

As has been said - creating one book which covers the beginner topics plus OO concepts, plus details compilation and JVM functionality, plus web frameworks, plus mobile development, plus third party libraries, plus open source development and current projects is just too big a book to be realistic. First, with the variety of subjects covered, it would always be out of data because with all the different subjects covered and the speed at which these things change, by the time you finish an addition something significant has changed.

At some point you have to take responsibility for your own education. Don't expect a 'for beginners' book to get you everything you need to know. Once you are done with that book you need to choose an education path and get a book more specific and in detail about the subject you want to cover.


Steve
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61413
    
  67

That would be like a math textbook that covers arithmetic through algebra through calculus, and throws in some chaos theory, circuit analysis in the imaginary plane, and some quantum mechanics.

Far too much to cover in one book, and overwhelming to the reader.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Bert Bates
author
Sheriff

Joined: Oct 14, 2002
Posts: 8829
    
    5
I agree with Bear and would like to add another perspective.

If I need to learn a new technology, a good book is an incredibly fantastic investment. For $40 or $50, a good book can save me many, many hours of searching and/or experimenting - it's a no-brainer.

Given that perspective, the experienced developers I know typically will have many books on a particular subject. So, why not have 8 or 10 books covering Java, Spring, Hibernate, frameworks, design patterns, and so on?

Put yet another way, if you assign even a modest value to your own time, multiple books are a fine investment.


Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
Jelle Klap wrote:A book that would cover all the fundamentals of a language / platform, as well as all the aspects of (modular) design, testing and programming in real world projects would be completely useless, if not impossible to write.


Why do you say that ? Why not have a 4-5 volume book instead of 1, like "SQL Joes To Pros" ?
I know some tutors (teams of em) who offer to teach the whole SDLC and stuff for a fee. The authors of these books have a lot of development experience too.
Why not put some/most of that into books ?
Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
Steve Luke wrote:Hi Andy,

As has been said - creating one book which covers the beginner topics plus........................and get a book more specific and in detail about the subject you want to cover.


As I said before - why not make a multi volume book ? Take Rick Morelans "SQL Joes To Pros". Thats about 5-6 volumes. It only covers SQL, but it does so in depth. Why not cover Java
or anything else in that depth ?
Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
Bert Bates wrote:I agree with Bear and would like to add another perspective.

If I need to learn a new technology, a good book is an incredibly fantastic investment. For $40 or $50, a good book can save me many, many hours of searching and/or experimenting - it's a no-brainer.

Given that perspective, the experienced developers I know typically will have many books on a particular subject. So, why not have 8 or 10 books covering Java, Spring, Hibernate, frameworks, design patterns, and so on?

Put yet another way, if you assign even a modest value to your own time, multiple books are a fine investment.


I understand. Perhaps you missed this - I said that we could have a multi volume book instead of one big super thick book. You dont have to cover everything, but at least the language fundamentals and some projects too.
Maybe you can invent a significant sized problem/project for guys who read the basics. Make something which cannot have more than 3-4 ways of solving or designs.
Then, throw this problem at some of the beginners. Record all their solutions and show the flaws in them or pick the best one in the book. Or make your own and show that
its the best.

Maybe you could show some case studies with examples of bad design or flawed programming. People might be like "Oh ! I would have made the same mistake..."

I wish I had as much intelligence, experience and knowledge as you guys. I would have certainly written a series of books that would help a reader to become a "green belt" at least, if
not a "black belt". I know that any volume cannot cover everything, but can at least give you a solid understanding of the basics and not just the syntax.

Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
Bear Bibeault wrote:That would be like a math textbook that covers arithmetic through algebra through calculus, and throws in some chaos theory, circuit analysis in the imaginary plane, and some quantum mechanics.

Far too much to cover in one book, and overwhelming to the reader.


I don't want one book, but a multi volume book (Like SQL - Joes to Pros) which covers everything from "algebra to a couple of topics before calculus".
Most books only teach you linear equations. A couple of them teach you quadratic and cubic too with some example of such equations in real life.
What about trigonometry, mathematical induction etc ?

We can leave things like chaos theory, circuit analysis and such for later volumes or the reader can search for other books. ;)
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Using SQL Joes2Pros is a good example. It is a 5 book series, presumably it covers a large topic in detail. It was published in 2009, targets SQL Server 2008, and specifically is designed for the MS 70-433 exam.

The problem is the MS 70-433 exam was changed in 2010 to target MS SQL Server 2008 R2, and is being retired in 6 months or so. The replacement exam (all ready available) is targeted for MS SQL Server 2012. So that large set of books doesn't cover the latest technology (SQL Server 2012), nor does it fully cover the exam it was written for (it was written before SQL Server 2008 R2 was released) anymore. It is out of date.

Now, a whole lot of that book series is not going to change much. You can buy the books individually, so you can go ahead and buy the books that cover the more general stuff, then buy specialized books that cover similar topics on MS SQL Server 2012. But that is exactly what you get in the general case of smaller - but more targeted - and more agile - groups of books. You should be set to buy multiple books that cover the range of information you want - an intro book, a more detailed book, something specific for the web framework you want to work with, another for the mobile platform you want to program on, etc... But because the books are being published independent of each other and by different authors you should not have a problem finding up-to-date books.
Sabarish Venkat
Ranch Hand

Joined: Jan 18, 2012
Posts: 136

Hey Andy,
The books you mentioned are very basic for the new bee to learn what is what. It says about what are the topics you should know if you want to learn core programming. if you need to earn more skills in it and become expert for real time implementation we have some advanced methodologies book that gives you a deep drive in it. why cant you go for it. Also even if authors give us real time scenarios in programming its the learners thing to practice lot on it and get knowledge of it. Practice Makes a Man Perfect
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

What the OP seems to be asking for is an Encyclopedia of Programming. Or maybe an Encyclopedia of Computer Science. (now the difference between Programming and CS would be a great Meaningless Drivel topic).

Sadly, the world has stopped commercial support of printed encyclopedias. They are a ton of work to write, edit, etc. Which takes a long time, and in this field, by the time you've put in a ton of work, the field has moved on. Some whole books, say those about JEE, would just be of historical interest at best.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61413
    
  67

Few people who haven't written at least one book have any idea of how much work it is. I know I had no idea (no idea!) when I first got involved in it.

And, as someone who is currently working on the 3rd edition of one of his books, can attest that for all that effort, the half-life of a tech book is pretty short. If a book can stay relevant for two years, it's doing good.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1771
    
  14

Bert Bates wrote:If I need to learn a new technology, a good book is an incredibly fantastic investment. For $40 or $50, a good book can save me many, many hours of searching and/or experimenting - it's a no-brainer. Given that perspective, the experienced developers I know typically will have many books on a particular subject. So, why not have 8 or 10 books covering Java, Spring, Hibernate, frameworks, design patterns, and so on? Put yet another way, if you assign even a modest value to your own time, multiple books are a fine investment.

Indeed. I just counted the books on my "tech" shelf and there are 115 of them, covering a wide range of topics I've been looking at over the last few years, plus the dozen or so books on my Kindle, although it's hard to read tech books on a Kindle. Some of them are probably out of date as they relate to old software versions etc, and some of them I have never really done much with, while others have been extremely useful. And I'm just a grunt Oracle developer with a relatively narrow range of "expertise" - maybe that's why I need so many books!


No more Blub for me, thank you, Vicar.
Tushar Bhaware
Ranch Hand

Joined: Aug 13, 2012
Posts: 62

chris webster wrote:
I just counted the books on my "tech" shelf and there are 115 of them, covering a wide range of topics I've been looking at over the last few years, plus the dozen or so books on my Kindle.

Oh my god, 115 tech books, You drank a Sea and here i thought, after reading 3 books, i have quite decent knowledge. looks like i have to make a quite mental preparation if i want to be anything good like you.


Remember you have not inherited earth from your ancestor,you only borrowed it from your descendants.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Tushar Bhaware wrote:Oh my god, 115 tech books


I have over 50 books published by one house: O'Reilly.
Easily a couple hundred others.
Tushar Bhaware
Ranch Hand

Joined: Aug 13, 2012
Posts: 62

Pat Farrell wrote:
Tushar Bhaware wrote:Oh my god, 115 tech books


I have over 50 books published by one house: O'Reilly.
Easily a couple hundred others.

How do you guys read so many books? Novels , Yeah Sure. Tech Books, couple of hundred, Blowing my mind.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Tushar Bhaware wrote:How do you guys read so many books? Novels , Yeah Sure. Tech Books, couple of hundred, Blowing my mind.

I have hundreds of novels, and nearly as many history books.

I periodically purge my tech books. No need to keep any Windows before XP, or IE before 6, etc.
Tushar Bhaware
Ranch Hand

Joined: Aug 13, 2012
Posts: 62

Pat Farrell wrote:I have hundreds of novels, and nearly as many history books.
I periodically purge my tech books.

I guess i should buy couple of hundred novels so i also can purge my tech books.
I have 7 tech books and i am just about to end 3rd one.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61413
    
  67

Good grief, I'm afraid to count them. Certainly, the count would be in the hundreds. And if you count those that I've purged over the years, likely over a thousand.

This is the reason I've switched to eBooks lately. I'm drowning in books (I also have tons of novels, cookbooks, How To books, non-tech science non-fiction, and on and on).
Tushar Bhaware
Ranch Hand

Joined: Aug 13, 2012
Posts: 62

Bear Bibeault wrote: And if you count those that I've purged over the years, likely over a thousand.

Looks like it will take a life time for me to reach the level of knowledge you all guys have.
And one more question,
Will anyone lower the bar,please? With every post, i found out number is increasing.
J. Kevin Robbins
Bartender

Joined: Dec 16, 2010
Posts: 998
    
  13

Tushar Bhaware wrote:
Bear Bibeault wrote: And if you count those that I've purged over the years, likely over a thousand.

Looks like it will take a life time for me to reach the level of knowledge you all guys have.
And one more question,
Will anyone lower the bar,please? With every post, i found out number is increasing.


If it makes you feel better, I've been a professional developer for about 3 years, and I only have about 3 dozen books on my shelf and another dozen on my Amazon wish-list.

Back to the original point of this thread. I've also found that there is a big gap between example programs and real-world programs. I'd like to see a book that takes a single project from start to finish. Let's say an employee database/payroll system for a large company. Walk the reader through the steps of gathering requirements, understanding the use cases, and designing the database tables. Then, how does one start building an efficient design? Leave out the frameworks and other bells and whistles and just keep it basic. Perhaps lead the reader down the path of a bad design until it gets to the point where it becomes obvious that this is not the best design and then backtrack and fix the design issues.

I know that for me, this is my big weakness. I can write code, I can design pages, but the most difficult part for me is designing an entire system that will be easy to maintain and expand. It seems that most books are designed to teach you the basics and they expect you to learn the advanced stuff by trial and error, or under the guidance of a senior developer. I'm looking for books to guide me through the advanced stuff since I don't have any other developers to guide me except the folks here at the ranch.



"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do." -- Ted Nelson
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

To all the young folks here, I highly recommend The Elements of Computing Systems. This is a relatively small book, and it is very easy to read. It starts from logic gates -- i.e., small clumps of transistors -- and teaches you to create simple digital circuits out of them using a simulator (the simulator is written in Java and comes free with the book.) Next you build a simple CPU and memory chips out of your digital circuits. You then assemble a complete computer from your chips, and start programming it in a machine language you have implemented yourself. Then you write an assembler. Then you write successive layers on top of that: a virtual machine, a compiler for a simple Java-like language, a basic operating system -- and a few games that run on the complete system.

This book is a huge eye-opener for folks who think there is "magic smoke" inside of their electronic devices. It will give you a fantastic new perspective and help put a solid foundation underneath everything you've learned so far and will learn in the future. You will understand how things fit together in ways you never have before. I really can't say enough good things about this: I wish I had a copy thirty years ago.


[Jess in Action][AskingGoodQuestions]
Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
Jk Robbins wrote:
Tushar Bhaware wrote:
Bear Bibeault wrote: And if you count those that I've purged over the years, likely over a thousand.

Looks like it will take a life time for me to reach the level of knowledge you all guys have.
And one more question,
Will anyone lower the bar,please? With every post, i found out number is increasing.


If it makes you feel better, I've been a professional developer for about 3 years, and I only have about 3 dozen books on my shelf and another dozen on my Amazon wish-list.

Back to the original point of this thread. I've also found that there is a big gap between example programs and real-world programs. I'd like to see a book that takes a single project from start to finish. Let's say an employee database/payroll system for a large company. Walk the reader through the steps of gathering requirements, understanding the use cases, and designing the database tables. Then, how does one start building an efficient design? Leave out the frameworks and other bells and whistles and just keep it basic. Perhaps lead the reader down the path of a bad design until it gets to the point where it becomes obvious that this is not the best design and then backtrack and fix the design issues.

I know that for me, this is my big weakness. I can write code, I can design pages, but the most difficult part for me is designing an entire system that will be easy to maintain and expand. It seems that most books are designed to teach you the basics and they expect you to learn the advanced stuff by trial and error, or under the guidance of a senior developer. I'm looking for books to guide me through the advanced stuff since I don't have any other developers to guide me except the folks here at the ranch.




And that is what I am begging for.
Andy Jack
Ranch Hand

Joined: Nov 22, 2012
Posts: 257
Ernest Friedman-Hill wrote:To all the young folks here, I highly recommend The Elements of Computing Systems. This is a relatively small book, and it is very easy to read. It starts from logic gates -- i.e., small clumps of transistors -- and teaches you to create simple digital circuits out of them using a simulator (the simulator is written in Java and comes free with the book.) Next you build a simple CPU and memory chips out of your digital circuits. You then assemble a complete computer from your chips, and start programming it in a machine language you have implemented yourself. Then you write an assembler. Then you write successive layers on top of that: a virtual machine, a compiler for a simple Java-like language, a basic operating system -- and a few games that run on the complete system.

This book is a huge eye-opener for folks who think there is "magic smoke" inside of their electronic devices. It will give you a fantastic new perspective and help put a solid foundation underneath everything you've learned so far and will learn in the future. You will understand how things fit together in ways you never have before. I really can't say enough good things about this: I wish I had a copy thirty years ago.


Thanks for finding this book. Will get a copy for myself. This looks like the kind of thing I have been looking for.
More importantly, how did you come to know about this book ? I don't know why books like these are not very well known.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4659
    
    5

Jk Robbins wrote: the most difficult part for me is designing an entire system that will be easy to maintain and expand.


This is the hard part of the business. Its why folks with 20+ years of experience are often worth the big salaries.

Get a copy of Brook's Mythical Man Month. Its a short book and an easy read. Read it once a year for the rest of your life.

You can buy a book or two on the latest "silver bullet" and keep up with the trends. But the trends have never stayed in fashion.

  • Structured Programming
  • Object Oriented
  • Aspect Oriented
  • Expert Systems
  • CASE and case
  • Rapid prototyping
  • Agile Development
  • etc


  • The list is endless, and the search for a magic solution continues. Some of this stuff, like seriously scalable systems, long term architectural purity, etc. are just hard.
    Andy Jack
    Ranch Hand

    Joined: Nov 22, 2012
    Posts: 257
    Pat Farrell wrote:
    Jk Robbins wrote: the most difficult part for me is designing an entire system that will be easy to maintain and expand.

    Get a copy of Brook's Mythical Man Month. Its a short book and an easy read. Read it once a year for the rest of your life.


    I read a couple of sample pages. Looks like its mostly about "more people doing the job does not always equal job getting done faster".
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4659
        
        5

    Andy Jack wrote:I read a couple of sample pages. Looks like its mostly about "more people doing the job does not always equal job getting done faster".

    That is what the title means. i.e. nine women can not have a baby in one month.

    There is a lot more than just that. The essay on "no silver bullets" alone is worth the price of the book.
    Ernest Friedman-Hill
    author and iconoclast
    Marshal

    Joined: Jul 08, 2003
    Posts: 24187
        
      34

    Andy Jack wrote:
    More importantly, how did you come to know about this book ? I don't know why books like these are not very well known.


    I only learned about it within the last few months. I heard of it because it is used as a textbook by some universities, and an online discussion somewhere (here? SlashDot?) mentioned it. When I saw the mention it sounded really interesting, so I grabbed a copy for my Kindle. I really enjoyed reading it.
    J. Kevin Robbins
    Bartender

    Joined: Dec 16, 2010
    Posts: 998
        
      13

    Pat Farrell wrote:
    Get a copy of Brook's Mythical Man Month. Its a short book and an easy read. Read it once a year for the rest of your life.


    Thanks for the tip. I just placed the order along with a couple of other books that have been hanging around on my wish list for several months.
    Andy Jack
    Ranch Hand

    Joined: Nov 22, 2012
    Posts: 257
    Ernest Friedman-Hill wrote:To all the young folks here, I highly recommend The Elements of Computing Systems


    It looks like we will invent a machine language and do all the coding in the book using it. But, does this book also use C, C++ for coding the examples ? I could revisit those before I start reading the book.
    Ernest Friedman-Hill
    author and iconoclast
    Marshal

    Joined: Jul 08, 2003
    Posts: 24187
        
      34

    The book is designed so you can use Any programming language you know to complete the exercises.

    Besides a machine language you also create a simple high level (java-like) language.
    dennis deems
    Ranch Hand

    Joined: Mar 12, 2011
    Posts: 808
    Ernest Friedman-Hill wrote:The book is designed so you can use Any programming language you know to complete the exercises.

    Besides a machine language you also create a simple high level (java-like) language.


    This sounds really cool. Wish we'd used this book when I was in school.
     
    Consider Paul's rocket mass heater.
     
    subject: Book authors - why you no give us realistic tutorials ?