
Nowadays computers have become
irreplaceable. We use them to solve complex problems at the workplace, look for
driving directions, have fun and communicate. They have countless applications
in the business world, the entertainment industry, telecommunications and
finance. It’s not an overstatement to say that computers build the neural
system of our contemporary society and it is difficult to imagine its existence
without them.
Despite the fact that computers are so
wide-spread, few people know how they
really work. In reality, it is not the computers, but the programs (the
software), which run on them, that matter. It is the software that makes computers valuable to the end-user, allowing
for many different types of services that change our lives.
How Do Computers Process Information?
In order to understand what it means to
program, we can roughly compare a computer and its operating system to a large
factory with all its workshops, warehouses and transportation. This rough
comparison makes it easier to imagine the level of complexity present in a
contemporary computer. There are many processes running on a computer, and they
represent the workshops and production lines in a factory. The hard drive, along with the files on it, and the
operating memory (RAM) represent the warehouses, and the different protocols
are the transportation systems, which provide the input and output of
information.
The different types of products made in a
factory come from different workshops. They use raw materials from the
warehouses and store the completed goods back in them. The raw materials are
transported to the warehouses by the suppliers and the completed product is
transported from the warehouses to the outlets. To accomplish this, different
types of transportation are used. Raw materials enter the factory, go through
different stages of processing and leave the factory transformed into products.
Each factory converts the raw materials into a product ready for consumption.
The
computer is a machine for information processing.
Unlike the factory in our comparison, for the computer, the raw material and
the product are the same thing – information. In most cases, the input
information is taken from any of the warehouses (files or RAM), to where it has
been previously transported. Afterwards, it is processed by one or more
processes and it comes out modified as a new product. Web based applications
serve as a prime example. They use HTTP to transfer raw materials and products,
and information processing usually has to do with extracting content from a
database and preparing it for visualization in the form of HTML.
Managing the Computer
The whole process of manufacturing products
in a factory has many levels of management. The separate machines and assembly
lines have operators, the workshops have managers and the factory as a whole is
run by general executives. Every one of them controls processes on a different
level. The machine operators serve on the lowest level – they control the
machines with buttons and levers. The next level is reserved for the workshop
managers. And on the highest level, the general executives manage the different
aspects of the manufacturing processes in the factory. They do that by issuing
orders.
It is the same with computers and software
– they have many levels of management and control. The lowest level is managed
by the processor and its registries
(this is accomplished by using machine programs at a low level) – we can
compare it to controlling the machines in the workshops. The different
responsibilities of the operating system
(Windows 7 for example), like the file system, peripheral devices, users and
communication protocols, are controlled at a higher level – we can compare it
to the management of the different workshops and departments in the factory. At
the highest level, we can find the application
software. It runs a whole ensemble of processes, which require a huge
amount of processor operations. This is the level of the general executives,
who run the whole factory in order to maximize the utilization of the resources
and to produce quality results.
The Essence of Programming
The essence of
programming is to control the work of the computer on all levels. This is done
with the help of "orders" and "commands" from the
programmer, also known as programming instructions. To "program" means to
organize the work of the computer through sequences of instructions. These
commands (instructions) are given in written form and are implicitly followed
by the computer (respectively by the operating system, the CPU and the
peripheral devices).
![]() |
To “program” means writing sequences
of instructions in order to organize the work of the computer to perform
something. These sequences of instructions are called “computer programs” or
“scripts”.
|
A sequence of steps to achieve, complete
some work or obtain some result is called an algorithm. This is how programming
is related to algorithms. Programming involves describing what you want the
computer to do by a sequence of steps, by algorithms.
Programmers are the people who create these instructions, which control
computers. These instructions are called programs.
Numerous programs exist, and they are created using different kinds of programming languages. Each language is
oriented towards controlling the computer on a different level. There are
languages oriented towards the machine level (the lowest) – Assembler for example. Others are most
useful at the system level (interacting with the operating system), like C. There are also high level languages
used to create application programs. Such languages include C#, Java, C++, PHP, Visual Basic,
Python, Ruby, Perl, JavaScript and others.
In this book we will take a look at the C# programming language – a modern
high level language. When a programmer uses C#, he gives commands in high
level, like from the position of a general executive in a factory. The instructions given in the form of
programs written in C# can access and control almost all computer resources
directly or via the operating system. Before we learn how to write simple C#
programs, let’s take a good look at the different stages of software
development, because programming, despite being the most important stage, is
not the only one.
0 comments:
Post a Comment