For most of my career I’ve worked in PHP, specifically in now older PHP for WordPress. I’ve enjoyed the language but, like any language, it isn’t perfect for every task.
While I once strived to go as deeply as possible in PHP and WordPress, once I got to WP Engine things changed. For most of my first year year I worked in GoLang and, for the first time in memory, I had found a language I really enjoyed using.
Sure there are days I miss going deep to solve a problem with code but the change to management means I get to finally explore languages I’ve wanted to learn better while I experiment and build a few side projects. Here’s what I’m working with these days:
WordPress and PHP are still a big part of what I’m coding in myself, mostly for this site. While I wouldn’t say I find it exciting anymore it is a language I know well which makes it easy for me to do what I want to do with it.
The DevKit project might just be the most fun I ever had writing code, even when considering my days building Better WP Security and other plugins. It’s fast, has a robust ecosystem that is generally easy to get into and it is well suited for command-line utilities and other small apps that I tend to build for various tasks.
Over the last two years I’ve actually gone back to Node to build some small utilities, mostly due to known libraries for what I want to carry out. That’s changing more and more as GoLang has grown in popularity or support. Today most test scripts I write use GoLang and I’m finding it fun to actually build such utilities again. A perfect example is the script that powers my GitHub profile. As a whole GoLang is just a joy to work with and the possibilities for me are endless.
Finally, for a new type of programming I’ve been starting to learn Rust. While it shares a lot of similarities with GoLang it is in fact quite different under the hood. Rust reminds me of why I earned a graduate degree in Computer Science. It’s fun to use but allows you much more control over every aspect of what you’re trying to do.
So far I don’t have a lot of practical things to use Rust for but it is helping me learn and re-learn a lot of the science behind computer science. I haven’t always had the luxury of learning a language just for the sake of education but, now that I do, I’m taking full advantage of it.