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
âFirst Sobell taught people how to use Linux . . .Â now he teaches you the power of Linux. A must-have book for anyone who wants to take Linux to the next level.â âJon âmaddogâ Hall, Executive Director, Linux InternationalÂ
âFirst Sobell taught people how to use Linux . . .Â now he teaches you the power of Linux. A must-have book for anyone who wants to take Linux to the next level.â
âJon âmaddogâ Hall, Executive Director, Linux InternationalÂ
New Chapters on Python and MySQLâCovers Perl, too!
For use with all popular versions of Linux, including Ubuntuâ¢, Fedoraâ¢, openSUSEâ¢, Red HatÂ®, Debian, Mageia, Mint, Arch, CentOS, and Mac OS X, too!
The Most Useful Tutorial and Reference, with Hundreds of High-Quality Examples for Every Popular Linux Distribution
Linux is todayâs dominant Internet server platform. System administrators and Web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only guide with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and has created an outstanding day-to-day reference.
This title is 100 percent distribution and release agnostic. Packed with hundreds of high-quality, realistic examples, it presents Linux from the ground up: the clearest explanations and most useful information about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions.
Use a Mac? Youâll find coverage of the Mac OS X command line, including OS X-only tools and utilities other Linux/UNIX titles ignore. Sobell presents a new MySQL chapter. Thereâs even an expert introduction to Pythonâtodayâs most valuable tool for automating complex, time-consuming administration tasks.
A Practical Guide to LinuxÂ® Commands, Editors, and Shell Programming, Third Edition, is the only guide to deliverÂ
For almost three decades, Roger Pressman's Software Engineering: A Practitioner's Approach has been the world's leading textbook in software engineering. The new edition represents a major restructuring and update of previous editions, solidifying the book's position as the most comprehensive guide to this important subject. The chapter structure will return to a more linear presentation of software engineering topics with a direct emphasis on the major activities that are part of a generic software process. Content will focus on widely used software engineering methods and will de-emphasize or completely eliminate discussion of secondary methods, tools and techniques. The intent is to provide a more targeted, prescriptive, and focused approach, while attempting to maintain SEPA's reputation as a comprehensive guide to software engineering. The 39 chapters of this edition are organized into five parts - Process, Modeling, Quality Management, Managing Software Projects, and Advanced Topics. The book has been revised and restructured to improve pedagogical flow and emphasize new and important software engineering processes and practices.
McGraw-Hill Education's Connect, is also available as an optional, add on item. Connect is the only integrated learning system that empowers students by continuously adapting to deliver precisely what they need, when they need it, how they need it, so that class time is more effective. Connect allows the professor to assign homework, quizzes, and tests easily and automatically grades and records the scores of the student's work. Problems are randomized to prevent sharing of answers an may also have a "multi-step solution" which helps move the students' learning along if they experience difficulty.
âIn this second edition of Extreme Programming Explained, Kent Beck organizes and presents five yearsâ worth of experiences, growth, and change revolving around XP. If you are seriously interested in understanding how you and your team can start down the path of improvement with XP, you must read this book.ââFrancesco Cirillo, Chief Executive Officer, XPLabs S.R.L.
âThe first edition of this book told us what XP wasâit changed the way many of us think about software development. This second edition takes it farther and gives us a lot more of the âwhyâ of XP, the motivations and the principles behind the practices. This is great stuff. Armed with the âwhatâ and the âwhy,â we can now all set out to confidently work on the âhowâ: how to run our projects better, and how to get agile techniques adopted in our organizations.ââDave Thomas, The Pragmatic Programmers LLC
âThis book is dynamite! It was revolutionary when it first appeared a few years ago, and this new edition is equally profound. For those who insist on cookbook checklists, thereâs an excellent chapter on âprimary practices,â but I urge you to begin by truly contemplating the meaning of the opening sentence in the first chapter of Kent Beckâs book: âXP is about social change.â You should do whatever it takes to ensure that every IT professional and every IT managerâall the way up to the CIOâhas a copy of Extreme Programming Explained on his or her desk.â âEd Yourdon, author and consultant
âXP is a powerful set of concepts for simplifying the process of software design, development, and testing. It is about minimalism and incrementalism, which are especially useful principles when tackling complex problems that require a balance of creativity and discipline.â âMichael A. Cusumano, Professor, MIT Sloan School of Management, and author of The Business of Software
âExtreme Programming Explained is the work of a talented and passionate craftsman. Kent Beck has brought together a compelling collection of ideas about programming and management that deserves your full attention. My only beef is that our profession has gotten to a point where such common-sense ideas are labeled âextreme.â...â âLou Mazzucchelli, Fellow, Cutter Business Technology Council
âIf your organization is ready for a change in the way it develops software, thereâs the slow incremental approach, fixing things one by one, or the fast track, jumping feet first into Extreme Programming. Do not be frightened by the name, it is not that extreme at all. It is mostly good old recipes and common sense, nicely integrated together, getting rid of all the fat that has accumulated over the years.â âPhilippe Kruchten, UBC, Vancouver, British Columbia
âSometimes revolutionaries get left behind as the movement they started takes on a life of its own. In this book, Kent Beck shows that he remains ahead of the curve, leading XP to its next level. Incorporating five years of feedback, this book takes a fresh look at what it takes to develop better software in less time and for less money. There are no silver bullets here, just a set of practical principles that, when used wisely, can lead to dramatic improvements in software development productivity.â âMary Poppendieck, author of Lean Software Development: An Agile Toolkit
âKent Beck has revised his classic book based on five more years of applying and teaching XP. He shows how the path to XP is both easy and hard: It can be started with fewer practices, and yet it challenges teams to go farther than ever.â âWilliam Wake, independent consultant
âWith new insights, wisdom from experience, and clearer explanations of the art of Extreme Programming, this edition of Beckâs classic will help many realize the dream of outstanding software development.ââJoshua Kerievsky, author of Refactoring to Patterns and Founder, Industrial Logic, Inc.
âXP has changed the way our industry thinks about software development. Its brilliant simplicity, focused execution, and insistence on fact-based planning over speculation have set a new standard for software delivery.ââDavid Trowbridge, Architect, Microsoft Corporation
Accountability. Transparency. Responsibility. These are not words that are often applied to software development.
In this completely revised introduction to Extreme Programming (XP), Kent Beck describes how to improve your software development by integrating these highly desirable concepts into your daily development process.
The first edition of Extreme Programming Explained is a classic. It won awards for its then-radical ideas for improving small-team development, such as having developers write automated tests for their own code and having the whole team plan weekly. Much has changed in five years. This completely rewritten second edition expands the scope of XP to teams of any size by suggesting a program of continuous improvement based on:
Whether you have a small team that is already closely aligned with your customers or a large team in a gigantic or multinational organization, you will find in these pages a wealth of ideas to challenge, inspire, and encourage you and your team members to substantially improve your software development.
You will discover how to:
You will also find many other concrete ideas for improvement, all based on a philosophy that emphasizes simultaneously increasing the humanity and effectiveness of software development.
Every team can improve. Every team can begin improving today. Improvement is possibleâbeyond what we can currently imagine. Extreme Programming Explained, Second Edition, offers ideas to fuel your improvement for years to come.
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.