Skip to main content

Functional Programming in Scala

  • Chapter
  • First Online:
Beginning Scala

Abstract

In the non-fiction work Old Times on the Mississippi, Mark Twain wrote: "When I was a boy of 14, my father was so ignorant I could hardly stand to have the old man around. But when I was 21, I was astonished at how much the old man had learned in seven years". Functional programming is the old man that comes to the rescue when writing robust concurrent software. Functional programming treats computation as the evaluation of mathematical functions and avoids state and mutable data. It is a declarative programming paradigm, in which programming is done with expressions. The imperative style of programming emphasizes sequence of operations characterized by iteration with loops, mutating data in place, and methods with side effects where the order of side effects is critical toward the right effect. The basic constructs in an imperative language, such as Java, are imperative statements that change the state of a program, as illustrated here:

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Vishal Layka

About this chapter

Cite this chapter

Layka, V., Pollak, D. (2015). Functional Programming in Scala. In: Beginning Scala. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-0232-6_4

Download citation

Publish with us

Policies and ethics