Steps in Scala: An Introduction to Object-Functional Programming

Cambridge University Press
Free sample

Scala is a highly expressive, concise and scalable language. It is also the most prominent method of the new and exciting methodology known as object-functional programming. In this book, the authors show how Scala grows to the needs of the programmer, whether professional or hobbyist. They teach Scala with a step-by-step approach and explain how to exploit the full power of the industry-proven JVM technology. Readers can then dive into specially chosen design challenges and implementation problems, inspired by the trials of real-world software engineering. It also helps readers to embrace the power of static typing and automatic type inference. In addition, the book shows how to use the dual-object and functional-oriented natures combined at Scala's core, and so write code that is less 'boilerplate', giving a genuine increase in productivity.
Read more
Collapse

About the author

Christos K. K. Loverdos is a research-inclined computer software professional. He has been working in the software industry for more than ten years, designing and implementing flexible, enterprise-level systems and was a member of the core team that led the design and implementation of the Athens 2004 Olympic Games portal (www.athens2004.com).

Apostolos Syropoulos is a computer scientist. He has been instrumental in the spread of TeX and other related document preparation tools inside and outside Greece and is currently working as a computer educator.

Read more
Collapse
Loading...

Additional Information

Publisher
Cambridge University Press
Read more
Collapse
Published on
Sep 23, 2010
Read more
Collapse
Pages
505
Read more
Collapse
ISBN
9781139490948
Read more
Collapse
Read more
Collapse
Best For
Read more
Collapse
Language
English
Read more
Collapse
Genres
Computers / Programming / General
Computers / Programming Languages / General
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
1.1 Introduction Object-oriented programming has opened a great many perspectives on the concept of software and has been hailed as part of the solution to the so-called “software crisis”. It has given the possibility that software components can be constructedandreusedwithconsiderablymorecredibility.Therearenowmany case studies in which the reuse of object-oriented components has been made and analysed. Object-oriented programming relates the programming activity to that of modelling or simulation; objects are identi?ed by a correspondence with the objects found in the application area of the program and are used to model those domain operations. Object-oriented programming also opens the prospect of more ?exible software that is able to respond dynamically to the needs of the application at runtime. It is very easy to think that object-oriented programming can be performed in only one way. The prevalence of C++ and Java suggests that they are the onlywaytoapproachtheproblemofwhatanobject-orientedprogrammingl- guage should look like. There are many approaches to this way of programming andC++andJavaexemplifyjustoneofthesedi?erentapproaches.Indeed,the wayinwhichtheconceptoftheobjectisinterpreteddi?ersbetweenapproaches and between languages. The two main approaches found in object-oriented programming languages are, respectively, class-based and prototype-based languages. Class-based l- guages are exempli?ed by Smalltalk [34], C++ [75, 74] and Java [47]. This 2 1. Introduction approach is based upon the identi?cation of common properties of objects and their description in terms of a de?nitional structure called a class. The objects manipulated by class-based programs are the result of instantiating classes.
Scala is a modern programming language for the Java Virtual Machine (JVM) that combines the best features of object-oriented and functional programming languages. Using Scala, you can write programs more concisely than in Java, as well as leverage the full power of concurrency. Since Scala runs on the JVM, it can access any Java library and is interoperable with Java frameworks.

Scala for the Impatient concisely shows developers what Scala can do and how to do it. In this book, Cay Horstmann, the principal author of the international best-selling Core Java™, offers a rapid, code-based introduction that’s completely practical. Horstmann introduces Scala concepts and techniques in “blog-sized” chunks that you can quickly master and apply. Hands-on activities guide you through well-defined stages of competency, from basic to expert. Coverage includes

Getting started quickly with Scala’s interpreter, syntax, tools, and unique idioms Mastering core language features: functions, arrays, maps, tuples, packages, imports, exception handling, and more Becoming familiar with object-oriented programming in Scala: classes, inheritance, and traits Using Scala for real-world programming tasks: working with files, regular expressions, and XML Working with higher-order functions and the powerful Scala collections library Leveraging Scala’s powerful pattern matching and case classes Creating concurrent programs with Scala actors Implementing domain-specific languages Understanding the Scala type system Applying advanced “power tools” such as annotations, implicits, and delimited continuations

Scala is rapidly reaching a tipping point that will reshape the experience of programming. This book will help object-oriented programmers build on their existing skills, allowing them to immediately construct useful applications as they gradually master advanced programming techniques.

©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.