Wednesday, August 19, 2009

[19-Aug-09]: Concept of the day

Programming vs Coding

Reference:
_______________________________________________________

Recently I saw many people rejoicing over Pakistan being declared as one of a great outsourcing destination, and to many within the Pakistani software industry this is a big achievement but I am skeptical about it. Is it really a sign of progress for us or has hidden repercussions??
In my opinion being a great outsourcing destination is not much, the question that we must ask ourselves is where do we stand in the Computer Science research community? How many publications do we produce every year? The answer is of course highly unsatisfactory.
It makes me sad to say that our universities are producing coders but not programmers: many would argue with me saying they are the same but there is a world of difference between the two. The question was raised by my Professor Kyu-Young Whang in his Database class few months back and I really liked his answer:

“Programming is about design and attention to detail while coding is about knowing few tips and following them without much thinking.”

Coding is just mindlessly typing out computer commands, whereas programming is actively thinking about abstract solutions to a problem and then expressing it in code. To be a coder, you need to know the syntax, but to program, you need to understand various algorithms and data structures. Mathematics forms the core of good and efficient programming skills whereas for a coder mathematics is not of much importance. Students who are adept at math tend to perform better in computer science. They are better able to understand relationships in data, scientific computations, and algorithm design. This allows them to be better at solving problems and generating good designs from requirements and hence be a programmer. On the other side of the spectrum are the coders who just know about the language features and are aware of the features of the platform they are working for.
The harsh reality is that many of the graduates in the computer science field in Pakistan are just coders but not programmers. Many of them do not do justice to the computer science field since they either switch to MBA or they go for software development (database development, web portals, community websites etc) jobs doing monotonous work all along.
In the Computer Science community in Pakistan there is a lack of proper research being conducted and in my opinion one big reason for this is that Computer Science research needs programmers and not coders. The scenario in Pakistan is that many computer science majors, those desiring to eventually become computer scientists, programmers, systems analysts, computer hardware designers, networking specialists, or software engineers, do not have the background knowledge needed to succeed in their studies. Nor do many of them desire to get this necessary math background if there is any possible way to avoid it.
The programmers are the ones that invent thereby producing new researches in Computer Science and coming up with new, innovative ideas. Whereas coders do labor work just playing with some new technologies and enjoying the outside glimmers. After all Google was just another research with two brilliant programmers Sergey Brin and Larry Page coming up with a new algorithm of ranking. Why isn’t such research being produced in our country: answer is simple, I guess!!!

3 comments:

  1. Yes.. lack of research work in universities.... and lack of interest of people towards research..!! Even people dont know what they r doing...!!! Dont know even diff b/w IT and computer science.. dont even know what exactly a computer scientist iz... So sad :(

    ReplyDelete
  2. Very good question raised and I think industry’s integration with academic institutions plays a vital role in R&D. what we need is Industry’s collaboration with the academia and handing over real time problems to students. Actually everything is associated with each other, as we all know that most of the research in the field like ‘Artificial Intelligence’ is being done in defense industry and Pakistan’s defense industry is booming nowadays and bringing in private sector into it would bring R&D in CS.

    As far as MBA is concerned, having business knowledge is very much necessary to launch any idea and turning it into a commercial reality.

    ReplyDelete
  3. I agree to you both, its basically decision and investment that lacks from ministry of education.
    Govt. has never played their role in motivation for research as their much investment goes into promoting usability and freelancing labors. Owning researching culture is owning Country while selling products is called marketing for foreign. I myself suffered it and still suffering it but raising voice speaks for hope of VISION.

    ReplyDelete