4 ms·
To what extent did you try to refactor your Python code/architecture prior to adopting Go for v2? Also, could you share one example of the dynamic typing relat
by Dowwie 10y ago
To what extent did you try to refactor your Python code/architecture prior to adopting Go for v2? Also, could you share one example of the dynamic typing related problems? Specific metrics would be helpful to understand v1 limitations. Thanks for considering my question!
- philip1209 10y agoI talked about this a little bit more on reddit [1] - basically, running Python code provided a lot of challenges. We did a lot of design research prior to starting the V2, and we realized that we needed to make huge changes in our data normalization. For instance, in the V1 - we assumed that workers could only have one "role", but we realized that people can rotate between many jobs often. Making this change to the API while maintaining support for existing users would have been really difficult. So, we basically started looking at all of the work we would need to do for a data normalization change, and said "well wait - if we were to build it from scratch, how long would that take?" That conversation also made us realize that we could jettison a lot of unneeded features if we started a V2. We chose Go to address some of the issues that we had with Python, including ease of deployment, ease of running and lack of static typing. [1] https://www.reddit.com/r/Python/comments/5w3o6t/staffjoy_v1_has_been_open_sourced_if_you_want_to/de96ybk/?context=3&utm_content=context&utm_medium=user&utm_source=reddit&utm_name=frontpage https://www.reddit.com/r/Python/comments/5w3o6t/staffjoy_v1_...