Download e-book Java: The Good Parts: Unearthing the Excellence in Java

Free download. Book file PDF easily for everyone and every device. You can download and read online Java: The Good Parts: Unearthing the Excellence in Java file PDF Book only if you are registered here. And also you can download or read online all Book PDF file that related with Java: The Good Parts: Unearthing the Excellence in Java book. Happy reading Java: The Good Parts: Unearthing the Excellence in Java Bookeveryone. Download file Free Book PDF Java: The Good Parts: Unearthing the Excellence in Java at Complete PDF Library. This Book have some digital formats such us :paperbook, ebook, kindle, epub, fb2 and another formats. Here is The CompletePDF Book Library. It's free to register here to get Book file PDF Java: The Good Parts: Unearthing the Excellence in Java Pocket Guide.

Want to Read Currently Reading Read. Other editions. Enlarge cover. Error rating book. Refresh and try again. Open Preview See a Problem? Details if other :. Thanks for telling us about the problem. Return to Book Page. Preview — Java by Jim Waldo. What if you could condense Java down to its very best features and build better applications with that simpler version? In this book, veteran Sun Labs engineer Jim Waldo reveals which parts of Java are most useful, and why those features make Java among the best programming languages available.

Every language eventually builds up crud, Java included. The core language has b What if you could condense Java down to its very best features and build better applications with that simpler version? The core language has become increasingly large and complex, and the libraries associated with it have grown even more. Learn how to take advantage of Java's best features by working with an example application throughout the book. You may not like some of the features Jim Waldo considers good, but they'll actually help you write better code.

Learn how the type system and packages help you build large-scale software Use exceptions to make code more reliable and easier to maintain Manage memory automatically with garbage collection Discover how the JVM provides portability, security, and nearly bug-free code Use Javadoc to embed documentation within the code Take advantage of reusable data structures in the collections library Use Java RMI to move code and data in a distributed network Learn how Java concurrency constructs let you exploit multicore processors Get A Copy.

Paperback , pages. More Details Other Editions 5.

Why JavaScript will win on mobile

Friend Reviews. To see what your friends thought of this book, please sign up. To ask other readers questions about Java , please sign up. Lists with This Book. This book is not yet featured on Listopia. Community Reviews.

Java - The Good Parts : Unearthing the Excellence in Java by Jim Waldo (2010, Paperback)

Showing Rating details. Sort order. Jul 10, Roger rated it really liked it. I found the chapters on serialization and concurrency hard to understand, but thought the book provided an accessible survey of generics, garbage collection, and the JVM. Jim Waldo provides some pretty interesting anecdotes about the early days of Java's development.

Mar 10, Nathan Glenn rated it it was amazing. I cannot finish my review of the first chapter of JavaScript: The Good Parts without quoting one more astute quote: "[Given JavaScript's] many errors and sharp edges, The first is that you don't have a choice.

  • Perfect Tense.
  • Look At Me Now!
  • Java: The Good Parts.

JavaScript is the only language found in all browsers. The other answer is that, despite its deficiencies, JavaScript is really good. The second chapter of JavaScript: The Good Parts provides 15 pages of introduction to the "grammar of the good parts of JavaScript, presenting a quick overview of how the language is structured.

The section on "Statements" points out early some "unconventional" aspects of JavaScript: code blocks delineated by curly braces do not limit scope to those blocks and variables should be defined at the beginning of a function rather than at first use. The 6 pages of Chapter 3 introduce JavaScript Objects. It got almost everything right. But, as you should expect with JavaScript, it didn't get everything right. Despite its being lengthier than the preceding chapters, Chapter 4 seems to me to also be more dense particularly than Chapters 2 and 3.

Chapter 4's coverage of JavaScript functions point out one of the differences in JavaScript I needed to come to terms with to feel more confident with the language: "Functions in JavaScript are objects. JavaScript's different meaning of this depending on context has been one of the more difficult aspects of working with JavaScript after coming from a Java background, but this explanation is the clearest and most easy to remember that I have read.

The fourth chapter covers exception handling, method cascading, and type augmentation. The section on "Augmenting Types" presents multiple examples of adding "significant improvements to the expressiveness of the language" by "augmenting the basic types" via addition of methods to appropriate prototypes. The sections on "Recursion," "Closure," and "Module" are where things got a bit dense for me and I needed to read several portions of these sections more than once to more fully appreciate the points being made.

I believe I still have a ways to go to understand these concepts completely, but I also believe that understanding them well and implementing the module concept presented here is the key to happiness in large-scale JavaScript development. The "Curry" section of Chapter 4 states that JavaScript lacks a curry method, but explains how to address that by associating a curry method with Function. The "Memoization" section demonstrates how to use memoization in JavaScript so that "functions can use objects to remember the results of previous operations, making it possible to avoid unnecessary work.

JavaScript: The Good Parts 's fifth chapter begins by briefly explaining the two "useful services" that inheritance provides in "classical languages such as Java ": code reuse and type system.

It is explained that JavaScript is dynamically typed and therefore gains a single advantage from inheritance: code reuse. Crockford states that "JavaScript provides a mucn richer set of code reuse patterns" than the "classical pattern. The "Pseudoclassical" section of Chapter 5 begins with the assertion that "JavaScript is conflicted about its prototypal nature.

The most "serious hazard" occurs when a developer forgets to use new when calling the constructor function. Crockford warns that in such cases, this is associated with the global object rather than the likely intended new object. The author states that convention is to use uppercase for the first letter of the "constructor function" objects" to indicate this risk, but he advises that the better course is to not use new or the constructor invocation pattern at all.


This discussion in the "Pseudoclassical" section of Chapter 5 provides more detail on issues Crockford raised with the "constructor invocation pattern" in Chapter 4. These two sections forced me to acknowledge that while I've liked using the constructor invocation pattern in JavaScript, it's only because "the pseudoclassical form can provide comfort to developers who are unfamiliar with JavaScript.

Account Options

Chapter 5 introduces object specifiers and dives into coverage of JavaScript's prototypal implementation and differential inheritance. The "Functional" section of this fifth chapter illustrates how to use a functional approach to reuse and states that this functional approach "requires less effort than the pseudoclassical pattern and gives us better encapsulation and information hiding and access to super methods. The 6-page sixth chapter of JavaScript: The Good Parts introduces the concept of an array and mentions a couple of its benefits, but laments, "Unfortunately, JavaScript does not have anything like this kind of array.

Chapter 6 discusses JavaScript's "unconventional" length property for JavaScript "arrays" and introduces syntax for accessing elements, push , and delete.

  • Manual Java: The Good Parts: Unearthing the Excellence in Java;
  • For a Sisters Love?
  • The Benefits of Tomato.
  • 7 Simple Ways to Rediscover Your Wow Factor;
  • Mini Delicious Asian Seafood Recipes.

The sixth chapter wraps up with discussion regarding adding methods to JavaScript's Array. Specific code examples include a function thar initializes the delements of a JavaScript array and a function that initializes the elements of a matrix array of arrays. For those who have used other implementations of regular expressions particularly Perl's or implementations based on Perl's , this will be fairly familiar. Crockford points out several motivations for keeping regular expressions simple, but a JavaScript-specific motivation for simpler regular expressions that he cites has to do with lack of portability between different JavaScript language processors' regular expression support. The chapter also introduces other JavaScript syntax for working with various regular expression concepts in JavaScript. These pages summarize the "small set of standard methods that are available on the standard types" in JavaScript. The chapter lists the method signature, brief method description, and examples of using that method for standard methods defined on Array , Function , Number , Object , RegExp , and String.

Although these are nice summary descriptions and example usages, this chapter may be the least useful chapter of the book given that these APIs are documented online in sites such as the Mozilla Developer Network 's JavaScript Reference.