Friday, October 12, 2012

Why should I learn programming language 'C' ?


A : Hey, What are you doing in Bangalore ?
B : I’m working as a Software Engineer.
A :  Is it so ?
B :  Yes, I’m working in ABC Group.
A :  But, You’ve only learned basics of embedded. Isn’t it?
B : Yes, I’ve worked on AVR platform and on Atmel’s Atmega 16 micro controller.
A : Have you made any project as well ?
B : Yes, I’ve made projects like line following robot, traffic light and to display various patterns on LCD.
A : Don’t make me fool, You’ve made a project of traffic lights so How can you work on any aircraft related project? How will you relate traffic lights and aircraft?
B : Wait, Let me explain !
A : Sure, & also explain me that why should I learn programming language ‘C’ ?

Here are the answers/explanation of the questions asked by A.

1. Have you observed a green and red color light at the tip of the wing and which keeps on blinking?
2. Have you observed the green and red color light on the belly of helicopter?
3. Have you noticed that once pilot achieves decision height so landing light automatically turns on?

Let me tell you that these lights are used as an indication and warning light and play a vital role in  landing at zero visibility. They also help in decision making like it helps a pilot to understand the direction of another aircraft. Click on the below mentioned links to understand the importance of such external lights. Approximately 99% of such lights are controlled using an embedded system.
Basics will always remain the basics irrespective of the fact that whether we are working on a F1 car or a F16 fighter aircraft. Have a look on major electronic device like a calculator,  microwave, washing machines, digital camera, display unit on AC buses, ATM machines and so on… They all are getting smarter day by day. This smartness comes from a microprocessor, an operating system and a program embedded in these devices. You’ll be surprised to know that these programs are written in programming language ‘C’.

Even though now a days we have automated tools to do programming and to help programmers to make an error free & high quality program so that it can be certified at the most rigorous levels yet if you don’t know the basics of programming so you can’t work on automatic tools as well. Developers of sophisticated applications such as those utilized in avionics, high-speed trains, nuclear reactors, automobiles and medical devices use such automated tools for automatic software development and to pinpoint programming errors.
Take any example starting from the automation of aircraft gate to critical navigation & auto pilot system. Everywhere we are using embedded system and thus it’s very necessary for an Avionics student to be familiar with programming concepts.

An open advice to all avionics students.
- Learn C, C++, Matlab
- Work on at least one embedded platform if not ARM or PIC so at least AVR.     



Search This Blog