Hacker News new | ask | show | jobs
by xwdv 1989 days ago
It’s never too late to learn anything. The problem is, are you ever going to be able to put it to good use before forgetting much of it?

I’ve wasted so much time in the past decade learning random shit that I never used, it’s been a poor ROI compared to just continuing to hone the skills and languages I use daily. Really demotivating.

2 comments

It sounds like your problem is a certain outcome dependency. A better mindset is to learn things out of curiosity. You could level your criticism at learning anything that doesn’t help you in the cubicle tomorrow.
People should really learn to separate work and play. As soon as you utter “ROI” your play has become work.
If you’re a working programmer using a mainstream language, then I feel that spending some time with an ML-derived language such as Haskell and a Lisp will pay dividends in your day to day practice.

There are some keen insights about computing that are revealed by these languages - and those insights are transferable to your daily work in JS, C#, Python, Java, etc to some degree.

> and those insights are transferable to your daily work

Some people say this, others say that it makes your daily work worse because going back to a language that isn't on the cult-approved list is so difficult.

Can you give any examples?
Looking backwards, I dug pretty deeply into Clojure for a while.

When Streams came to Java, I felt like I was already an expert in that paradigm, and was able to adopt it immediately in ways that made my Java code clearer and more concise, and maybe even more performant in some cases. (Streams can allow you to transform a very long sequence of data, without needing to realize the whole sequence in memory first, as one example.)

I also use immutable data structures by default wherever possible, unless I know I really need to mutate the data.

I try to make the output of a method dependent only on the inputs, wherever possible.

You shouldn't take it to extremes, but incorporating paradigms from one language into another can pay big dividends.