Recent Publications
Why is Clojure the most interesting new language on the horizon? With this video, you'll not only learn how to tackle real problems with this functional language, you'll learn how to think in Clojure--and why you should want to.
Neal Ford (software architect and meme wrangler at ThoughWorks) and Stuart Halloway (CEO of Relevance, Inc.) show you what makes programming with Clojure swift, surgical, and accurate. Clojure compiles to many target environments, including the JVM, JavaScript, and the .NET CLR, and you'll quickly get up to speed on its syntax, ecosystem, and libraries. Then Ford and Halloway take you much deeper into the language, while keeping the focus on practical application:
- Learn how to leverage macros to solve real problems
- Discover how Clojure helps you manage time the way garbage collection helps you manage space
- Understand why functional programming is so important
- Clojure represents a vision for building software that could only be implemented by building a new language. You've heard the hype, now come learn the facts on the ground.
Table of Contents
- Introduction (33 minutes)
- Data (19 minutes)
- Code Part 1 (41 minutes)
- Code Part 2 (34 minutes)
- Functions (80 minutes)
- Abstraction (33 minutes)
- Concurrency Part 1 (18 minutes)
- Concurrency Part 2 (22 minutes)
- JVM Interop (30 minutes)
- Integration (37 minutes)
Purchase or stream at O'Reilly's site
Learning the syntax of a new language is easy, but learning to think under a different paradigm is difficult. This video from renowned software architect Neal Ford helps you transition from a Java-writing imperative programmer to a functional programmer, using Java, Clojure and Scala as examples.
Rather than focus on specific language features, Functional Thinking looks at a variety of common practices in OOP languages and then shows you how to solve the same problems using a functional language. For instance, you know how to achieve code-reuse in Java via mechanisms such as inheritance and polymorphism. Code reuse is also possible in functional languages, using high-order functions, composition, and multi-methods.
Ford encourages you to value results over steps, so you can begin to think like a functional programmer. Expect your mind to be bent, but you’ll finish with a much better understanding of both the syntax and semantics of functional languages. This video is ideal for any experienced programmer.
Table of Contents
- Introduction (35 minutes)
- Gradually Getting Started (41 minutes)
- Functions (29 minutes)
- Laziness (34 minutes)
- Coupling vs. Composition (25 minutes)
- Functional Data Structures (25 minutes)
- Rethinking Dispatch (20 minutes)
- Summary (25 minutes)
Purchase or stream at O'Reilly's site
Presentation Patterns
Techniques for Crafting Better Presentations
You've read about how presentations are like a state of mind, how
color wheels work, and what type of isolated high-resolution stock
photos to obtain, but how is that helping you with the marketing
presentation due next week? This book holds the answers,
derived from thousands of hours of presentations by the authors. It
is the first book on presentations that categorizes and organizes the
building blocks, which we call patterns, required to
communicate effectively using presentation tools. If you are a
software geek (like us), this will make it clear: we've applied the
GoF Design Patterns concept to presentations. We show you how to
handle a wide variety of presentation types, audiences, constraints,
and even surprises. Unlike other books, we also show you what
not to do (anti-patterns), which are just as important
as the positive recommendations; modern presentation tools seduce you
into doing bad things and we show you how to avoid the traps.
Available
at Amazon
and other fine book sellers.
ThoughtWorks Anthology Volume 2
More Essays on Software and Technology
Compiled by Neal Ford
Edited by: Michael Swaine
Paperback: 250 pages
Publisher: Pragmatic Press; 1st edition (August 2012)
ISBN: 978-1-93778-500-0
When you hit a rough spot in software development, it's nice to know
that someone has been there before. The domain experts at ThoughtWorks
share what they've learned in this anthology, bringing together the
best field-tested insights in IT and software development. You'll
benefit from their experience in areas from testing to information
visualization, from object oriented to functional programming, from
incremental development to driving innovation in delivery. You'll find
yourself referring to this collection of solved problems whenever you
need an expert's insight.