3 ms·
Go is positioned as the DSL for microservices. I don't think the language design is fit for this purpose, but that's certainly how the community understands it.
by closeparen 3y ago
Go is positioned as the DSL for microservices. I don't think the language design is fit for this purpose, but that's certainly how the community understands it. In a microservice, "one of your upstream calls might fail and then you return an error to your caller" is not that interesting.
I agree that the widespread use of code generation (LLM or otherwise) is revealing of this tension.
- randomdata 3y ago> Go is positioned as the DSL for microservices. Do you mean Goa? Indeed, it is not a language fit for what we're talking about. It only allows description of services, not the implementation. For that you have to fall back to Go, which completely misses the whole reason for using a DSL. > "one of your upstream calls might fail and then you return an error to your caller" is not that interesting. Sure, and which is why you wouldn't use Go here. There is absolutely nothing in Go that is geared towards abstracting those kinds of things away. And you can't tell me that Goa tempts you. It is not a good DSL.