JLS (Java Language Specification). A lawyerly document that specifies the grammar of the Java language. This is the ultimate authority on any question of what is legal syntax in Java and just what any Java program is supposed to do. It is primarily aimed at compiler writers and lawyers. It is all but unintelligible to newbies. It is the bible used to settle language disputes in Internet discussions.
It is written in a language it rarely answers my questions clearly. Perhaps I am too much of a lawyer. I find too many ways of interpreting its language. Most of the time it might as well be written in Chinese. It uses language that to me bears little resemblance to the Java symbols I manipulate. It has too many of its own abstractions. It is written to impress, perhaps as a legal document, but not to explain to ordinary humans who understand best by generalising from examples to get the general idea plus the general rule to nail down the fine points. In short, I have little confidence in my interpretations. It is OK for things I know already, but not for things I find puzzling.
The problem with using experiments to deduce the rules of the Java language is that if something does not work, it may well be for a reason quite different from the thing I am testing. If it does work, there may be no guarantee it will always work, or work in other situations.
To settle a question I use a multi-pronged approach:
|recommend book⇒The Java Language Specification, Java SE 8 Edition (Java Series)|
|by||James Gosling, Bill Joy, Guy L. Steele Jr., Gilad Bracha, Alex Buckley||978-0-13-390069-9||paperback|
|This is the bible of Java syntax and what a program is supposed to do and allowed to do. It has been updated to cover Java 1.8. It is pretty hard slogging, designed for language lawyers and people who implement compilers. This is not a book to learn Java, but to resolve fine points.|
|recommend book⇒The Java Programing Language, fourth edition|
|by||Ken Arnold, James Gosling, David Holmes||978-0-321-34980-4||paperback|
|This is not The Java Language Specification, the formal language specification. This is not a suitable book for beginners. The fifth edition, 978-0-13-276168-0, is due out 2013-04-11.|
|Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder.|
This page is posted
Optional Replicator mirror
Your face IP:[188.8.131.52]
You are visitor number|