2 ms·
Your first language is hard because you're learning a ton of things all at once, only one of which is the language itself. Your second language is hard because
by Twisol 6y ago
Your first language is hard because you're learning a ton of things all at once, only one of which is the language itself.
Your second language is hard because it's not the first, even though it's probably pretty similar. But the differences will catch you out. A second language challenges the mental models you built up with the first language -- you have to tear some of your understanding down and come up with a more generalized perspective.
Languages similar to the first two become easier to pick up after this point, because you're mostly looking for a handful of differences, not a total paradigm shift. But languages that are sufficiently different, like C and Haskell, require a lot more of the ground-up type of work you thought you'd left behind by now.
It gets easier and easier as you cover more of the conceptual landscape. But I'd be willing to bet that many developers haven't had to journey far from home.
- ashtonkem 6y agoI’d agree that similar languages are easier to learn, but once you’ve learned how to learn a programming language, new ones are easier, even if they’re dissimilar from your prior languages. For the record, my professional work includes languages as dissimilar as PHP, Java, and Common Lisp, while my hobby hour work includes Rust and Haskell. That’s a pretty wide range of the language space that exists today, IMO.
- Twisol 6y agoMy language gamut is similar to yours -- I don't disagree. I usually find it straightforward to pick up something new too. But there are still languages I know are going to take a lot more time for me to grok, like Coq. (I tried Coq a few years ago, and even though I already knew a fair bit of Haskell, the differences were enough to completely throw me off.)