Opis książki: Programming Scala. 3rd Edition
Get up to speed on Scala--the JVM, JavaScript, and natively compiled language that offers all the benefits of functional programming, a modern object model, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosystem right away. You'll learn why Scala is ideal for building today's highly scalable, data-centric applications while maximizing developer productivity.
While Java remains popular and Kotlin has become popular, Scala hasn't been sitting still. This third edition covers the new features in Scala 3 with updates throughout the book. Programming Scala is ideal for beginning to advanced developers who want a complete understanding of Scala's design philosophy and features with a thoroughly practical focus.
- Program faster with Scala's succinct and flexible syntax
- Dive into basic and advanced functional programming techniques
- Build killer big data and distributed apps using Scala's functional combinators and tools like Spark and Akka
- Create concise solutions to challenging design problems with the sophisticated type system, mixin composition with traits, pattern matching, and more
Wybrane bestsellery
-
Need to move a relational database application to Hadoop? This comprehensive guide introduces you to Apache Hive, Hadoop’s data warehouse infrastructure. You’ll quickly learn how to use Hive’s SQL dialect—HiveQL—to summarize, query, and analyze large datasets stored ...
Programming Hive. Data Warehouse and Query Language for Hadoop Programming Hive. Data Warehouse and Query Language for Hadoop
(0,00 zł najniższa cena z 30 dni)135.15 zł
159.00 zł(-15%) -
Software development today is embracing functional programming (FP), whether it's for writing concurrent programs or for managing Big Data. Where does that leave Java developers? This concise book offers a pragmatic, approachable introduction to FP for Java developers or anyone who uses an object...
Functional Programming for Java Developers. Tools for Better Concurrency, Abstraction, and Agility Functional Programming for Java Developers. Tools for Better Concurrency, Abstraction, and Agility
(0,00 zł najniższa cena z 30 dni)67.92 zł
79.90 zł(-15%) -
Dzięki temu praktycznemu przewodnikowi komfortowo rozpoczniesz pracę z platformą streamingową Apache Kafka. Poznasz najlepsze praktyki w zakresie jej wdrażania i konfiguracji, aby zapewnić sobie możliwość strumieniowego przetwarzania dużych ilości danych. Zaznajomisz się z AdminClient API Kafki, ...
Kafka w praktyce. Przetwarzanie strumieniowe i potoki danych o dużej skali. Wydanie II Kafka w praktyce. Przetwarzanie strumieniowe i potoki danych o dużej skali. Wydanie II
(0,00 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Poznaj podstawy teoretyczne programowania funkcyjnego, a następnie zacznij zgłębiać tajniki typów funkcyjnych, rekurencji oraz zmiennych niepodlegających modyfikacji. Z kolejnych rozdziałów dowiedz się, czym są ewaluacja rygorystyczna i nierygorystyczna. Zobacz też, jak wykonać dopasowanie do wzo...
-
As data management and integration continue to evolve rapidly, storing all your data in one place, such as a data warehouse, is no longer scalable. In the very near future, data will need to be distributed and available for several technological solutions. With this practical book, you’ll l...(0,00 zł najniższa cena z 30 dni)
237.15 zł
279.00 zł(-15%) -
Making significant changes to large, complex codebases is a daunting task--one that's nearly impossible to do successfully unless you have the right team, tools, and mindset. If your application is in need of a substantial overhaul and you're unsure how to go about implementing those changes in a...(0,00 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%) -
Ten przystępny podręcznik przeznaczono dla programistów, którzy chcą poznać język Scala, aby wykorzystywać go do pisania współbieżnych, skalowalnych i reaktywnych aplikacji. Przedstawiono tu podstawy niezbędne do rozpoczęcia kodowania w Scali: składnię języka, podstawowe typy danych, literały czy...(0,00 zł najniższa cena z 30 dni)
46.90 zł
67.00 zł(-30%) -
Jeśli sięgniesz po tę książkę, błyskawicznie nauczysz się budować strony WWW przy użyciu serwletów i stron JSP. W kolejnych rozdziałach poznasz bardziej zaawansowane narzędzia — szkielet Struts 2, Spring Web MVC oraz JSF 2. Podczas tworzenia aplikacji działających w środowisku wirtualnej ma...(0,00 zł najniższa cena z 30 dni)
40.20 zł
67.00 zł(-40%) -
Why learn Scala? You don’t need to be a data scientist or distributed computing expert to appreciate this object-oriented functional programming language. This practical book provides a comprehensive yet approachable introduction to the language, complete with syntax diagrams, examples, and...
Learning Scala. Practical Functional Programming for the JVM Learning Scala. Practical Functional Programming for the JVM
(0,00 zł najniższa cena z 30 dni)135.15 zł
159.00 zł(-15%) -
A practical guide for solving complex data processing challenges by applying the best optimizations techniques in Apache Spark.
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- ISBN Ebooka:
- 978-14-920-7784-8, 9781492077848
- Data wydania ebooka:
-
2021-05-26
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 2.9MB
- Rozmiar pliku Mobi:
- 8.4MB
- Kategorie:
Programowanie » Scala
Spis treści książki
- Foreword
- Foreword, Third Edition
- Foreword, First and Second Edition
- Preface
- Welcome to Programming Scala, Third Edition
- How to Read This Book
- Welcome to Programming Scala, Third Edition
- Welcome to Programming Scala, Second Edition
- Welcome to Programming Scala, First Edition
- Conventions Used in This Book
- Using Code Examples
- Getting the Code Examples
- OReilly Online Learning
- How to Contact Us
- Acknowledgments for the Third Edition
- Acknowledgments for the Second Edition
- Acknowledgments for the First Edition
- 1. Zero to Sixty: Introducing Scala
- Why Scala?
- The Appeal of Scala
- Why Scala 3?
- Migrating to Scala 3
- Why Scala?
- Installing the Scala Tools You Need
- Building the Code Examples
- More Tips
- Using sbt
- Running the Scala Command-Line Tools Using sbt
- A Taste of Scala
- A Sample Application
- Recap and Whats Next
- 2. Type Less, Do More
- New Scala 3 SyntaxOptional Braces
- Semicolons
- Variable Declarations
- Ranges
- Partial Functions
- Method Declarations
- Method Default and Named Parameters
- Methods with Multiple Parameter Lists
- A Taste of Futures
- Nesting Method Definitions and Recursion
- Inferring Type Information
- Repeated Parameter Lists
- Language Keywords
- Literal Values
- Numeric Literals
- Boolean Literals
- Character Literals
- String Literals
- Symbol Literals
- Function Literals
- Tuples
- Option, Some, and None: Avoiding Nulls
- When You Really Cant Avoid Nulls
- Sealed Class Hierarchies and Enumerations
- Organizing Code in Files and Namespaces
- Importing Types and Their Members
- Package Imports and Package Objects
- Parameterized Types Versus Abstract Type Members
- Recap and Whats Next
- 3. Rounding Out the Basics
- Defining Operators
- Allowed Characters in Identifiers
- Methods with Empty Parameter Lists
- Operator Precedence Rules
- Enumerations and Algebraic Data Types
- Interpolated Strings
- Scala Conditional Expressions
- Conditional and Comparison Operators
- for Comprehensions
- for Loops
- Generators
- Guards: Filtering Values
- Yielding New Values
- Expanded Scope and Value Definitions
- Scala while Loops
- Using try, catch, and finally Clauses
- Call by Name, Call by Value
- Lazy Values
- Traits: Interfaces and Mixins in Scala
- When new Is Optional
- Recap and Whats Next
- 4. Pattern Matching
- Safer Pattern Matching with Matchable
- Values, Variables, and Types in Matches
- Matching on Sequences
- Pattern Matching on Repeated Parameters
- Matching on Tuples
- Parameter Untupling
- Guards in Case Clauses
- Matching on Case Classes and Enums
- Matching on Regular Expressions
- Matching on Interpolated Strings
- Sealed Hierarchies and Exhaustive Matches
- Chaining Match Expressions
- Pattern Matching Outside Match Expressions
- Problems in Pattern Bindings
- Pattern Matching as Filtering in for Comprehensions
- Pattern Matching and Erasure
- Extractors
- unapply Method
- Alternatives to Option Return Values
- unapplySeq Method
- Implementing unapplySeq
- Recap and Whats Next
- 5. Abstracting Over Context: Type Classes and Extension Methods
- Four Changes
- Extension Methods
- Build Your Own String Interpolator
- Type Classes
- Scala 3 Type Classes
- Alias Givens
- Scala 2 Type Classes
- Scala 3 Implicit Conversions
- Type Class Derivation
- Givens and Imports
- Givens Scoping and Pattern Matching
- Resolution Rules for Givens and Extension Methods
- The Expression Problem
- Recap and Whats Next
- 6. Abstracting Over Context: Using Clauses
- Using Clauses
- Context Bounds
- Other Context Parameters
- Context Functions
- Constraining Allowed Instances
- Implicit Evidence
- Working Around Type Erasure with Using Clauses
- Rules for Using Clauses
- Improving Error Messages
- Recap and Whats Next
- 7. Functional Programming in Scala
- What Is Functional Programming?
- Functions in Mathematics
- Variables That Arent
- What Is Functional Programming?
- Functional Programming in Scala
- Anonymous Functions, Lambdas, and Closures
- Methods as Functions
- Anonymous Functions, Lambdas, and Closures
- Purity Inside Versus Outside
- Recursion
- Tail Calls and Tail-Call Optimization
- Partially Applied Functions Versus Partial Functions
- Currying and Uncurrying Functions
- Tupled and Untupled Functions
- Partial Functions Versus Functions Returning Options
- Functional Data Structures
- Sequences
- Maps
- Sets
- Traversing, Mapping, Filtering, Folding, and Reducing
- Traversing
- Mapping
- Flat Mapping
- Filtering
- Folding and Reducing
- Left Versus Right Folding
- Combinators: Softwares Best Component Abstractions
- What About Making Copies?
- Recap and Whats Next
- 8. for Comprehensions in Depth
- Recap: The Elements of for Comprehensions
- for Comprehensions: Under the Hood
- Translation Rules of for Comprehensions
- Options and Container Types
- Option as a Container?
- Either: An Alternative to Option
- Throwing exceptions versus returning either values
- Try: When There Is No Do
- Validated from the Cats Library
- Recap and Whats Next
- 9. Object-Oriented Programming in Scala
- Class and Object Basics: Review
- Open Versus Closed Types
- Classes Open for Extension
- Overriding Methods? The Template Method Pattern
- Reference Versus Value Types
- Opaque Types and Value Classes
- Opaque Type Aliases
- Opaque type aliases and matchable
- Opaque Type Aliases
- Value Classes
- Supertypes
- Constructors in Scala
- Calling Supertype Constructors
- Export Clauses
- Good Object-Oriented Design: A Digression
- Fields in Types
- The Uniform Access Principle
- Unary Methods
- Recap and Whats Next
- 10. Traits
- Traits as Mixins
- Stackable Traits
- Union and Intersection Types
- Transparent Traits
- Using Commas Instead of with
- Trait Parameters
- Should That Type Be a Class or Trait?
- Recap and Whats Next
- 11. Variance Behavior and Equality
- Parameterized Types: Variance Under Inheritance
- Functions Under the Hood
- Variance of Mutable Types
- Improper Variance of Java Arrays
- Parameterized Types: Variance Under Inheritance
- Equality of Instances
- The equals Method
- The == and != Methods
- The eq and ne Methods
- Array Equality and the sameElements Method
- Equality and Inheritance
- Multiversal Equality
- Case Objects and hashCode
- Recap and Whats Next
- 12. Instance Initialization and Method Resolution
- Linearization of a Type Hierarchy
- Initializing Abstract Fields
- Overriding Concrete Fields
- Abstract Type Members and Concrete Type Aliases
- Recap and Whats Next
- 13. The Scala Type Hierarchy
- Much Ado About Nothing (and Null)
- The scala Package
- Products, Case Classes, Tuples, and Functions
- Tuples and the Tuple Trait
- The Predef Object
- Implicit Conversions
- Type Definitions
- Condition Checking Methods
- Input and Output Methods
- Miscellaneous Methods
- Recap and Whats Next
- 14. The Scala Collections Library
- Different Groups of Collections
- Abstractions with Multiple Implementations
- The scala.collection.immutable Package
- The scala.collection.mutable Package
- The scala.collection Package
- The scala.collection.concurrent Package
- The scala.collection.convert Package
- The scala.collection.generic Package
- Construction of Instances
- The Iterable Abstraction
- Polymorphic Methods
- Equality for Collections
- Nonstrict Collections: Views
- Recap and Whats Next
- 15. Visibility Rules
- Public Visibility: The Default
- Visibility Keywords
- Protected Visibility
- Private Visibility
- Scoped Private and Protected Visibility
- Recap and Whats Next
- 16. Scalas Type System, Part I
- Parameterized Types
- Abstract Type Members and Concrete Type Aliases
- Comparing Abstract Type Members Versus Parameterized Types
- Type Bounds
- Upper Type Bounds
- Lower Type Bounds
- Context Bounds
- View Bounds
- Intersection and Union Types
- Intersection Types
- Rules for intersection types
- Intersection Types
- Union Types
- Rules for union types
- Rules for union and intersection types together
- Phantom Types
- Structural Types
- Refined Types
- Existential Types (Obsolete)
- Recap and Whats Next
- 17. Scalas Type System, Part II
- Match Types
- Dependently Typed Methods
- Dependent Method and Dependent Function Types
- Dependent Typing
- Path-Dependent Types
- Using this
- Using super
- Stable Paths
- Self-Type Declarations
- Type Projections
- More on Singleton Types
- Self-Recursive Types: F-Bounded Polymorphism
- Higher-Kinded Types
- Type Lambdas
- Polymorphic Functions
- Type Wildcard Versus Placeholder
- Recap and Whats Next
- 18. Advanced Functional Programming
- Algebraic Data Types
- Sum Types Versus Product Types
- Properties of Algebraic Data Types
- Final Thoughts on Algebraic Data Types
- Algebraic Data Types
- Category Theory
- What Is a Category?
- Functor
- The Monad Endofunctor
- The Semigroup and Monoid Categories
- Recap and Whats Next
- 19. Tools for Concurrency
- The scala.sys.process Package
- Futures
- Robust, Scalable Concurrency with Actors
- Akka: Actors for Scala
- Actors: Final Thoughts
- Stream Processing
- Recap and Whats Next
- 20. Dynamic Invocation in Scala
- Structural Types Revisited
- A Motivating Example: ActiveRecord in Ruby on Rails
- Dynamic Invocation with the Dynamic Trait
- DSL Considerations
- Recap and Whats Next
- 21. Domain-Specific Languages in Scala
- Internal DSLs
- External DSLs with Parser Combinators
- About Parser Combinators
- A Payroll External DSL
- Internal Versus External DSLs: Final Thoughts
- Recap and Whats Next
- 22. Scala Tools and Libraries
- Scala 3 Versions
- Command-Line Interface Tools
- Coursier
- Managing Java JDKs with Coursier
- The scalac Command-Line Tool
- The scala Command-Line Tool
- The scaladoc Command-Line Tool
- Other Scala Command-Line Tools
- Build Tools
- Integration with IDEs and Text Editors
- Using Notebook Environments with Scala
- Testing Tools
- Scala for Big Data: Apache Spark
- Typelevel Libraries
- Li Haoyi Libraries
- Java and Scala Interoperability
- Using Java Identifiers in Scala Code
- Scala Identifiers in Java Code
- Java Generics and Scala Parameterized Types
- Conversions Between Scala and Java Collections
- Java Lambdas Versus Scala Functions
- Annotations for JavaBean Properties and Other Purposes
- Recap and Whats Next
- 23. Application Design
- Recap of What We Already Know
- Annotations
- Using @main Entry Points
- Design Patterns
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
- Better Design with Design by Contract
- The Parthenon Architecture
- Recap and Whats Next
- 24. Metaprogramming: Macros and Reflection
- Scala Compile Time Reflection
- Java Runtime Reflection
- Scala Reflect API
- Type Class Derivation: Implementation Details
- Scala 3 Metaprogramming
- Inline
- Macros
- Staging
- Wrapping Up and Looking Ahead
- A. Significant Indentation Versus Braces Syntax
- Bibliography
- Index
O'Reilly Media - inne książki
-
FinOps brings financial accountability to the variable spend model of cloud. Used by the majority of global enterprises, this management practice has grown from a fringe activity to the de facto discipline managing cloud spend. In this book, authors J.R. Storment and Mike Fuller outline the proce...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Edge AI is transforming the way computers interact with the real world, allowing IoT devices to make decisions using the 99% of sensor data that was previously discarded due to cost, bandwidth, or power limitations. With techniques like embedded machine learning, developers can capture human intu...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Why is it difficult for so many companies to get digital identity right? If you're still wrestling with even simple identity problems like modern website authentication, this practical book has the answers you need. Author Phil Windley provides conceptual frameworks to help you make sense of all ...(0,00 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Python was recently ranked as today's most popular programming language on the TIOBE index, thanks to its broad applicability to design and prototyping to testing, deployment, and maintenance. With this updated fourth edition, you'll learn how to get the most out of Python, whether you're a profe...(0,00 zł najniższa cena z 30 dni)
305.15 zł
359.00 zł(-15%) -
With the accelerating speed of business and the increasing dependence on technology, companies today are significantly changing the way they build in-house business solutions. Many now use low-code and no code technologies to help them deal with specific issues, but that's just the beginning. Wit...
Building Solutions with the Microsoft Power Platform Building Solutions with the Microsoft Power Platform
(0,00 zł najniższa cena z 30 dni)262.65 zł
309.00 zł(-15%) -
Companies are scrambling to integrate AI into their systems and operations. But to build truly successful solutions, you need a firm grasp of the underlying mathematics. This accessible guide walks you through the math necessary to thrive in the AI field such as focusing on real-world application...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
DevOps engineers, developers, and security engineers have ever-changing roles to play in today's cloud native world. In order to build secure and resilient applications, you have to be equipped with security knowledge. Enter security as code.In this book, authors BK Sarthak Das and Virginia Chu d...(0,00 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
With the increasing use of AI in high-stakes domains such as medicine, law, and defense, organizations spend a lot of time and money to make ML models trustworthy. Many books on the subject offer deep dives into theories and concepts. This guide provides a practical starting point to help develop...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Why are so many companies adopting GitOps for their DevOps and cloud native strategy? This reliable framework is quickly becoming the standard method for deploying apps to Kubernetes. With this practical, developer-oriented book, DevOps engineers, developers, IT architects, and SREs will learn th...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Learn the essentials of working with Flutter and Dart to build full stack applications that meet the needs of a cloud-driven world. Together, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applica...(0,00 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: Programming Scala. 3rd Edition Dean Wampler (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.