• Complain

David Pollak - Beginning Scala 3: A Functional and Object-Oriented Java Language

Here you can read online David Pollak - Beginning Scala 3: A Functional and Object-Oriented Java Language full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2022, publisher: Apress, genre: Computer. 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.

David Pollak Beginning Scala 3: A Functional and Object-Oriented Java Language

Beginning Scala 3: A Functional and Object-Oriented Java Language: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Beginning Scala 3: A Functional and Object-Oriented Java Language" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Learn the latest version of Scala through simple, practical examples. This book introduces you to the Scala programming language, its object-oriented and functional programming characteristics, and then guides you through Scala constructs and libraries that allow you to assemble small components into high-performance, scalable systems.

Beginning Scala 3 explores new Scala 3 language features such as Top-level declarations, Creator applications, Extension methods to add extra functionality to existing types, and Enums. You will also learn new ways to manipulate types via Union types, intersection, literal, and opaque type aliases. Additionally, youll see how Implicits are replaced by given and using clauses.

After reading this book, you will understand why Scala is judiciously used for critical business applications by leading companies such as Twitter, LinkedIn, Foursquare, the Guardian, Morgan Stanley, Credit Suisse, UBS, and HSBC and you will be able to use it in your own projects.

What You Will Learn

  • Get started with Scala 3 or Scala language programming in general
  • Understand how to utilitze OOP in Scala
  • Perform functional programming in Scala
  • Master the use of Scala collections, traits and implicits
  • Leverage Java and Scala interopability
  • Employ Scala for DSL programming
  • Use patterns and best practices in Scala

Who This Book Is For

Those with a background in Java and/or Kotlin who are new to Scala. This book is also for those with some prior Scala experience who want to learn Scala version 3.

David Pollak: author's other books


Who wrote Beginning Scala 3: A Functional and Object-Oriented Java Language? Find out the surname, the name of the author of the book and a list of all author's works by series.

Beginning Scala 3: A Functional and Object-Oriented Java Language — 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 "Beginning Scala 3: A Functional and Object-Oriented Java Language" 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
Contents
Landmarks
Book cover of Beginning Scala 3 David Pollak Vishal Layka and Andres - photo 1
Book cover of Beginning Scala 3
David Pollak , Vishal Layka and Andres Sacco
Beginning Scala 3
A Functional and Object-Oriented Java Language
3rd ed.
Logo of the publisher David Pollak San Francisco CA USA Vishal Layka - photo 2
Logo of the publisher
David Pollak
San Francisco, CA, USA
Vishal Layka
Bruxelles, Belgium
Andres Sacco
Ciudad Autonoma de Buenos Aires, Argentina
ISBN 978-1-4842-7421-7 e-ISBN 978-1-4842-7422-4
https://doi.org/10.1007/978-1-4842-7422-4
David Pollak, Vishal Layka, and Andres Sacco 2022
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This Apress imprint is published by the registered company APress Media, LLC part of Springer Nature.

The registered company address is: 1 New York Plaza, New York, NY 10004, U.S.A.

To my grandparents, who taught me the importance of learning new things all the time.

To my wife and daughter for supporting me during the process of writing this book.

Andres Sacco

Introduction
When you learn common programming languages like C++, Java, Python, or C#, you notice that they all have basically the same structure for defining variables, control ( for / while ), and objects. The semantics change because you cannot define a class or variable using the same word in all languages, but the concept does not change, so for any developer, its easy to learn another language. Its almost like having a mind map that enables you to use your existing knowledge to do something differently. Scala is not an exception to this mind map and these common structures. The main difference with this language is that it supports both functional and object-oriented programming paradigms. Understanding that both can exist in the same language is the most difficult part for some developers. See Figure .
Figure 1 Differences in syntax Scala is not just another language that tries - photo 3
Figure 1

Differences in syntax

Scala is not just another language that tries to do the same things differently. The spirit or philosophy of this language is to maintain code cleanly and simply. Dont feel bad if you dont understand at the beginning. Most developers coming from other languages take time to assimilate because its not the same as popular languages like Java, Python, or C#. Scala is not for a specific situation. In particular, you can use it to create different things like libraries or applications (web or microservices) and data streaming using Akka. A friendly approach when you dont have a lot of experience in Scala but do have experience developing applications in other languages is to create something small to interact with other components. In this way, you can grow your skills with Scala. See Figure .
Figure 2 Applications There are some external tools for solving specific - photo 4
Figure 2

Applications

There are some external tools for solving specific problems with your system which are developed with Scala, but you can use them in some Java applications. The following are some of these tools:
  • Gatling is an open-source tool to do load tests. This tool is used as an alternative to JMeter but one of the benefits is that you create tests that can run in the test step of your pipeline.

  • Akka is a toolkit runtime that simplifies the construction of concurrent and distributed applications.

Who This Book Is For

This book is for folks with some programming background in any language who want to know more about the benefits of functional programming and Scala in particular. Take into consideration that if you have experience in another language, the differences between that language and Scala are not trivial; you cant just translate the syntaxes from one language to another. You need to understand some concepts that are not the same in languages like Java, C#, or C++.

Also, this book updates the knowledge that some Scala developers have from previous versions because Scala 3 introduces a lot of extra features and changes from Scala 2.

Prerequisites

You should have the Java JDK 11 or higher installed on your machine and Scala 3.0.0 or higher. Scala 3.0.0 works with Java JDK 8 but future versions may not be supported (however, there is no specific timeline). Martin Odersky said at the Scala Days of 2020 conference that he recommended using the latest LTS Java version, which is 11.

How This Book Is Structured
This book is structured in four blocks:
  • The first block of chapters () gives you a basic understanding of the Scala syntax.

  • The second block of chapters () offers a basic tour of some of the key features like functions, pattern matching, collections, and traits.

  • The third block of chapters () gives a brief overview of the interoperability between Java and Scala.

  • The fourth block of chapters () demonstrates how to use a build tool like SBT to create an application (web or REST), best practices, and how to test your code.

Source Code

You can download all the source code used in this book from github.com/apress/beginning-scala-3 .

Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub (https://github.com/Apress). For more detailed information, please visit www.apress.com/source-code.

Acknowledgments
I would like to thank my family members and friends for their encouragement and support during the process of this book:
  • My wife, Gisela, was always patient when I spent long hours at my computer desk working on this book.

  • My little daughter, Francesca, helped me relax when I was writing each chapter.

  • My friends, German Canale and Julian Delley, always trusted me to write a book and supported me when I felt bad.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Beginning Scala 3: A Functional and Object-Oriented Java Language»

Look at similar books to Beginning Scala 3: A Functional and Object-Oriented Java Language. 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 «Beginning Scala 3: A Functional and Object-Oriented Java Language»

Discussion, reviews of the book Beginning Scala 3: A Functional and Object-Oriented Java Language 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.