back

by eric_khun·6y ago·view on hn ↗
I completely can relate to your experiences (wrote a post about side projects [1]). Strongly agree with "Programming in a void is worthless". Learning a new language shouldn't be the purpose to start a new project, it should just be a tool to get a side project going. And the goal of the side project will make you force you to use it, so it's a great way to learn. It can sometimes be a struggle to learn how to achieve X or Y with that tool, I now tend to use the language I know (that I've learned with previous side project) to ship a new side projects faster.

[1] https://erickhun.com/posts/why-you-should-have-a-side-projec...

1 comments
In my experience "Programming in a void is worthless" was the main factor to put the language aside and lose interest. Only learning for projects drove me all along through Node, Golang, C# and counting.
I went pretty wide on languages too. I kinda wish I spent that time learning more useful things though. It's certainly nice to be exposed to different language concepts, but I think there's too much conceptual overlap between e.g. C# and Golang for there to be that much benefit from it.

If I had to pick languages that changed my thinking the most, they would probably be: Haskell, Erlang, Clojure, Prolog, and R. Unique languages like Erlang/Elixir and Prolog can be "10x" languages - they were written for specific purposes and if your problem fits that purpose it will be much easier to solve than in most other languages.