Название: Creative Scala Автор: Welsh N., Gurnell D. Издательство: Underscore Consulting LLP Год: 2020 Страниц: 228 Язык: английский Формат: pdf (true), djvu Размер: 10.1 MB
Creative Scala is aimed at developers who have no prior experience in Scala. It is designed to give you a fun introduction to functional programming. We assume you have some very basic familiarity with another programming language but little or no experience with Scala or other functional languages.
We have three goals with this book:
1. To give an introduction to functional programming so that you can calculate and reason about programs, and pick up and understand other introductory books on functional programming. 2. To teach you enough Scala that you can explore your own interests in and using Scala. 3. To present all this in a fun, gentle, and interesting way via two-dimensional computer graphics.
Our motivation comes from our own experience learning programming, studying functional programming, and teaching Scala to commercial developers. Firstly, we believe that functional programming is the future. Since we’re assuming you have little programming experience we won’t go into the details of the differences between functional programming and object-oriented programming that you may have already experienced. Suffice to say there are diﬀerent ways to think about and write computer programs, and we’ve chosen the functional programming approach.
The reason for choosing functional programming are more interesting. It’s common to teach programming by what we call the “bag of syntax” approach. In this approach a programming language is taught a collection of syntactical features (variables, for loops, while loops, methods) and students are left to figure out on their own when to use each feature. We’ve seen this method fail both when we were undergraduates learning programming, and as postgraduates teaching programming, as students simply have no systematic way to break down a problem and turn it into code. The result is that many students dropped out due to the poor quality of teaching. The students that remained tended to, like us, already have extensive programming experience.