This month I have been going through some Go tutorials on Pluralsight.
Actually, just one, but it has been taking a while. The instructor has this (IMHO) bad habit of wiping out the contents of the file he is working on and replacing them with new content without warning. And sometimes he does not go over helper functions that he writes and are called from his main functions. It makes it frustrating.
I was thinking of ignoring Go, but I found a post on the Java subreddit about the latest Jetbrains State of the Developer Ecosystem survey. Granted, the respondents are users of Jetbrains products, so it is not representative of all developers. But I decided to take a look. There is a section about Go. Buffalo is not the most common web framework. The winner is one called Gin (here are links to the website and github repo). I might look into this later. The github repo and the website both state that Gin has a “martini-like API”, which on the surface is a meaningless statement. I googled “golang martini”, and apparently there was a Go web framework called Martini. The repo page says it is deprecated, and the last commit was in 2016. Note to whoever is doing the marketing for Gin: Comparing your project to a dead project is not the best selling point.
There is a rules engine written in Go called Grule. The main reason to build a web app is to work with a rules engine. My day job involves a proprietary rules engine that I am kind of sick of dealing with. (Thanks for the opportunity, multi-national corporation, but at some point I will probably move on to something different.) There is also Drools (written in Java) and Clara (written in Clojure).
One issue I have at the moment is that the Grule page has this tidbit: “Business Analysts can easily read and verify a set of rules.” Just about every technology that pitches itself as something that “the business people can use so you don’t have to be a developer” never lives up to that promise. Score one for Clara.