Professional Scala teaches you how to build and contribute to Scala programs, recognizing common patterns and techniques used with the language. You'll learn how to write concise, functional code with Scala. After an introduction to core concepts, syntax, and writing example applications with scalac, you'll learn about the Scala Collections API and how the language handles type safety via static types out-of-the-box. You'll then learn about advanced functional programming patterns, and how you can write your own Domain Specific Languages (DSLs). By the end of the course, you'll be equipped with the skills you need to successfully build smart, efficient applications in Scala that can be compiled to the JVM.
About the Authors
Nimish Narang has a degree in biology and computer science. He has worked with application development and machine learning. His recent achievement was building the biggest ever mobile machine learning course which has many different machine learning and deep learning models in Python and translated into both Android and iOS applications to incorporate some elements of machine learning into mobile application.
Joao Azevedo is a Software Engineer currently working at ShiftForward, where he is involved in the development of large-scale systems for the online advertising industry. His interests in computer science usually revolve around artificial intelligence, machine learning, data mining, algorithms, data structures and programming language theory. He is fond of reading computer science textbooks and science-fiction novels. He makes an effort to keep as much of the code he writes open-source.
Mads Hartmann is a software engineer with a fondness for automation and programming languages, especially statically typed functional ones. He holds a masters degree in computer science from the University of Copenhagen and he is currently working as a full-stack engineer at Family. He is active in the Copenhagen developer scene and he has organized a meetup group for people interested in Scala and co-organized a meetup group for people generally interested in programming languages.
Ruslan Shevchenko is a system architect and a software developer who is focused on building reliable software systems. He specializes in programming languages and frameworks such as Scala, Java (J2SE, J2EE, Android), O/R Mapping, C++ , C, JavaScript, Perl, Tcl, and TermWare. The domains he specializes in are telecommunications, OSS/billing systems, finance, code analysis, social integration, system utilities architecture domains, large-scale software systems, and distributed processing. In terms of architecture, his specialist domains are large-scale software systems and distributed processing.