
What's the Java equivalent of Kernighan and Ritchie's C programming language? - cvigoe
I have moderate experience with java (did a intro to AI class in school and all the practical work was in java) but I only picked up the language in that class (which wasn&#x27;t a class intended to teach the language). I&#x27;d like a textbook recommendation for getting a more formal introduction to the language and I enjoyed the C programming language text. Wondering what the HN community considers the equivalent for java
======
Pamar
This is a really interesting question - the main problem with identifying a
single book is that while Java core syntax is relatively terse (you can for
example check out Precisely Java for an example: [https://web-
beta.archive.org/web/20110810052030/http://www.d...](https://web-
beta.archive.org/web/20110810052030/http://www.dina.kvl.dk/~sestoft/javaprecisely/))
the language delivers only through massive usage of the standard libraries.
And this really makes it a completely different beast from C - a gap that kept
growing at each subsequent version of Java (you may notice that Java Precisely
hasn't been updated after Java 5, btw).

Personally if I had to get back into Java today I would start by exploring
_Introduction to Programming in Java: An Interdisciplinary Approach_ by Robert
Sedgewick & Kevin Wayne. The 2nd Edition has just been published (early April
2017) - but take in account that I am suggesting this basing myself
exclusively on the reputation of the authors, and I haven't read it.

~~~
cvigoe
That makes a lot of sense as to why there doesn't seem to be a "Bible" for
java - thanks for the recommendation, I'll take a look at it

------
brudgers
In a literary sense, there is probably not a Java equivalent to _The C
Programming Language_ because it was written at a time when the primary way of
telling people about new programming languages was dead tree books and the
primary way of distributing new programming languages was magnetic tape. By
the time Java was created, network connections and CDROM's were standard. Also
Java was a commercial product backed by for profit training and workshops and
support.

Anyway, the formal introduction to Java is the specification produced via
Java's consensus process. It's all there. Everything. If it isn't there, it's
a bug.

[https://docs.oracle.com/javase/specs/jls/se8/html/index.html](https://docs.oracle.com/javase/specs/jls/se8/html/index.html)

Good luck.

