Breaking

Sunday, April 29, 2018

What is Programming? / Why We Use Programming?


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