Search
Solutions
Services
 
Home
Our Team
Portfolio
India Outsourcing
Technical Expertise
Process
FAQ’s
Featured Customers
Downloads
Corporate Profile
Read | Download PDF

Whitepapers
Read | Download PDF

 
 

Software Programming Process
Archives > Software Programming Process

Part 1: Computers & Their Languages

This article was written by a software professional at Stylus Systems, Bangalore India. We hope that you benefit from the information shared here and that you consider our services. Please feel free to email us.?

Computers & Their Languages
Programming may be roughly defined as the implementation of an algorithm in a computer language. This forms the basis of computer usage comprising mainly of two sections - Information management and word processing.

Why is programming necessary? Why develop algorithms? Why not just use the software available? Believe me, these are very common questions. We have software for just about everything these days. Even software that generates code. The answers would require more questions. Who makes this software? How are they made?

To answer these questions I will have to take you back to the very basics of computers. A computer is, very simply, a set of input, output and memory devices connected to a processor, all of which are connected to a power source. Programming is using the input devices to channel electric current through the required paths in the processor chip, access the memory and output devices and achieve the desired output.

The processor as you can imagine only accepts two kinds of inputs, one and zero, the existence or non-existence of a pulse. In the earlier days where the output consisted mainly of punched cards and so on, the input was also given in ones and zeros which is now known as the machine language.

But then as the hardware became more powerful and more complicated inputs came to play, an interpreter called the assembler was developed that was stored in memory. It could be given an instruction in English like words that would then be translated to the corresponding machine language command (or commands) and passed on to the processor.

This was a cycle that led to more and more powerful computers and languages. But still the basis remains the same. Every language comes with an interpreter that converts the language to the machine language. The more advanced ones now come with compilers, which make a file of all the interpreted machine language instructions called an executable (exe) file.

So as you can see, "which language is the best" is pretty much a rhetorical question. Each one has its advantages and disadvantages. The older ones (low level) are a lot more basic and hence take longer to code with. But they execute faster and have greater capabilities since one can directly interact with registers, ports and system memory. The high level languages are easier to use, have lots of in built functions (which execute a large set of instructions at once) and are good for large projects. But for the nitty gritty of systems programming, there's nothing like the good old assembler or maybe 'C' (which has often been called a middle level language).

Part 1 | Part 2 | Part 3

Back to top

 


Related Links on building an Online Community:

 
  Newsletter | Site Map | Development Scenarios | Partners | Careers | Archives
Copyright 2004 Stylusinc.com
  Links | Privacy Policy