What is Programming ?
Definition : 1
Programming is
the process of taking an algorithm and encoding it into a notation, a
programming language, so that it can be executed by a computer.
Definition : 2
The process of developing and implementing various sets of
instructions to enable a computer to do a certain task. These instructions are
considered computer programs and help the computer to operate smoothly. The
language used to program computers is not understood by an untrained eye.
Computer programming continues to be a necessary process as the Internet
continues to expand.
Although
many programming languages and many different types of computers exist,the
important first step is the need to have the solution.
Without an
algorithm there can be no program.
Computer
science is not the study of programming. Programming, however, is an important
part of what a computer scientist does. Programming is often the way that we
create a representation for our solutions. Therefore, this language
representation and the process of creating it becomes a fundamental part of the
discipline.
Why
We Use Programming ?
The purpose of programming is to create. The languages,
machines, compilers and interpreters are only tools, brushes to painters. Going
to work every morning except on saturday and sunday... That's a program. Sure,
it's more like training a neural net, but that's still a program. The computer
version of programming, (coding) is mostly used for process
automation/communication facilitation. But that's only because the tools
(programming languages) that we have now are so crude. And even then, there's a
lot of work being done at universities (don't know about industry) in terms of
ai/al/simulations that is very creation oriented.
Consider that there has been no real evolution in terms of
the way we program. Object oriented existed in another form in the 70's
(struct/function pointers in c), garbage collection is really not a new idea
(scheme, prolog). The only thing that has changed are the environments. And
even then, i hear xerox at palo alto used to have similar stuff in the 70's.
The rest is all functions.
How about a neural net based programming language, where a
program is really about defining training? How about a language designed for
parallel processing, or for web crawling? While there might be java
classes/perl modules for some of these, the whole point of the language is
abstraction.
No comments:
Post a Comment