A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.wikibooks.org/wiki/Scala below:

Wikibooks, open books for an open world

From Wikibooks, open books for an open world

Scala

A Pragmatic Programming Language

Scala is a general-purpose language designed to support clear, concise and type-safe programming as well as to scale from the smallest applications to the biggest. It does so by providing a sophisticated type system, a concise and flexible syntax supporting internal DSLs, and an integration of the functional and object-oriented paradigm together with many powerful abstractions. Furthermore, Scala is compatible with Java, and existing Java libraries can be called from Scala and vice versa. The consequences of this design are many:

As of 2012-07-05, the current implementation of the language is actively being developed for the Java Virtual Machine, and there are efforts underway to support the .NET framework.

Due to the depth of the language, the many powerful abstractions, and the sophisticated type system, Scala is sometimes seen as a language that is difficult to learn. While parts of Scala are definitely challenging for most programmers, the knowledge and skills required to be effective in Scala is much easier to attain. This book divides the different topics into layers of knowledge that are required for doing different things in Scala. The layers are not always indicative of difficulty. For instance, higher-order functions are seen by some to be difficult, but because they are extremely useful, they are described in the Basic part of the book.

If you are a Java programmer, there exists several guides, resources and books that are directly focused on Java programmers. See http://www.scala-lang.org/node/1305#Java for more information.

Overview

The book is split up into several parts: Basics, Intermediate and Advanced.

"Basics" describes how to setup Scala, and introduces basic syntax, expressions, functions, basic object-oriented programming, and basic functional programming. It also introduces List, case classes and pattern matching. The articles in Basic contains sufficient knowledge to write simple programs in Scala.

"Intermediate" expands upon the knowledge in Basics. This includes advanced functional and object-oriented programming, type-safe programming and an introduction to the collections library. The knowledge in Intermediate should be sufficient for using Scala effectively for many applications.

"Advanced" describes features that are useful for writing libraries, such as higher-kinded types and implicits.

The book should have short, motivating and easy to understand articles on the different subjects. The articles should not spend too much time explaining why features are the way they are, or describing every last detail. The reason is that the book is meant to be a learning resource, and covering every last detail that is not very important may hinder learning and waste the readers time. For readers that desire more comprehensive coverage and documentation, there exists several resources such as http://docs.scala-lang.org/, Programming Scala from O'Reilly, and Programming in Scala from Artima.

Basics

Intermediate

Advanced

Additional Resources


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4