Here are 39 books that Domain-Specific Languages fans have personally recommended if you like
Domain-Specific Languages.
Shepherd is a community of 12,000+ authors and super readers sharing their favorite books with the world.
If someone had told me during my early professional years that I would become a strong advocate for functional programming and the author of a fundamental book on functional software engineering, I would have found it hard to believe. Was functional programming truly worth dedicating my life to? However, once I experienced the sheer beauty of functional programming, there was no turning back. I delved deep into Haskell and functional C++, and began writing articles, giving talks, and developing various technologies. I realized that I possessed a truly unique perspective on approaching software engineering in functional languages, and that there was a significant knowledge gap that needed to be filled for the benefit of all.
My journey in the world of software development has been arduous and challenging.
One of the common struggles we all face is the overwhelming number of solutions available, making it impossible to fully grasp everything at a deep level.
Just when I thought I had mastered an approach and felt competent in it, a new shiny approach would emerge, demanding my immediate attention. It often felt like a never-ending race to keep up with the ever-evolving field.
This constant pursuit of staying relevant as a software engineer can be frustrating, as it feels like we are always lagging behind the rapidly advancing world. I discovered that knowledge of specific technologies, frameworks, or libraries does not easily transfer across different technology stacks. They are too specific and lack universality. It was then that I turned my focus to more general principles of software engineering.
I realized that there are fundamental engineering…
Incorporate effective domain modeling into the software development process
Software design thought leader and founder of Domain Language, Eric Evans, provides a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining system design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software modeling and development.
Domain Model: Part I outlines the goals of domain-driven development, defines terms, and gives an overview of the implications of using the…
It is April 1st, 2038. Day 60 of China's blockade of the rebel island of Taiwan.
The US government has agreed to provide Taiwan with a weapons system so advanced that it can disrupt the balance of power in the region. But what pilot would be crazy enough to run…
I'm a programmer with a desire to constantly learn and improve. I have many years of experience in writing mission-critical software in highly event-driven areas such as FinTech and online auctions. Through interesting and challenging projects, I've always been fascinated by trying to generalize and abstract what it is that makes good code; so things like design patterns and best practices were just up my street. As I expanded this personal research, I found that functional programming provided many interesting techniques, but that many professionals in the industry were unaware of them. This is why I decided to show these techniques and their benefits to a wider audience through my book Functional Programming in C#.
Many functional programming books concentrate on the detail of functional techniques (things like recursion or higher-order functions), often leaving open the gap between these techniques and their concrete application to solve everyday programming tasks.
This was one of the reasons I wrote my book, and one source of inspiration for me was the work of F# evangelist Scott Wlashin.
For many years, Scott has been showing how he applies functional thinking in his daily practice centered around e-commerce, through blog posts on his popular site and his talks at programming conferences. At popular request, he's organized these ideas into his book Domain Modelling Made Functional.
The examples are practical enough that every business application programmer will be able to relate to them, and his explanation of functional programming techniques and ideas is clear and rigorous. Although Scott encourages the adoption of F# (the functional-first language of the .NET family), these…
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established…
If someone had told me during my early professional years that I would become a strong advocate for functional programming and the author of a fundamental book on functional software engineering, I would have found it hard to believe. Was functional programming truly worth dedicating my life to? However, once I experienced the sheer beauty of functional programming, there was no turning back. I delved deep into Haskell and functional C++, and began writing articles, giving talks, and developing various technologies. I realized that I possessed a truly unique perspective on approaching software engineering in functional languages, and that there was a significant knowledge gap that needed to be filled for the benefit of all.
I'm a devoted advocate of functional programming and a passionate Haskell enthusiast.
Ironically, there was a time in my life when I was a student and held the belief that functional programming was merely an impractical academic pursuit.
However, I soon had a revelation that the techniques I employed in C++ to mitigate the inherent unsafety of the language actually aligned with the core principles of functional programming: immutability, purity, and composability.
This realization left a profound impression on me, prompting me to delve into learning Haskell. It proved to be a pivotal moment that significantly shaped my entire career trajectory.
As I delved deeper into functional programming, I discovered a significant void in terms of software engineering practices that were prevalent in the realm of object-oriented programming.
Drawing from my experiences in C++ and C#, I noticed numerous gaps in our understanding of how to build robust applications using…
Functional and Reactive Domain Modeling teaches readers how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions. It begins with the basics of functional
programming and gradually progresses to the advanced concepts and patterns needed to implement complex domain models. The book demonstrates how advanced FP patterns like algebraic data types,
typeclass based design, and isolation of side-effects can make models compose for readability and verifiability.
On the subject of reactive modeling, the book focuses on higher order
concurrency patterns like actors and futures. It uses the Akka framework…
A Duke with rigid opinions, a Lady whose beliefs conflict with his, a long disputed parcel of land, a conniving neighbour, a desperate collaboration, a failure of trust, a love found despite it all.
Alexander Cavendish, Duke of Ravensworth, returned from war to find that his father and brother had…
I have been working with computers for decades now – having started with programmable handheld calculators and working my way up and down through mainframes, mini- and micro-computers. I always thought there is an art to writing software, and that good software can be read and admired. Maintainability, readability, and testability are some core needs for software, and after going through many programming paradigms, I feel that functional programming (FP) is the way to go – and several modern web frameworks agree. JavaScript (and now, TypeScript) are essential to web development, and I wanted to show how FP could be successfully used with those languages, and thus my book.
This book is different from the others I recommended, because its focus is not really on creating algorithms, but rather on how to improve code with a systematic process, keeping functionality but enhancing quality.
The author shows several practical techniques that he applies to real-world problems and empower you to elevate your code's quality and adapt it seamlessly to changing needs. It's not just about writing code; it's about becoming a more effective and confident developer.
I consider this book a companion on the journey to mastering the craft of coding. With it, you’ll always be able to achieve higher-quality code, no matter the original version of the code.
Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use…
I’m an applied statistician and academic researcher/lecturer at New Zealand’s oldest university – the University of Otago. R facilitates everything I do – research, academic publication, and teaching. It’s the latter part of my job that motivated my own book on R. From first-year statistics students who have never seen R to my own Ph.D. students using R to implement novel and highly complex statistical methods and models, my experience is that all ultimately love the ease with which the R language permits exploration, visualisation, analysis, and inference of one’s data. The ever-growing need in today’s society for skilled statisticians and data scientists means there's never been a better time to learn this essential language.
A gentle yet detailed book for beginner programmers. A great book for those who know they'll be getting up to some programming in R but who are very new to programming in general. The book's chapters are filled with content on the syntax, usage, and 'best practice' guidelines. The examples guide the reader in a step-by-step fashion to maximise understanding. An especially unique chapter providing examples on things you can do in R that you might've otherwise done in Excel is one of its stand-out features.
Mastering R has never been easier Picking up R can be tough, even for seasoned statisticians and data analysts. R For Dummies, 2nd Edition provides a quick and painless way to master all the R you'll ever need. Requiring no prior programming experience and packed with tons of practical examples, step-by-step exercises, and sample code, this friendly and accessible guide shows you how to know your way around lists, data frames, and other R data structures, while learning to interact with other programs, such as Microsoft Excel. You'll learn how to reshape and manipulate data, merge data sets, split and…
With over a decade of experience in web development using Clojure and active involvement in the Clojure open source community, I have gathered invaluable insights into effective use of the language. I am eager to share some of the experience and knowledge I have acquired with those new to the language.
This book introduces developers to ClojureScript which is a dialect of Clojure that targets JavaScript runtimes.
It's a great choice for web developers who are considering building full-stack Clojure applications. The book will help developers learn about the differences between Clojure and ClojureScript, and to make effective use of both language dialects for building applications that span both the front-end and the backend.
Learn how to build complete client-side applications with ClojureScript, the Clojure language variant that compiles to optimized JavaScript. This hands-on introduction shows you how ClojureScript not only has similarities to JavaScript - without the flaws - but also supports the full semantics of its parent language. You'll delve into ClojureScript's immutable data structures, lazy sequences, first-class functions, macros, and support for JavaScript libraries. No previous experience with Clojure or ClojureScript is necessary. If you're familiar with JavaScript, HTML, CSS, and the DOM, you'll quickly discover that ClojureScript has the same reach as JavaScript, but with more power. Start writing ClojureScript…
The Duke's Christmas Redemption
by
Arietta Richmond,
A Duke who has rejected love, a Lady who dreams of a love match, an arranged marriage, a house full of secrets, a most unneighborly neighbor, a plot to destroy reputations, an unexpected love that redeems it all.
Lady Charlotte Wyndham, given in an arranged marriage to a man she…
I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together.
Al is one of the clearest writers on Python that I know. Here he distills his experience as both a working software engineer and a successful author to take coders from advanced beginner/intermediate level on to all of the “extra” knowledge one needs to write good code for practical use. When I read this book I find myself wishing I could write with such simplicity.
You're a student who wants to jumpstart their career with practical skills, or you're a self-taught beginner who has learned all you can from beginner programmer books and coding bootcamps. Now you're looking for the next step to becoming a real-world professional programmer so you can create your own apps and get started with your career. If that fits, then this book is for you! This book is perfect for self-taught programmers looking for the stuff intro books don't teach you and students wanting to get practical information before getting started with applying their new programming skills.
I believe stories to be our species’ instinctual tool for discovering our best selves. Sometimes those stories are about real people in the past, sometimes they’re completely imagined people in the future — sometimes we even swap out the humans for animals or aliens, or sassy anthropomorphized objects. Whatever the case, for a story to work its wonders, its details must be believable, or we reject its premise. These books help make a story believable, and, if you get the alchemy just right, those details can even help tell the story themselves.
Nothing angers me more than when a book tries to explain something in words when it can be communicated much more effectively through illustration. That’s the beauty of Eric Sloane. The man visually recorded everything from weather phenomena to architecture to tools of bygone eras. I’m recommending the book A Museum of Early American Tools because its the one I’ve found the most useful, but I recommend checking out any of his books. At the very least, it can help you appreciate how those design decisions we take for granted— the roof of a barn, or the shape of a hammer handle— were honed by a balance of tradition, practicality, and circumstance.
This absorbing and profusely illustrated book describes in detail scores of early American tools and the wooden and metal artifacts made with them. Informally and expressively written, the text covers bulding tools and methods; farm and kitchen implements; and the tools of curriers, wheelwrights, coopers, blacksmiths, coachmakers, loggers, tanners, and many other craftsmen of the pre-industrial age. Scores of pen-and-ink sketches by the author accurately depict "special tools for every job," among them a hollowing gouge, hay fork, cornering chisel, apple butter paddle, boring auger, mortising chisel, a holding dog, hauling sledge, winnowing tray, reaping hooks, splitting wedge, felling axe,…
Born in London, I apprenticed under cabinetmaker Hugh Harris before moving to New York to study at Juilliard. Subsequently pursuing a career as a professional musician, recording and playing with groups including Van Morrison, Razmataz, and Full Tilt Boogie, I built a house in Woodstock, NY. In addition to operating my own custom-design furniture-making shop, and lecturing and teaching extensively from coast to coast, I’ve written and illustrated many more books on woodworking. I’ve served as Contributing Editor to Fine Woodworking (1985–1999), and Popular Woodworking (1987–1996), and as Editor-in-Chief of Woodwork Magazine (1991–1994) before becoming a featured speaker and presenter at the National Woodworking Shows.
Known primarily as one of America’s foremost Windsor chairmakers Michael Dunbar’s book is a great guide to the purchase, restoration, and use of old traditional wooden tools for today’s shop. This book explains and illustrates how and why so many apparently ‘antique’ tools still do the job they were designed to do, often much better and faster than many contemporary tools.
A professional woodworker who specializes in antiques offers modern craftsmen advice on buying, restoring, and using the principal general-purpose tools of preindustrial woodworkers
This book follows the journey of a writer in search of wisdom as he narrates encounters with 12 distinguished American men over 80, including Paul Volcker, the former head of the Federal Reserve, and Denton Cooley, the world’s most famous heart surgeon.
In these and other intimate conversations, the book…
Born in London, I apprenticed under cabinetmaker Hugh Harris before moving to New York to study at Juilliard. Subsequently pursuing a career as a professional musician, recording and playing with groups including Van Morrison, Razmataz, and Full Tilt Boogie, I built a house in Woodstock, NY. In addition to operating my own custom-design furniture-making shop, and lecturing and teaching extensively from coast to coast, I’ve written and illustrated many more books on woodworking. I’ve served as Contributing Editor to Fine Woodworking (1985–1999), and Popular Woodworking (1987–1996), and as Editor-in-Chief of Woodwork Magazine (1991–1994) before becoming a featured speaker and presenter at the National Woodworking Shows.
Published in 1881 this is an absolutely fundamental book for the beginner. Amply illustrated, you will learn important details such as how to hold tools and what to expect from them as well as how basic joints are formed and made. Focused on wooden tools this is information not commonly reproduced in more contemporary books.