• Complain

Cay S. Horstmann - Scala for the Impatient, 3rd Edition

Here you can read online Cay S. Horstmann - Scala for the Impatient, 3rd Edition full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2023, publisher: Addison-Wesley Professional, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover
  • Book:
    Scala for the Impatient, 3rd Edition
  • Author:
  • Publisher:
    Addison-Wesley Professional
  • Genre:
  • Year:
    2023
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Scala for the Impatient, 3rd Edition: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Scala for the Impatient, 3rd Edition" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Cay S. Horstmann: author's other books


Who wrote Scala for the Impatient, 3rd Edition? Find out the surname, the name of the author of the book and a list of all author's works by series.

Scala for the Impatient, 3rd Edition — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Scala for the Impatient, 3rd Edition" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Scala for the Impatient Third Edition Cay S Horstmann Table of Contents - photo 1
Scala for the Impatient

Third Edition

Cay S. Horstmann

Table of Contents Foreword to the First Edition When I met Cay Horstmann some - photo 2

Table of Contents
Foreword to the First Edition

When I met Cay Horstmann some years ago he told me that Scala needed a better introductory book. My own book had come out a little bit earlier, so of course I had to ask him what he thought was wrong with it. He responded that it was great but too long; his students would not have the patience to read through the eight hundred pages of Programming in Scala. I conceded that he had a point. And he set out to correct the situation by writing Scala for the Impatient.

I am very happy that his book has finally arrived because it really delivers on what the title says. It gives an eminently practical introduction to Scala, explains whats particular about it, how it differs from Java, how to overcome some common hurdles to learning it, and how to write good Scala code.

Scala is a highly expressive and flexible language. It lets library writers use highly sophisticated abstractions, so that library users can express themselves simply and intuitively. Therefore, depending on what kind of code you look at, it might seem very simple or very complex.

A year ago, I tried to provide some clarification by defining a set of levels for Scala and its standard library. There were three levels each for application programmers and for library designers. The junior levels could be learned quickly and would be sufficient to program productively. Intermediate levels would make programs more concise and more functional and would make libraries more flexible to use. The highest levels were for experts solving specialized tasks. At the time I wrote:

I hope this will help newcomers to the language decide in what order to pick subjects to learn, and that it will give some advice to teachers and book authors in what order to present the material.

Cays book is the first to have systematically applied this idea. Every chapter is tagged with a level that tells you how easy or hard it is and whether its oriented towards library writers or application programmers.

As you would expect, the first chapters give a fast-paced introduction to the basic Scala capabilities. But the book does not stop there. It also covers many of the more senior concepts and finally progresses to very advanced material which is not commonly covered in a language introduction, such as how to write parser combinators or make use of delimited continuations. The level tags serve as a guideline for what to pick up when. And Cay manages admirably to make even the most advanced concepts simple to understand.

I liked the concept of Scala for the Impatient so much that I asked Cay and his editor, Greg Doench, whether we could get the first part of the book as a free download on the Typesafe web site. They have gracefully agreed to my request, and I would like to thank them for that. That way, everybody can quickly access what I believe is currently the best compact introduction to Scala.

Martin Odersky

January 2012

Preface

The evolution of traditional languages has slowed down considerably, and programmers who are eager to use more modern language features are looking elsewhere. Scala is an attractive choice; in fact, I think it is by far the most attractive choice for programmers who want to improve their productivity. Scala has a concise syntax that is refreshing after the Java boilerplate. It runs on the Java virtual machine (JVM), providing access to a huge set of libraries and tools. And Scala doesnt just target the JVM. The ScalaJS project emits JavaScript code, enabling you to write both the server-side and client-side parts of a web application in a language that isnt JavaScript. Scala embraces the functional programming style without abandoning object orientation, giving you an incremental learning path to a new paradigm. The Scala REPL lets you run quick experiments, which makes learning Scala very enjoyable. Last but not least, Scala is statically typed, enabling the compiler to find errors, so that you dont waste time finding themor notlater in the running program. The compiler also helps you write error-free code, inferring types whenever possible so that you dont have to write (or read) them.

The first edition of this book was written when Java, C#, and C++ were mired in a malaise of ever-increasing complexity with little gain in expressive power. At the time, Scala was a welcome blast of fresh air. In the meantime, Java and other JVM languages such as Kotlin have embraced parts of the feature set of Scala. However, Scala has been blazing new trails in type-level programming, which make powerful libraries possible that you could simply not envision in a language such as Java or Kotlin.

I wrote this book for impatient readers who want to start programming in Scala right away. I assume you know Java, C#, JavaScript, Python, or C++, and I dont bore you with explaining variables, loops, or classes. I dont exhaustively list all the features of the language, I dont lecture you about the superiority of one paradigm over another, and I dont make you suffer through long and contrived examples. Instead, you will get the information that you need in compact chunks that you can read and review as needed.

Scala has gained a reputation for being difficult to read, and this can certainly be true when library providers pay little attention to usability or assume that programmers are fluent in category theory. I assume that you are comfortable with object-oriented programming. I cover what you need for basic functional programming, similar in complexity to Java streams, but there are no monads to be seen. My goal is to teach you to write Scala code that is delightful rather than inscrutable.

Scala is a big language, but you can use it effectively without knowing all of its details intimately. Martin Odersky, the creator of Scala, has identified levels of expertise for application programmers and library designersas shown in the following table.

For each chapter and occasionally for individual sections I indicate the - photo 3

For each chapter (and occasionally for individual sections), I indicate the experience level required. The chapters progress through levels A1, L1, A2, L2, A3, L3. Even if you dont want to design your own libraries, knowing about the tools that Scala provides for library designers can make you a more effective library user.

This is the third edition of this book, and I updated it thoroughly for Scala 3. Scala 3 brings major changes to the language. Classic features have been made more regular by removing awkward corner cases. Advanced features are now easier to learn. Even more powerful features have been added that were previously only available via macros. A quiet syntax, similar to that of Python, is easy on the eyes and is now the preferred way to write Scala 3 code.

I cover Scala 3 as it is and will be, and do not get into an elaborate evolutionary history of the past. If you need to work with Scala 2, get the second edition of this book.

I hope you enjoy learning Scala with this book. If you find errors or have suggestions for improvement, please visit http://horstmann.com/scala and leave a comment. On that page, you will also find up-to-date installation instructions, and an archive file containing all code examples from the book as executable programs or worksheets.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Scala for the Impatient, 3rd Edition»

Look at similar books to Scala for the Impatient, 3rd Edition. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Scala for the Impatient, 3rd Edition»

Discussion, reviews of the book Scala for the Impatient, 3rd Edition and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.