|
All software design is composition: the act of breaking complex problems down into smaller problems and composing those solutions. Most developers have a limited understanding of compositional techniques. It's time for that to change.In "Composing Software", Eric Elliott shares the fundamentals of composition, including both function composition and object composition, and explores them in the context of JavaScript. The book covers the foundations of both functional programming and object oriented programming to help the reader better understand how to build and structure complex applications using simple building blocks.You'll learn:Functional programmingObject compositionHow to work with composite data structuresClosuresHigher order functionsFunctors (e.g., array.map)Monads (e.g., promises)TransducersLensesAll of this in the context of JavaScript, the most used programming language in the world. But the learning doesn't stop at JavaScript. You'll be able to apply these lessons to any language. This book is about the timeless principles of software composition and its lessons will outlast the hot languages and frameworks of today. Unlike most programming books, this one may still be relevant 20 years from now.This book began life as a popular blog post series that attracted hundreds of thousands of readers and influenced the way software is built at many high growth tech startups and fortune 500 companies. |
|
|
 The Rohonc Code: Tracing a Historical Riddle
First discovered in a Hungarian library in 1838, the Rohonc Codex keeps privileged company with some of the most famous unsolved writing systems in the world, notably the Voynich manuscript, the Phaistos Disk, and Linear A. Written entirely in cipher, this 400-year-old, 450-page-long, richly illustrated manuscript initially gained... |  |  Step into Xcode : Mac OS X DevelopmentA Step-by-Step Guide to the Xcode Mac OS Development Environment
Every copy of Mac OS X comes with Xcode, the powerful development suite that Apple uses to build applications ranging from Safari to iTunes. But because Xcode is complex and subtle, even experienced Mac programmers rarely take full advantage... |  |  Resource Allocation in Multiuser Multicarrier Wireless SystemsMany algorithms have already been proposed in the past to solve the problem of allocating resources in a multi-user multicarrier wireless system. Due to the difficulty of the problem, most of the previous work in this area has focused on developing suboptimal heuristics without performance guarantees.
Resource Allocation in Multiuser... |
|