Feb
11
2011

What is source code?

Binary codes (photo by betsyweber - CC-BY)

(This is a guest post)

When we run an application on a computer, the computer “knows” what to do by stepping through a sequence of instructions. These instructions are very low level, and are stored internally in a binary “machine code”, represented by ones and zeros.

A programmer would have a hard time keeping millions of these ones and zeros (known as binary digits, or “bits”) in order. Fortunately, we have programming languages to bridge the gap between human language and machine code. When a programmer develops an application, he or she defines it using a programming language, rather than writing directly in machine code.

Decades ago a program was written which would translate from the human-readable abstractions of the programming language into machine code. Writing with human-sounding commands like “add”, “subtract”, “move”, “jump” made writing programs easier and more graspable. Now the programmer no longer had to bend their mind dealing with the masses of ones and zeros, and they could concentrate on the application they were writing.

Those old programming languages

were still quite clumsy and awkward, but they could be used as a tool to develop newer and better languages. And then again and again. This iterative process has brought us programming languages so abstract that they do not resemble the workings of the machine's brain. Today's programming languages resemble more and more the language that we speak.

We rely on computers to power our society. We use immensely useful programs written in increasingly flexible and accessible programming languages. A programmer “writes” these “source codes” which are then taken and translated by a “compiler” into “machine code” which the computer can understand. The millions of machine instructions, in their raw form, would be too bewildering for a human to comprehend.

Access to this source code is access to the technology, and is power. Companies that control the source code control the software running our society and are able to meter this resource. When a fault is found in the software that we rely on for our defense, medical care or communications, we are defenseless and are at the mercy of the companies that control the source code.

Open source software (where the source code is publicly available to anyone who wants to inspect it or modify it) alleviates the risks associated with closed source (proprietary) software, and allows software developers and distributors to profit from that software without holding society hostage by keeping the source code secret.

zp8497586rq
zp8497586rq

Related questions:

  • Do you have to be a geek to use Linux?Do you have to be a geek to use Linux?
    Do you have to be a geek to use Linux? Not at all, but the more comfortable you are with geeky things the better able you'll be able to deal with any problems that come up. But the same thing i...
  • What is free software?What is free software?
    Just as the English word "free" can mean "costing no money" or "liberated," so can the phrase "free software" refer to two separate categories of software. In popular usage, "free software" ...
  • If Dvorak keyboards are so great, why isn’t everyone using them?If Dvorak keyboards are so great, why isn’t everyone using them?
    Most of us are typing on keyboards that use a layout invented before 1870, before touch-typing was invented. We call it the Qwerty layout, because those are the first few keys on the top row of...
  • What is version control software?What is version control software?
    Version control software (VCS, also known as revision control software, RCM, and software configuration management software, SCM) is a tool used during software development to help track and co...
  • Can Someone Tell Me How to Decode a URL in an Address Bar?Can Someone Tell Me How to Decode a URL in an Address Bar?
    We tend to think of URLs -- Universal Resource Locators -- as a website's address on the internet, and I suppose that's the case. But if you look at the strings of text in an address bar, there's ...

  Need research? Quezi's researchers can answer your questions at uclue.com

Written by | 1,605 views | Tags: , , , ,

No Comments

Comments are closed.

RSS feed for comments on this post.


Privacy Policy | Acknowledgements