Are C, C++ and Java Unfit To Be Taught To Students? — To ‘C’ or Not To ‘C’

Posted on August 7, 2010 in Learning+

By Aashu Anshuman:

The past couple of decades have seen the rise and rise of Information Technology as an industry throughout the world. It would be an understatement if I say that India has not remained untouched by this digital revolution. It has indeed been touched and how! Today, IT has become the largest contributor to the foreign exchange reserves of the country. And along with the rise of this sector has come the realisation that India needs more of this trained manpower which has come to be recognised as India’s primary export.

Presently, computer programming and information technology courses are an integral part of the syllabi of nearly all the schools and colleges in India. Students across the country are taught the fundamentals of computer programming through such well-known and trusted languages as C, C++ and JAVA. The nature of these languages is such that for many students programming ends up being more about writing the code (which is indeed important) than understanding the logic behind the algorithm of the program. Moreover, generally students find the code to be so confusing, they end up mugging all of it up and reproducing it, without any further ado, on their answer sheets. So, now, I believe, another realisation is due: that there is something wrong with the means being used to achieve the goal of making India a software superpower.

C became popular because of its efficiency which came from its low-level approach. C++ shot to fame because it offered higher-level programming without compromising on C’s efficiency. Java was developed to improve upon C++’s high-level features and with the aim of providing a language which was platform-independent. The aforementioned languages are usually called the ‘corporate’ languages by many programming pundits. The reason being that these languages are the ones most widely used by nearly all software companies; and over time, have been tailored to suit the needs of such businesses. As a result these have grown even more complex and exceedingly verbose with time. Moreover, most of these languages were developed by researchers working with technology giants with some specific purposes in mind. Later, the success and widespread popularity of these languages resulted in their inclusion in the school syllabi around the world and India, pretty much according to the rule of demand and supply. But for educational purposes, the very strengths of these languages become their biggest flaws. The kind and number of features offered by these languages generally overwhelm the novice programmer, the result being that the newbie is too fazed to learn much during the couple of years of programming education he receives in school.

Several universities around the world have now acknowledged this mistake they made several years ago and shifted to languages like Python and Ruby which are much easier to learn and write basic programs in. In fact, Python has emerged as the language of choice in schools in countries like the USA. The reason behind this major change is that the teachers are looking for a language which does not hassle the students while converting the algorithm into code. This enables them to concentrate on the more important nuances of programming rather than worry about the 27 or so errors the code supposedly contains according to the compiler.

I am not trying, in any way, to question the usefulness of these programming languages or label them as redundant. In fact, C, C++ and JAVA are among the most efficient and powerful programming languages around. The kernel of Windows Vista was completely written in C; C is a necessity for UNIX system administrators; and most programs for mobile phones are now written in Java. What I want to say is that these languages are not outdated or incapable, just unfit for teaching the fundamentals of programming to beginners. So the question is not whether “To C or Not to C?” but “When and Where to C?”.

The writer is a Correspondent of Youth Ki Awaaz.

Youth Ki Awaaz

India's largest platform for young people to express themselves on critical issues - making best use of new media and online journalism.

Submit Your Story

Comments

You must be logged in to comment.

If you sign up with Google, Twitter or Facebook, we’ll automatically import your bio which you will be able to edit/change after logging in. Also, we’ll never post to Twitter or Facebook without your permission. We take privacy very seriously. For more info, please see Terms.

  • Tweets that mention Are C, C++ and Java Unfit To Be Taught To Students? — To ‘C’ or Not To ‘C’ -- Topsy.com
  • Tanya

    Interpreted vs compiled, dynamic typing, minimal scaffolding and dynamic code loading is a big productivity win for Python/Ruby and Ruby OO completeness over Java dichotomy between primitive types vs objects is a big win for Ruby, less …so for Python. As for C..the preference is only because of its closeness to system calls and OS..and its high time the schools and college realize the need for change. Python/Ruby are much more faster in development and I guess..in terms of programming..static typing correctness and faster execution are the only few advantages of C/C++/Java over them..

    Himanshu

    idonot agree with this post…sayin dat c c++ java or any other language is unfit for teaching to school children is baseless and utter nonsense…Its the teachin method dat is wrng…..teachin a language lik java in 1 semester or 1 year in school is not dne…start teachin the fundas from the begining…java is user friendly language…converting an algo into codin can be easily dne thru these languages…any one with brains and eagerness to use them can easily master such languages…

    Dharamveer

    Nice enlightening and freshening post, throwing light once again on the dark shallows of indian education system. I strongly agree with the post, i would like to add that, the lack of knowledge of more practical usage languages such as Python, PHP is more important and would help industries and companies spend more on developing rather than teaching the raw brain of Indian graduated Computer Science students. I would like to here inform Mr. Himanshu that he needs to get out of the pond and look at the broader ocean awaiting him.

    Similar Posts

    #StartTheChange

    Submit your story