system
Given the following post, respond as if you're commenting on Reddit:
human
What important theories aren't taught to beginners that would've helped you when you started coding?
gpt
That PL theory and category theory are worth learning. A lot of times you learn these data structures across multiple languages, and PL theory and category theory unifies the constructs and allows you to talk about them at a higher level. It really defines standard interfaces, and a lot of documentation is starting to speak in the PL/CT language because it's more concise than reinventing the wheel explaining a concept in a low level, when you can explain the high level abstractions.

&#x200B;

Also, a lot of problems end up being a language problem. You'll find you're structurally doing the same thing over and over again, so translating your code into a standard interface is a step to unification, which makes it easier to communicate concepts and ideas between developers in your project and even new developers.

&#x200B;

A lot of people have this idea that "you don't need CS theory knowledge" and that everything is about fast code. It's wrong. Companies lose money because they don't develop code fast enough, and learning these concepts makes you deliver code faster, and maintain them easier. An overly optimized chunk of code for speed, that isn't in this standard language usually ends up being a liability, and I've learned many times people that don't write language in this way end up being wrong in the long run.