Learning New Languages
The cluster discusses the relative ease of experienced programmers learning new programming languages (syntax, idioms, tooling) compared to beginners learning their first language and core programming concepts.
Activity Over Time
Top Contributors
Keywords
Sample Comments
I wouldn't say that anybody who programs is likely to be able to pick up a new language easily. Anybody who has been exposed to most of the common ways of thinking about programming (functional, logic, the various subsets of OO, imperative) can probably pick up a language that uses any of those pretty easily (it's basically just syntax from there). Similarly, someone who knows both Chinese and English can probably pick up French pretty easily, because their tools for thinking about languages are
You may be able to learn a new language in 2 weeks, but very few people have this ability. I think a lot of developers learn the syntax quickly, but don't "grok" the differences in a language for some time. I still see people trying to write JavaScript in the same way they would write Java, and they wrote their Java in the same way they would write a Basic program (procedurally). It reminds me of a quote I am fond of: "The determined Real Programmer can write FORTRAN programs
Programming language is not natural language, think more how did you learn math?
This is an underestimation of how hard it is to learn to program.Someone learning a first language isn't just learning a new language: they're learning how to program. It's a new profession, a new hobby, a new superpower.The rest of the stuff (standard library, ecosystem, buildsystem and all kinds of intricacies) is just a mix of trivia and bureaucratic garbage you gotta fill your brain with but will all be replaced in 10 years anyway. Sure it takes time but it's nowher
It's not about learning the language itself, it's about learning the tooling and libs associated with it, and that takes time.
Yeah, you can see this in comparing how long it takes a person to learn a new programming language versus someone learning their first programming language. Learning a new language is trivial, learning to program not so much.
I think this is a natural progression for many programmers. First learn one language. Then in switching between different ones they learn there are patterns in common. Eventually they can read any language and consciously or unconsciously ignore the "noise" and focus on the ideas. Finally they can become proficient with a new language very quickly.
Maybe you forgot how long it took to learn to read & understand the code of the programming languages you're familiar with. Elixir is so different from languages you might know there's a learning curve.
Circumstances and expectations might be different. When starting on your first language, was different than the second, and different from your third, etc.Your first language, you know you don't know much. So you try out and play with it. If you're unlucky, you get stuck, don't get the books, software or help that would make you proceed (ie. machine code for C64), so would need something else or give up altogether. For some experiences, you just need to know the right people, b
Over the last several years I've been switching languages a lot and tend google very basic coding syntax, so I often see questions on Stack Overflow asking for the idiomatic way to do a task in a language. I think it's a pretty typical attitude that you could say a programmer hasn't truly "learned a language" without learning its idiomatic usage and performance characteristics but you'd still say you learned a language after using it for a year or so even if you hav