Learning a new programming language

Every once in a while, a new language – programming language – is born. Or simply it suddenly gains impact and a whole new dimension. Lately this is more obvious with web development languages and mobile devices oriented languages.

If you have a background in computer sciences it should be not very difficult to embrace a new language. Afterwords you might like it or not, use it or not, defend it to the bone or ditch it as garbage. What about those who do not have such a background? Those you learned a couple of scripting languages, for instance, and want to learn Objective-C or even Perl 5. Hell, those who have used Javascript as a “form validation language” and want to learn hardcore Javascript? That is a bit tricky, isn’t it?

Speaking from my own experience, I am not a bonafide developer. I have learned several language over the years with help from lots of books, friend and mentors and burning my brain with endless hours online.But that does not necessarily make me a developer. And that became even more obvious after I began working at SAPO. I have to be honest here. I have never seen such a large concentration of geek power. And after just a couple of week I came to my senses and realized how little knowledge I have. Humbling, to say the least. Don’t get me wrong, I’m not complaining. Quite the opposite, actually. Where else could I learn more and more every day? And more. There’s plenty to choose from. You want to talk about developing for the Android platform? Someone surely can help you with that. iPhone, iPad, Web TV, .NET, RoR, Python, Perl, PHP, you name it. There is at least one or two people who can help you. And they will, too. The sense of community is strong. And the ultimate example is Codebits. I won’t bother explaining what it is. You can read all about it on their site.

So, what does this has to do with the enclosed title? Well, to be quite honest, not much. Yet. But it will.

Ok, now you have “discovered” a new language. You have been reading about it online. There’s a buzz around it. Everyone’s saying it’s the next big thing. What do you do? You search online for info, examples, etc. At this moment two things can happen. First, you do have enough know-how to learn by yourself and a new language is but a new syntax or you have to lear the concepts behind it – just because you never knew existed before – and you get stuck because you don’t know what to learn next. Do you study the language itself or try to learn OOP (keeping with the example above, from scripting to OOP)? How to learn about inheritance if you only developed in VBScript back in 2000? There’s a great difference between creating an app with a Visual IDE click&drag development tool and making everything by hand, isn’t it?

And we have arrived to the core of our subject. Speaking about Portugal, my home country, IT related training is very expensive. Certification related training even more. So many newbie developers opt not to go that way and try and learn by themselves (I’m one of them). Eventually, over the years, they might get lucky enough to have a company pay for such training but still we have many undiscovered talents that simply do not get a chance. Even worst, high schools and colleges have lousy academic programmes. And by that I mean they don’t focus on what they should as much as they should. Most academic programmes are obsolete.

And what to do about it? Study, study, study. Be a pain in the a** for your savvy friends. Don+’t be afraid to ask stupid questions. And never, never, think you know it all.

blog comments powered by Disqus