Sunday, February 1, 2009

You got Language Problem !

Many a times , we talk about what is a better approach to teach concurrent programming and a group of people say , lets just start teaching concurrent programming from the start and forget about sequential programming and it will help make students better programmers as they will think differently . Similarly , about the question that should C really be thought first or we start with python as its easy and later when students are comfortable with understanding constructs , teach them C and let them do memory management carefully by themselves .
For the first part of the question ... i was just reading about linear vector spaces for Quantum Mechanics and it struck me that , how about we start teaching kinderGarden kids , complex numbers as they are the super-set of Real numbers and then teach them real numbers. It will be a whole new approach for them to understand this world (much like teaching concurrent programming from the initial start !). So is it an absurd answers from me ? you can argue better .
Though there are universities in the world going ahead with teaching students concurrent programming before they even know how to write the Gawd program of "Hello World " in C . Lets see the results ! I mean when u dont know how one thread works exactly , how are you going to deal with a pool of them ? may be you can ? may be not !
And about the beginners language , i personally feel C is the one to be taught in the initial sems , though there is a lot of buzz of Java , but then one can't understand the subtle issues in programmng when you hava garbage collector to do work for you and you might be stuck in a prototype O-O Prgramming paradigm . I guess the conventional approach is best . To add , once Prof. RKK also agrred that C is a must, than Java . Well as far as i know , IIT-K , IIT-B professors have gone ahead with Java and IIT-M is still stuck with C. To be very precise , we are not in IIT , to learn the most exciting language , but understand the underlying science behind it , for which C is best suited .
I wanted to write about it as Prof. has brought it up in lectures quite a number of time and students had a varied opinion from it , i thought i should be also clear in black and white about this debatable topic


NG Srinivas said...

Hey, nice post.

One comment: put line breaks between your paragraphs ... else "you got language problem!" :D

abhinav narain said...

hehe sure !
just copy pasted from terminal ... seems something went wrong