learning multiple comp languages — interference? slowing down?

XR,

You once mentioned that some developers feel frustrated that learning too many languages together can be slower than learning one at a time, because the language differences are confusing, and can mess up the mental structure[1] of a single language, in our head. When we start, we may know 200 features of C++. By the end, we have a shaken confidence in 30 features because we no longer remember if Feature A is for C++ or C#, and we may mistakenly assume Feature B (belonging to C#) is also in C++.

I seldom have such a problem. Every time I discover a language difference about a bunch of features, those features become quite hard to forget.

For me, the key is to discover the difference by myself and then blog about it, like I did in http://bigblog.tanbin.com/search/label/c%2B%2B_vs_%20java_vs_c%23.

If a language difference is presented to me in someone's write-up, i often have difficulty internalizing it. I often reach a deeper or higher level of understanding, then write about my own findings. Then, this difference is no longer spoon-fed to me, but metamorphose into my own discovery.

Such a process takes effort each time, so I don't do this every time. I feel learning multiple languages inevitably takes effort, if we want to compete with others in the “knowledge” contest. No pain, no gain.

[1] Speaking of the =:structure:=, all well-designed languages have a ton of nitty-gritty features (200++ pages) organized into a clean structure built on a small number of key principles. Without such a structure, a language is hard to learn and won't catch on. In fact, this is a criticism on perl. I know perl the language has structure and strong principles, but perl appears less structured than most languages.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s