Computer Programming is a process done by programmers to instruct a computer on how to do a task. At the very simplest level it consists of issuing a sequence of commands to a computer to achieve an objective. It is rather like a recipe; a set of instructions to tell a cook how to make a particular dish. It describes the ingredients (the data) and the sequence of steps (the process) needed to convert the ingredients into a dish. Programs are very similar in concept.
From the moment you turn on your computer, it is running programs, carrying out instructions, testing your ram, resetting all attached devices and loading the operating system. The operating system itself is a set of thousands of programs which took millions of human hours to write. Each and every operation that your computer performs has instructions that someone had to write in a computer programming language.
Types of ProgramsOlder computers, generally those with black and white displays and no mouse tend to run console applications. There are still plenty of these around. The other type is the GUI applications; these require a mouse and have a Graphical User Interface (GUI). GUI applications are seen on Windows PCs, Linux PCs and Apple Macs. Creating GUI applications is simplified by programming languages like Visual Basic and C#.
History of Computer ProgrammingJust as you speak to a friend in a language so you 'speak' to the computer in a language. The only language that the computer understands is called binary and there are several different dialects of it. Binary is unfortunately very difficult for humans to read or write so we have to use an intermediate language and get it translated into binary for us. The program that translates our programming language instructions into binary is called an interpreter. And just as you usually need a different interpreter to translate English into Russian than you do to translate Arabic into Russian so you need a different interpreter to translate different computer programming languages into binary.
The very first programmers actually had to enter the binary codes themselves, this is known as machine code programming and is incredibly difficult. The next stage was to create a translator that simply converted English equivalents of the binary codes into binary so that instead of having to remember that the code 001273 05 04 meant add 5 to 4, programmers could now write ADD 5 4. This very simple improvement made programming much simpler and these systems of codes were really the first computer programming languages. They were known as assembler languages and Assembler programming is still used for a few specialized programming tasks today. Even this was very primitive and still told the computer what to do at the hardware level - move bytes from this memory location to that memory location, add this byte to that byte etc. It was still very difficult and took a lot of programming effort to achieve even simple tasks.
Gradually computer scientists developed higher level programming languages to make the job easier. This was just as well because at the same time users were inventing ever more complex jobs for computers to solve. This competition between the computer scientists and the users is still going on and new languages keep on appearing.
Today's ProgrammingProgrammers these days write programs in high level language which is interpreted into the bytes that the computer understands. Technically speaking the programmer generates source code and the interpreter generates object code. Sometimes object code has other names like: P-Code, binary code or machine code. With advanced techniques like Objects and Multi-threading, modern programming languages have become powerful than ever before.
Every programming language has its strengths and weaknesses. The choice of which language to use depends on the type of computer the program is to run on, what sort of program it is, and the expertise of the programmer.
Learning to program is not rocket science and can be learned if you put in some time and effort. If you love programming then learning could be a breeze and there is the joy to finding out new ways to make something happen, or solving a particularly thorny problem.
Back to Visual Basic for Beginners