Hacker News new | ask | show | jobs
by icc97 3153 days ago
> The world and your career are unpredictable, so you are better off learning subjects of permanent value.

I've been looking for a way to express this idea for years. Doing a core subject at University like Mathematics or Physics can be used in a million different careers.

In a similar way I'd recommend learning say Functional Programming over React or Scala.

Plus I guess learning Category Theory over functional programming too, although I'm not quite sure how true that is.

2 comments

> learning Category Theory

There is a level of abstraction which for most people is the wrong end of the stick to start from. Category theory is one of them. (and I'm a big fan of category theory and Haskell).

Category theory may occasionally lead to elegant, orthogonal and consistent solutions, especially if you are building new abstract tooling (LINQ in C# is a good example). It gives you tools to reason about structure.

However in most situations, it doesn't give you anything you can directly use. Most of them time it serves to clarify and enlighten rather than generate. Categorical thinking [0] may be more useful than the actual theory.

If you seek to apply category theory without first getting your hands dirty with conventional "inefficient" programming, you will end up with abstruse solutions that are potentially overly complicated and unmaintainable. Applying theory without the requisite real-world experience (to temper the tendency toward heavy abstraction) is a problem of youth. The world is not full of highly-intelligent people who can work with highly abstract code. One needs to learn to work with the inelegance in the real world and with other people in the system. A larger coherent system, though weak in parts, may produce a better result than a few bright people.

[0] https://www.johndcook.com/blog/applied-category-theory/

Yes! Absolutely. Unless you already have quite some proficiency with mathematics and/or generic programming then learning category theory is pretty pointless. In fact I don't even know what it would mean to "learn" it if you don't have a suitable background to build it on.
This is true, but after studying physics you find that you have a lot of catching up to in comparison to the computer scientists. Maybe you will have more insight in understanding some complex linear algebra concept, but it's not of great use if you can't debug a docker issue or get a database working.
True -- but those are hardly computer science issues. Some of the best computer scientists I've met were really applied mathematicians who were great at figuring out whether a problem was NP-hard but couldn't really program or handle sysadmin problems.