small medium large xlarge

Forge Your Future with Open Source; Domain Modeling Made Functional in print

January 31, 2018

Once upon a time, "open source" was an unusual upstart, a different way of creating and using software. Back then a good programming language compiler for C might cost you $495. A bargain priced Pascal IDE would go for $79. And there weren't even a lot of libraries available to buy to go along with it.

These days open source projects run the world. Literally. From operating systems to language environments to libraries and frameworks, open source is everywhere. Jump in and see for yourself with Forge Your Future with Open Source: Build Your Skills. Build Your Network. Build the Future of Technology, now in beta from

And what do you get when you mix F# and DDD? Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#, now in print and shipping from

Something for everyone this week! Come and get 'em.


Forge Your Future with Open Source: Build Your Skills. Build Your Network. Build the Future of Technology.

Free and open source software is the default choice for the programming languages and technologies which run our world today, and it's all built and maintained by people just like you. No matter your skill level or area of expertise, with this book you will contribute to free and open source software projects. Using this practical approach you'll understand not only the mechanics of contributing, but also how doing so helps your career as well as the community.

This book doesn't assume that you're a programmer, or even that you have prior experience with free and open source software. Learn what open source is, where it came from, and why it's important. Start on the right foot by mastering the structure and tools you need before you contribute. Choose the right project for you, amplifying the impact of your contribution. Submit your first contribution, whether it's code, writing, design, or community organizing. Find out what to do when things don't go the way you expect. Discover how to start your own project and make it friendly and welcoming to contributors.

Anyone can contribute! Make your mark today and help others while also helping yourself.

Now in beta from

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#

Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming—all the techniques you need will be introduced and explained.

Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation—ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API.

Solve real problems by focusing on real-world requirements for your software.

Now in print and shipping from

Upcoming Author Appearances

  • 2018-02-01 Randall Koutnik,
    ng Atlanta
  • 2018-02-03 VM Brasseur,
    FOSDEM, Brussels, BE
  • 2018-02-05 Sandy Mamoli,
    OOP: 2 talks
  • 2018-02-13 Johanna Rothman,
    Uncovering Hidden Costs in Software
  • 2018-02-17 VM Brasseur,
    Open Source 101, Raleigh, NC
  • 2018-02-17 VM Brasseur,
    Open Source 101, Raleigh, NC
  • 2018-03-02 VM Brasseur,
    The Lead Developer, Austin, TX
  • 2018-03-08 VM Brasseur,
    Southern California Linux Expo (SCALE), Pasadena, CA
  • 2018-03-19 Johanna Rothman,
    Boscon, Cambridge, MA
  • 2018-03-21 Jeremy Fairbank,
    JazzCon, New Orleans, LA
  • 2018-03-24 VM Brasseur,
    LibrePlanet, Cambridge, MA
  • 2018-03-29 Ryan Ripley,
    Code PaLOUsa 2018 – Louisville, Kentucky
  • 2018-03-30 Jeremy Fairbank,
    Lambda Squared, Knoxville, TN
  • Audio Books!

    Did you know we have audio books for your listening pleasure?

    Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: pragprog</a>, <a href="">pragpub, Andy Hunt @PragmaticAndy.

    Coming Soon:

    • Rails 5 Test Prescriptions: Build a Healthy Codebase, in print
    • Learn Functional Programming with Elixir: New Foundations for a New World, in print
    • Build Reactive Web Sites with RxJS: Master Observables and Wrangle Events, in beta
    • Programming Clojure, Third Edition, in print
    • Rediscovering JavaScript with ES6/ES7, in beta

    Recently Released:

    Thanks for your continued support,

    Andy Hunt
    Publisher, Pragmatic Bookshelf

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts