https://linen.dev logo
p

Pavan Raju

08/02/2021, 10:06 PM
Hey folks. What’s the rule for language choice on the server and connectors? From a quick glance here’s what I gathered: • For database connectors -> Java • For REST API connectors -> Python • For airbyte backend server -> Java What’s the justification(s)?
u

user

08/02/2021, 10:07 PM
the idea is that for connectors anyone can write a connector in their preferred language. also it allows us to opportunistically use tooling or client libraries that only exist in one language. the docker architecture allows us to offer this flexibility.
u

user

08/02/2021, 10:08 PM
database connectors are written in java because jdbc makes writing a single implementation that we can reuse for multiple databases very easy.
p

Pavan Raju

08/02/2021, 10:09 PM
REST API connectors we've been defaulting to python because it is very popular in the community and what most contributors want to work in.
u

user

08/02/2021, 10:10 PM
The backend is written in java because we're more comfortable writing a production service in java than python.
u

user

08/02/2021, 10:10 PM
Hope that helps!
u

user

08/02/2021, 10:16 PM
Thanks @charles! This helps a lot.
u

user

08/02/2021, 10:16 PM
I’ll read up on your docker architecture a bit more, I’m curious how the Airbyte server communicates with the connectors.
u

user

08/02/2021, 10:17 PM
Nice! this page in our docs might be a good place to start: https://docs.airbyte.io/understanding-airbyte/jobs
p

Pavan Raju

08/02/2021, 10:22 PM
That’s perfect, thank you.
u

user

08/03/2021, 10:04 AM
Hi again @charles! pardon my curiosity, is there a reason why you didn’t use kotlin? I’m beginning my journey and I’m soaking as much as I can from you!
u

user

08/03/2021, 5:06 PM
we talked about this. mostly we had experience with vanilla java and wanted to with a tool we knew.
4 Views