notes/software/Rewriting TS.md
2023-08-26 11:34:11 -06:00

15 lines
1.3 KiB
Markdown

TS is currently written in Python, depending on a technically EOL version of the discord.py library. It has grown to a massive scale, and provides all of the functionality that is critical for the server, but has some downsides.
- The codebase is not documented very well, which makes changes to the core system difficult.
- Python suffers from performance issues that have proven be meaningful at the scale of the server (they have been addressed)
- The migration to a new discord.py version is proving to be extremely troublesome
However, sticking with the system we currently definitely offers some pros:
- It functions and is largely bug free, proving stable enough for our use case, with the reliability proving to be mostly dependent on the host.
- Eff is contributing, however the level at which he will end up contributing to the project is uncertain
- Once totally 'cleaned up', sticking with TS may be perfectly acceptable
Rewriting TS offers some pros:
- We can document it as we go and decide on design patterns and practices to stick to before implementation begins
- We evaluate the scale that TS needs to fit, and design according to that
- We can switch to a language that may prove to be more performant/versatile, should we decide discord.py and python are not the best tool for our needs