Hacker News new | ask | show | jobs
by aleksi 3480 days ago
But code generation doesn't have to be painful. Consider https://gopkg.in/reform.v1, for example. It generates methods for your data types and uses then to cover 80% of typical usage and also does help you when you want to use SQL.

(disclosure: I'm the author)

2 comments

Code generation is always painful. It's yet another compiler add-on one has to add to a pipeline. Because now If I use your executable I have to manage your tool and its versions,it becomes yet another dependency. At least real/reified macros (that go lacks) need no third party executable . Code generation with third party tools means language fragmentation. Suddenly people add their own DSL on top of Go in form of a manifest. Suddenly Go executes instructions in comments and other horrors ...
Yes that sucks. So I have written / am writing my own code generation tool which runs only once and does not rely on any fancy instructions in comments. Ah yes ... maybe `go generate`. I hate a slow compiler.
Yeah, we use gopkg.in/reform.v1 in production. I've never had problems with code generation here. I like how it works, simple and clean.

Reform has enough methods for the daily routine queries. And also it's easy to use raw SQL queries with reform if we need them.