I love Category Theory and I also love programming so I learn both of them in my spare time. However I find that programming takes up so much of my spare time. I reason that the less thing I can do now, the better I would do them so maybe I would try to give up on programming. But I'm still very indecisive. If I'm going on the road of Category Theory research, there would be no use for improving and keeping my programming skill?
-
3$\begingroup$ Diversification is important, it's good to have a second option which you also enjoy. In my very much uneducated opinion on both topics, I think you can do both. I say this in part because there is part of category theory which is theoretical computer science. Ok, fine, I know, programming isn't that, but, programming can pay the bills if no one likes your research :) $\endgroup$– James S. CookCommented Aug 25, 2018 at 3:31
-
3$\begingroup$ Maybe you should learn Haskell so that you are doing both at the same time. $\endgroup$– AdamCommented Aug 25, 2018 at 4:05
-
$\begingroup$ The programming I'm currently doing is Haskell. And the problem is programming is very differently from mathematical research as far as I experience, so I made this post to ask. And the bills is currently not a problem for me. $\endgroup$– Minh KhôiCommented Aug 25, 2018 at 4:24
-
$\begingroup$ A super accessible read: gentle introduction to category theory, maartenfokkinga.github.io/utwente/mmf92b.pdf It spells out all the details, making it super useful for a beginner who is learning on their own ;-) $\endgroup$– Musa Al-hassyCommented Aug 28, 2018 at 16:12
3 Answers
Your profile suggests that you are still a teen ager. Therefore my advice is, for now, to explore a lot of things and don't try to specialize too much in any one thing. It is a big world with a lot of possibilities.
I'm not suggesting that you give up your study of Category Theory, but there is a lot of other mathematics that is interesting and which supports that. Likewise, if programming is fun, even if hard, it will stretch your brain in a slightly different way than mathematics. That is very valuable in itself.
There will be plenty of time for specialization - even extreme specialization if you reach the stage of doctoral level education.
-
$\begingroup$ Sorry. That profile was old and I didn't edit it until now. I'm currently a math undergraduate. $\endgroup$ Commented Aug 27, 2018 at 3:53
-
2$\begingroup$ @MichaelDNguyen, I still think the answer applies. In US education, at least, an undergraduate education is very broad and only begins specialization. Other places it is more specialized to a single field. Keep options open. $\endgroup$– BuffyCommented Aug 27, 2018 at 11:16
My advice would be to be open to areas of math that allow for programming skill. You can still take some theoretical classes and such. But there is a lot of good stuff in optimization theory, data processing, cryptography, etc. that uses both math and programming (and even sometimes other fields like OR, business, mechE for finite element analysis, etc.)
Also, if you get a broad science/math background, you may find yourself doing something even different from the other two choices (e.g. physics or crystallography) which still involves a lot of the skills and interests you have. And you will be a better teacher and maybe even researcher if you have some general breadth.
-
$\begingroup$ But I want to speciliazes in Category Theory. Might you elaborate on why should I be open to other classes that has programming in it? $\endgroup$ Commented Aug 27, 2018 at 3:54
-
1$\begingroup$ @MichaelDNguyen Category theory is a relatively small field, which seems to have an outsized internet footprint. Those who use it, more often than not, use it to study something more concrete. Not just pondering functors and diagram chasing. Cat. theory is the highest level of abstraction, but in the end you want to be making statements about some actual thing. My advice would be to learn something concrete that you can apply category theory to. There are applications to programming, as you know, but also topology, gauge theory/physics, and algebra. Learn those with cat. theory in mind. $\endgroup$– AdamCommented Aug 28, 2018 at 13:39
Learning how to code and code well is an incredibly useful skill in math research in all fields. (I can code, but not code well, but I've been very lucky to have collaborators who are much better than I am. Around half of my papers involve serious computer calculations)
But perhaps more importantly, category theory is one of the closest fields in math to computer science! For some examples, category theory is used in studying databases, monads are an important notion in category theory and also in Haskell, and Homotopy Type Theory is a computer science-inspired approach to homotopy theory and higher category theory. Some category theorists actually work in CS departments. I'd say that if you want to do category theory that's of broad interest, it's almost essential to have a solid background in computer science.