Latest News
Loading...

Tuesday 5 January 2016

3 reasons why you should learn programming languages concepts


Nowadays almost every small to middle IT company has it’s own technology stack, including main programing language, framework or cms engine, version control system etc. Employers usually look for highly specialized candidates who can immediately “dive in”. For example in our company we mostly work with PHP and Drupal CMS.
So what’s the reason to learn other programming languages or even general programming languages concepts if you use only one? Isn’t it enough to have really deep knowledge only in single language? Here are some claims which might convince you that it’s useful and can make you a better software engineer.
You can improve your skill to express ideas.
We can compare this with regular languages learning. It becomes easier to express your ideas and to communicate with other people when you learn languages. Knowledge of how to build phrases and words synonyms helps you to share your thoughts in a concise and expressive way. Moreover, you can get more information. We live in Ukraine where we speak Ukrainian and Russian, but there is a lot of information in English. We consume a lot of new information and sometimes it’s simply impossible to be on the edge of technology waiting for information to be translated into Russian.
The same things are going on with programming languages learning: the more languages you know the more easily you can find out the solution of the problem or implement an algorithm. Some of you can argue “Hey, how language A techniques can help me to write on language B” Well, if language B hasn’t such techniques, you can try to write wrappers to emulate them at least. One day I was in a company of really good developers and we came to the next definition of Object Oriented Programming Language – it’s the programming language which provides convenient instruments for implementation of Object Oriented design concepts. It means you can write object oriented code in plain C language, but of course it’s not so convenient as writing it on Java or Ruby.
You become better prepared for languages choosing dilemma.
“Which language should I use for Desktop GUI program? What if we need this program to be run on Windows, OSX and Linux?“. If you know only one language you have to pray it’ll be appropriate for the new project. Knowledge of multiple programming languages allows you to make choice. And if you know programming languages concepts, you can make choice even without knowing language itself, but only possibilities it can provide you with. Okay, I don’t know Python but I know it has great OOP support, dynamic typing and there is a Django framework, so maybe I should use it for developing next Web project instead of writing it on C++ which I’m more familiar with. (Yes, I’m exaggerating, but you got the idea)
You can learn new languages easier.
Once I was reading Robert Martin’s book “Clean Code” where all examples are written on Java. That days I didn’t know Java, but my knowledge of C++ and PHP helped me to read and understand Java code very fast. Lets go even earlier: remember how you were learning your first programming language – you have to understand all these statements, conditions and loops. When you learn second programming language, these terms are familiar to you and you just need to review the syntax and maybe some subtle features. And finally, consider how easier is to learn C# with the knowledge of Object Oriented Programming concept. That’s it.
Conclusion
By learning programming languages concepts your can leverage your general computer science skills, you’ll became more aware of different programming techniques that help you to build better applications. All after all it helps you to open you mind to something new.

airdropsplanet

Hello! Its me ~Alpha.im currently learning tons of programming languages and expoilting pentesting etc. I will share all the tricks tips ebooks courses tutorials tools I know .

0 comments:

Post a Comment

 

Copyright @ 2016 Elite Hackers.

Designed by Alpha