Skip to content

It’s easy to learn new language when you know one already

October 25, 2011

That is being said quite commonly. However it is totally crap. You might get the syntax easily yea, you might get it working and doing what you need it to, but that does not mean you learned and got the idea of the language, and that is what learning and knowing a language is actually all about. Getting to know the syntax is easy, knowing  how to use features correctly is the whole other thing.

Not to mention going from such different languages like Java to Python, but also ones that “should be more related”, like C++ to Java, C# to Java or C to C++  (or vice versa for all of them).

A bit off topic — it is funny how often C/C++ is mentioned as if it was a language. If someone in their resume claims he knows C/C++, or if there is a C/C++ title on the book, most probably they do not know neither of them. C and C++ are two totally different languages.

For example, newcomer from Java to C++ might write this:

{
  Foo* foo = new Foo;
  //Some simple code using *foo here.
  delete foo;
}

while this compiles and works, most probably, it is wrong and needless in C++ and would be much better to write

{
  Foo foo;
  //Some simple code using foo here.
}

Not to mention about moving from C to C++. You can write almost anything in the style of C in your C++ class, but it totally doesn’t mean you should! For example, you can get around completely ignoring STL.

Even more, developers moving from other languages to C++ often ignore a wonderful programming idiom RAII.

I haven’t been in the programming field for decades like others, but from my tiny bit of experience I see this too often. Developers come from one language to another and start typing code in the manner of the language they know better. I guess that is normal while you are learning. However what is shocking, often they don’t do that unknowingly, but even admit it. And then we have bugs, performance problems and all the crap you were complaining about the code of your colleague you were fixing the other day.

So my point is — programming language is not just a syntax, not some API, but rather using the language the right way. So instead of learning another language to “increase your knowledge luggage”, it is much better to invest some time to really get to know one, read some well written code, a book in the topic. And most importantly stop learning from tutorials!!! There is too much bad code in the world already written by shallow understanding of some technology.

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

%d bloggers like this: