Q

Emertxe-News & Blog

Home » Blog » How many programming languages should I learn?
How many programming languages should I learn?
How many programming languages should I learn? – This is a classic question we get all the times from our students. Sometimes even working professionals ask the same. Simple answer from us – Why are you so much bothered about it? The world is moving to specialization, doesn’t matter how many languages you know. All it matters is – Can you solve real time problems using programming? Sounds different? – Read on!

Some history

programming languages

Programming languages – How many?

Cut to 90s. It was the time when IT revolution started sweeping India. Learning anything related to computer was seen as a hot skill. It was measured by number of programming languages an individual knows. It was perceived that bigger the laundry list you have, the better job prospects are. However technology has changed a lot in the last two decades.Specialization has taken center stage.Becoming a specialist than a generalist (jack-of-all-trades) is very important to have a successful career.

Specialist v/s Generalist

Let us explain this with an example. No matter how many programming languages has emerged, C language continue to dominate the embedded systems programming. Similarly other popular languages like C++ (application) and Java (Web/mobile computing) has become popular in different domains by leveraging its strengths. For a fresher (who is looking out for a job), it might sound cool to learn many languages to give a ‘kick’ to their resumes. In our opinion it is better to take a specalization path rather than knowing something of everything.
Rather than learning many programming languages, it is better to learn one or maximum to in depth. Going back again to Embedded systems learning C in detail becomes very important because of the following reasons:

  • C language is a middle level language which offers both high level (easy to learn) and low level (bit-wise operators) construct that helps to deal with registers, peripherals and various hardware interfaces
  • C offers best possible machine code by occupying very less memory footprint. Given that embedded systems are resource constrained systems, it makes sense to use C that is easier on the hardware
  • Inspite of being a middle level language C offers certain unique functionalities (ex: Volatile variables, function pointers) that makes it to work very closely with operating system and system software
  • Since C enjoys being a middle level language, it can be easily ported across various hardware / processor architecture (x86, PPC, ARM etc..)

Programing languages – A problem solving tool

Similarly other languages like C++ (Class/Object) and Java (Scalability) offers certain unique advantages that makes it usable for a specific reason. So when it comes to learning programming languages it is not only about learning the syntax usage and IDE environment usage, but to understand the deeper aspect of the purpose of the language the is been applied for. This takes the thought process significantly away from seeing programming language as a tool to solve the problem in the best possible and optimized manner.

The better an individual knows one language very well to its deepest extent possible, it becomes easier to replicate across various other programming languages.

In summary

So it is important to learn one programming language very well and apply it to its best of its abilities rather than creating a huge list. May be along with that learning one additional language (ex: Phython scripting) can be considered, just to have a variety. In Emertxe we are very clear and particicular about teaching programming langauges to our students. Since our larger focus lies on embedded (C programming) and web (Java) we ensure the subject is covered deep enough to ensure our student become job ready. Based on our experience with multiple corporate organizations and interview panels, this is getting re-iterated multiple times. Its very important to understand programming language from problem solving perspective.

YOU MAY ALSO LIKE

Our Training Programs for Freshers

Our Training Programs for Freshers

Introduction: Emertxe is the leading training institute in Bangalore for Embedded Systems and IoT domains. It is a pioneer in training freshers since 2003 by providing excellent placement opportunities for freshers. Over the years 70000+ students have made their...

Difference between typedef and macro in C

Difference between typedef and macro in C

Introduction In any programming language, there are a set of keywords available, which can’t be used as variable name. It is because keywords are reserved and they have a special meaning. Keywords which are also called as reserved names can be anything like a command...

Emertxe and ESSCI launch Virtual Internships for Engineering students

Emertxe and ESSCI launch Virtual Internships for Engineering students

Emertxe, India’s premier embedded systems engineering finishing school, has provided more than 650+ students placements in 2019-20 alone. During 2020, amidst challenging pandemic times it continues to support students with placement opportunities and new programs via...

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *