Hacker News new | ask | show | jobs
by DanielBMarkham 2953 days ago
You need to get out and help people. Learning a programming language without having anybody to help is like learning algebra without having any context of where/how to use it. It's perhaps a nice intellectual exercise, but you're missing out on the most important part.

Programming is mostly symbolic and mathematical. I love math and symbols. Fun stuff.

Making stuff for people is mostly, well, people.

Guess which one of these is more difficult?

You really learn a language when you're knee-deep in framework code, fuzzy requirements, conflict among stakeholders and the team -- and you've got to make something happen this week. Not when you're doing puzzles online.

Since you asked, in general if you feel like you've mastered an OOP language, I'd recommend going functional. F# worked for me because when I use F# correctly, the language/toolset helps teach me how to be more functional. Pure FP is always the goal, but you can do it in OCAML/F# and I don't think jumping right into something like Elixir or Haskell would have been as people-friendly. (Back to humans again)

In short, languages are great. Show me you learn a few. But that's 1%. 99% is people and problems. Show me you have lots of experience dealing with that while grokking out on the math and symbolic stuff and I couldn't care less which languages you know.