Found in 2 comments on Hacker News
irahul · 2013-01-24 · Original thread
> Opening a file and reading from it takes tens of lines in Java,

Some of the bad Java is because of missing abstractions, most of it is because of badly designed api.

For your particular example, the api has been better since Java 5.

    import java.util.Scanner;

    public class ScannerTest {
        public static void main(String[] args) throws FileNotFoundException {
            Scanner in = new Scanner(new File("some_file"));
            while (in.hasNextLine()) {
> You don't learn Java these days, you just learn eclipse. Much of the magic is happening in auto complete.

I code in vim with eclim. There is nothing to be gained by manually writing the code for getter setter, or find-replace an identifier, or write placeholders for n methods of an interface...

> I am not sure who picks up a book to learn java these days.

It was some time ago(about 8 years ago), but I learned Java from a book(multiple books; I liked Core Java best

Also, what good would eclipse do to someone who doesn't know what to write? Consider my example above. Unless you know how to read a file, how can eclipse generate the code for you?

Or consider generics. How will eclipse help you understand what does <T extends Comparable<? super T>> mean? Eclipse is an aide. Unless you understand the language well, it doesn't help.

gtani · 2010-07-12 · Original thread
I picked these because the big box book resellers stock them (I think you're looking for background on things like primitives/autoboxing, java.util.concurrent, the JVM's startup options, profiling/debug tools, and maybe tips that make rhickey's clojure source easier to read):

Fresh book recommendations delivered straight to your inbox every Thursday.