Live data from Hacker News

Building a High Performance Data Integration Framework in Go

cloudquery.io

1–10 of 32 posts

Re: Building a High Performance Data Integration Framework in Go

#4
Code generation is becoming really important in Go.

Why even use an ORM when https://sqlc.dev/ will generate everything from vanilla SQL?

Why make the frontend team write a Typescript client when https://goa.design on the backend will produce an OpenAPI schema they can just point a https://openapi-generator.tech at?

Why write out GraphQL boilerplate when https://github.com/99designs/gqlgen will take your GQL typedef and generate it all for you based on how you want it to look.

Why write validation rules when you can just define your input struct and let https://github.com/mustafaakin/gongular generate the rest for you?

Honestly, I'm loving this. I want to focus on the entities and business logic - not writing yet another handler/resolver for basic auth + CRUD work.

Re: Building a High Performance Data Integration Framework in Go

#5

Code generation is becoming really important in Go. Why even use an ORM when https://sqlc.dev/ will generate everything from vanilla SQL? Why make the frontend team write a Typescript client when https://goa.design on the backend will produce an OpenAPI schema they can just point a https://openapi-generator.tech at? Why write out GraphQL boilerplate when https://github.com/99designs/gqlgen will take your GQL typedef…

100% ORMs becoming less and less relevant especially in Go with code generation and a bit of copilot help :).

Also, Protobuf is another (not new) but good example of client and server side code generation which passed the time test.

Re: Building a High Performance Data Integration Framework in Go

#6

Code generation is becoming really important in Go. Why even use an ORM when https://sqlc.dev/ will generate everything from vanilla SQL? Why make the frontend team write a Typescript client when https://goa.design on the backend will produce an OpenAPI schema they can just point a https://openapi-generator.tech at? Why write out GraphQL boilerplate when https://github.com/99designs/gqlgen will take your GQL typedef…

Gongular looks pretty cool, but it seems like development stopped. Is there any other library that does similar things?

I love learning about new frameworks/libraries in golang for exactly that reason of reducing boilerplate and spending more time on logic.

Re: Building a High Performance Data Integration Framework in Go

#7

Code generation is becoming really important in Go. Why even use an ORM when https://sqlc.dev/ will generate everything from vanilla SQL? Why make the frontend team write a Typescript client when https://goa.design on the backend will produce an OpenAPI schema they can just point a https://openapi-generator.tech at? Why write out GraphQL boilerplate when https://github.com/99designs/gqlgen will take your GQL typedef…

It would be interesting for the annual Go survey to include a question about how much code generation is being used in the wild. My personal impression is that it is not widespread at all, but I phrase it that way on purpose.

Re: Building a High Performance Data Integration Framework in Go

#8

Code generation is becoming really important in Go. Why even use an ORM when https://sqlc.dev/ will generate everything from vanilla SQL? Why make the frontend team write a Typescript client when https://goa.design on the backend will produce an OpenAPI schema they can just point a https://openapi-generator.tech at? Why write out GraphQL boilerplate when https://github.com/99designs/gqlgen will take your GQL typedef…

sqlc is great but what I dislike about it is that it forces you into using only the supported underlying drivers, for example with postgresql the pgx v5 driver has been out for some times now but sqlc only support v4 (this might have changed recently I haven't checked).

Overall there are many reasons why I would like to generate code slightly differently from what is done in the lib, I wish there was a way to have a highly customizable code generation experience

Re: Building a High Performance Data Integration Framework in Go

#9
post #7

Code generation is becoming really important in Go. Why even use an ORM when https://sqlc.dev/ will generate everything from vanilla SQL? Why make the frontend team write a Typescript client when https://goa.design on the backend will produce an OpenAPI schema they can just point a https://openapi-generator.tech at? Why write out GraphQL boilerplate when https://github.com/99designs/gqlgen will take your GQL typedef…

It would be interesting for the annual Go survey to include a question about how much code generation is being used in the wild. My personal impression is that it is not widespread at all, but I phrase it that way on purpose.

We've been using it for mocks and protocol buffers for many years. I'm sure we're not alone.
Post reply on HN