First, Python is also one of my favorite programming languages. I’ve been working with Python for nearly eight years and will continue to use it.
Our team anticipated the transition from Python to Golang when we started the memfiredb.com project, so we had no obstacles and completed the transition very smoothly.
Why did we make the decision to change programming languages at the beginning of the project, and why not just go with Golang?
First question: Why was the decision to switch programming languages made at the project site?
- Cloud native: Memfiredb.com is a cloud service, and our operations and maintenance deployments are based on K8S. Golang has a huge advantage in cloud native, which will become more prominent as the project gets bigger.
- Performance: Although Python has many options for performance optimization, Golang is easy to implement high performance, high concurrency services with very little special optimization.
- Python version: Our team has accumulated a lot of experience and code with Python2.7, but has not yet fully migrated to Python3. With the community dropping support for Python2, and some third party libraries also dropping support for Python2, we are now in a relatively awkward limbo.
Second question: Why not choose Golang in the first place
- We have a lot of mature components in Python that we can use directly. This allowed us to quickly prototype the system, validate our ideas, and invite friends to try out our system.
- We need to select and verify the framework components of Golang from scratch, which is not conducive to the quick start of our project.
Currently, the memfiredb.com cloud service backend has been migrated from Python to Golang and is running stably.