“Language X for Y developer” tutorials are useless

The idea of the polyglot/full-stack developer is pushing all the web developers to continually learn new languages and you might come across a few tutorials on the lines of ‘Python for C++ programmers’ or ‘Go for Java developers’.

I don’t think these tutorials are the best way to pick a new language. The premise of such a tutorial suggests that you’re in a hurry, and want a few quick hacks to get started. Let’s try to unwind the situation. Suppose you are a C++ programmer looking to learn Python. To learn “Hello World” from this tutorial would mean that you read through the “Hello World” code in C++, and then the “Hello World” code in Python… and then spend all your brain power on comparing the diffs. When actually you could have easily learnt your first Python program.

Now let’s pick a simpler case, let’s say you’re moving from C to C++. You start off comparing basic code in the two languages again, which would be a cake walk since, it could be pretty similar. But wait, you probably don’t understand Classes and Objects yet. Cpp is going to offer you new concepts on data abstraction, OOPS, encapsulation and inheritance. Stuff that a quick guide can’t teach. So there actually isn’t any quick and dirty way at all.

There are elegant similarities in languages of course. But there are interesting differences as well. The differences are the reason you’re learning a new language to start with. Differences that make a new language useful.

And there are more reasons why this might be a bad idea. Bad Habits of one language can affect your style on another. You might observe useful features of a language too late since you were busy hacking the diffs. Python obsesses over consistency of syntax, C++ obsesses over inheritance and optimization.

So start fresh when learning a programming language. Your learnings from previous languages will map automatically onto the new language that you want to learn.




One response to ““Language X for Y developer” tutorials are useless”

  1. […] For experienced programmers, I wrote a post couple of months back on how not to attempt learning langugages. […]

Leave a Reply