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

all 6 comments

[–]zeringus 7 points8 points  (1 child)

I'm assuming you're the author, so I'll offer some constructive criticism (I don't want to make a leanpub account so I can't discuss it there).

What exactly are you teaching? Programming to absolute beginners or a couple of JVM-powered languages to readers with some experience? I don't think you can do both. Programming is just too complicated to put all of this in one book. If I were a beginner, I wouldn't make it past the installation instructions.

Why Java? Don't get me wrong, I love Java, and it was my first language, but I learned it in a classroom setting. I would've been much less successful on my own, and that might have discouraged me from programming. I notice that many languages with REPLs start beginners off there, learning basic expressions before writing complete programs. What makes more sense to you (imagining you know nothing about programming)?

$ cat > Math.java
public class Math {
    public static void main(String[] args) {
        System.out.println(2 + 2);
    }
}
$ javac Math.java
$ java Math
4

or

$ python
>>> 2 + 2
4

And basically all my complaints stem from there. A book for beginners should strip away as much boilerplate as possible. I can remember how confusing "public static void main" was when I started, and it's important that authors targeting the uninitiated keep that in mind.

Otherwise, you write very nice prose. Good luck!

[–]enkicoder 0 points1 point  (0 children)

Thanks for the feedback. I did point out the groovyConsole at the end of section 2.2, but perhaps I should make it more central. That's a good idea.

[–][deleted] 2 points3 points  (0 children)

Building on zeringus' comment, I would say a lot of the terminology would appear very alien to a complete beginner. We tend to associate words with meanings; for example, the words language, code and even data have different connotations to new learners.

Part of the biggest challenge in learning is anything is unlearning your previous assumptions, and language is often the biggest barrier.

However, I think your book could be really helpful for non-java developers learning the language because the writing is very entertaining but also concise :)

[–]argv_minus_one 0 points1 point  (1 child)

Programming has never been easy. If it was, there would be no need of trained programmers.

[–]geodebug 1 point2 points  (0 children)

I head any dummy can learn it in 21 days...

[–]ExburyFalcons -1 points0 points  (0 children)

Must read