Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Functional programming (FP) is a style of software development emphasizing functions that don't depend on program state. Functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs than other code. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with Java make Scala a great place to start learning FP.
About the Book
Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to their everyday work. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming.
This book assumes no prior experience with functional programming. Some prior exposure to Scala or Java is helpful.
About the Authors
Paul Chiusano and RÃºnar Bjarnason are recognized experts in functional programming with Scala and are core contributors to the Scalaz library.
Table of Contents
In order to take Excel to the next level, you need to understand and implement the power of Visual Basic for Applications (VBA). This 4th edition of Excel VBA Programming For Dummies introduces you to a wide array of new Excel options, beginning with the most important tools and operations for the Visual Basic Editor. Inside, you'll get the lowdown on the essential elements and concepts for programming with Excel, discover techniques for handling errors and exterminating bugs, working with range objects, controlling program flow, and much more.
With the release of Microsoft Office 2016, Excel will see changes in its operating system, and this fun, hands-on guide will make it easier than ever to harness the power of Visual Basic for Applications and create custom applications and macros on the world's most popular spreadsheet tool. Packed with friendly advice on the easiest ways to develop custom dialog boxes, toolbars, and menus, you'll be creating Excel applications custom-fit to your unique needs in no time at all!
If you're a beginning to intermediate VBA programmer looking to get up to speed on creating customized solutions with Excel applications, Excel VBA Programming For Dummies, 4th Edition makes it easier.
Learn how to program by diving into the R language, and then use your newfound skills to solve practical data science problems. With this book, youâll learn how to load data, assemble and disassemble data objects, navigate Râs environment system, write your own functions, and use all of Râs programming tools.
RStudio Master Instructor Garrett Grolemund not only teaches you how to program, but also shows you how to get more from R than just visualizing and modeling data. Youâll gain valuable programming skills and support your work as a data scientist at the same time.
An engaging, illustrated collection of insights revealing the practices and principles that expert software designers use to create great software.
What makes an expert software designer? It is more than experience or innate ability. Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software.
The book presents these insights in a series of two-page illustrated spreads, with the principle and a short explanatory text on one page, and a drawing on the facing page. For example, âExperts generate alternativesâ is illustrated by the same few balloons turned into a set of very different balloon animals. The text is engaging and accessible; the drawings are thought-provoking and often playful.
Organized into such categories as âExperts reflect,â âExperts are not afraid,â and âExperts break the rules,â the insights range from âExperts prefer simple solutionsâ to âExperts see error as opportunity.â Readers learn that âExperts involve the userâ; âExperts take inspiration from wherever they canâ; âExperts design throughout the creation of softwareâ; and âExperts draw the problem as much as they draw the solution.â
One habit for an aspiring expert software designer to develop would be to read and reread this entertaining but essential little book. The insights described offer a guide for the novice or a reference for the veteranâin software design or any design profession.
A companion web site provides an annotated bibliography that compiles key underpinning literature, the opportunity to suggest additional insights, and more.
If you've mastered Python's fundamentals, you're ready to start using it to get real work done. Programming Python will show you how, with in-depth tutorials on the language's primary application domains: system administration, GUIs, and the Web. You'll also explore how Python is used in databases, networking, front-end scripting layers, text processing, and more. This book focuses on commonly used tools and libraries to give you a comprehensive understanding of Pythonâs many roles in practical, real-world programming.
You'll learn language syntax and programming techniques in a clear and concise manner, with lots of examples that illustrate both correct usage and common idioms. Completely updated for version 3.x, Programming Python also delves into the language as a software development tool, with many code examples scaled specifically for that purpose.
Manage research, learning and skills at IT1me. Create an account using LinkedIn to manage and organize your IT knowledge. IT1me works like a shopping cart for information -- helping you to save, discuss and share.