After quite some time developing applications in C and C++, I started a journey exploring new languages over the last 8 years.
Go was simple and easy to ramp up, channels were awesome, yet it got repetitive and tiring.
Rust had great tooling (relative to C++), nice functional elements, and ownership was interesting. Yet the complexity, verbosity, and restrictions took me back to C++.
Then came Clojure and Elixir and I thought I found my home. Yet as I built larger projects, I found I disliked dynamic typing, especially during refactoring. So after a short stop with Scala, it was on to Haskell. Haskell was a fun puzzle but I found myself often wanting to just write some damn imperative code or mess with memory via a pointer.
So it was back to C++, full of its warts, with a new appreciation for its expressiveness. Yet I really missed some of the functional approaches I had come to enjoy from earlier languages. While it certainly can be done, I found it cumbersome.
Then one evening I was doing my normal run through YouTube channels on programming and came across a presentation from Mike Shah on D. I kept on scrolling thinking back to what I heard before about "D being a failed attempt to improve on C++". I then stopped and realized I knew nothing about why this may or may not be true, and decided to give it a watch.
I was immediately captivated. D had the parts of C++ that I loved with burrs removed and simple yet powerful features added. The module system, tooling, function call syntax, a full-featured standard library, arrays, ranges, and flexible memory management looked awesome.
8 months in and I am still loving the langauge. I am quite frankly shocked D is not more well known. The power and expressiveness of the language makes programming fun again.
Yet today I am very disappointed. I just finished building a chess game w/ a simple engine in D, and I can only very rarely beat it..guess my chess game is not what it used to be...
Anyhow a big thank you to Mike Shah for getting content out on YouTube that helped me discover D. And a big thank you to the community that is driving the development of D. While there is no one perfect language, I find that for what I like to do, programming in D is a great fit and most importantly, enjoyable.