You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@devlake.apache.org by Klesh Wong <kl...@qq.com.INVALID> on 2023/07/04 08:16:35 UTC

Re: Navigating plugin development choices in DevLake: Golang vs Python

LGTM overall, one small detail to add:

I think it is fine to encourage newcomers to utilize the Python SDK if 
they are already familiar
with the Python language, or they don't have Golang skills.

It would be better to present both options first, and then recommend the 
Python if they don't
familiar with the Golang.


On 6/27/2023 7:25 AM, Hezheng Yin wrote:
> Dear DevLake Community,
>
> I hope this email finds you well. I'm writing to provide clarity on a topic
> that has seen increased discussions in Slack recently: the choice between
> Golang and Python for developing plugins in DevLake.
>
> As we navigate the evolving DevLake community, we’re indeed encouraging
> newcomers to utilize the Python SDK for developing plugins. This choice is
> primarily motivated by Python’s simplicity and high-level interface, which
> we believe could facilitate easier onboarding and more efficient
> development.
>
> During DevLake’s development, we’ve observed that our performance concerns
> were not as pressing as initially anticipated. The collection speed, more
> often than not, is bottlenecked by the data source’s rate limit rather than
> our system’s processing capabilities. Consequently, we haven’t been
> significantly leveraging Golang’s strength in high-performance systems.
>
> However, that does not mean that Golang is being phased out. We intend to
> continue supporting Golang plugins for the long term. While Python becomes
> our choice for ease of development, Golang remains relevant for where its
> strength in system reliability and performance can be fully utilized. This
> approach will ensure we can balance between rapid development and creating
> reliable, long-term stable components.
>
> Best,
> Hezheng
>