Computer Programming
The term programming means the implementation of software designs. Which programming language is used depends on the task at hand. Programming is the process of making a set of instructions that tell a computer how to perform a task.
The creation of computer programs:
Programming, i.e. the creation or implementation of computer programs, is a sub-area of software development. When programming, the software design is converted into source text. With some programming languages, translating the source text into the machine language, compiling into English, also falls within this area of responsibility.Certain languages are used for programming. With the help of these programming languages, the requirements formulated in the specification are translated into a language that can be understood by the computer.
Programmers are now often supported in their work by so-called code generators. They are able to automatically generate the program code based at least in part on models. Programming also consists of testing the created code (developer test) and preparing software documentation.
Programmers develop algorithms:
An algorithm describes how a certain type of task can be solved step by step. A well-known example is the Euclid's algorithm, which describes how the largest common divisor of two whole positive numbers can be calculated.Algorithms can be formulated in natural language, but such instructions are not usable for a computer. The reason for this is the ambiguity that characterizes natural languages. In order to make algorithms understandable for computers, a clear form of expression is required.
Programming languages are by no means as expressive as a natural language, but you can use them to tell the computer exactly and unmistakably what it should do. The programmer therefore not only has the task of developing a method for solving the given problem, but also has to translate the designed algorithm into a programming language.
The beginnings of programming:
Programming originated in the Analytical Engine, a mechanical computing machine, the description of which was published in 1837 by the British mathematician Charles Babbage. Six years later, mathematician Ada Lovelace added notes to this description.These “notes” included a tabular plan for calculating the Bernoulli numbers. This plan, which was drawn up about a century before the first computers, is now considered the first computer program ever. The first compiler was developed in 1949 by mathematician Grace Hopper.
The quality criteria of programming:
Certain quality criteria must be observed when programming. Which includes:- correctness
- robustness
- performance
- maintainability
“Correctness” refers to the program that runs perfectly and is therefore free of syntactic or semantic errors. A program is "robust" when it reacts sensibly to any errors. The quality criterion "performance" denotes the lowest possible consumption of resources, such as storage space or in terms of runtime. If the quality criterion of performance is met, the program is said to be efficient. The "maintainability" of a program is guaranteed if existing errors in the program code can be repaired quickly and precisely.
Programming Tools:
To be able to program, a simple text editor and a compiler or interpreter for the selected programming language are usually sufficient. In the meantime, however, programmers have access to numerous sophisticated tools that significantly simplify the programming process. These include, for example, editors that are equipped with special functions such as auto-complete or syntax highlighting.The transition from these text editors to the Integrated Development Environment (IDE) is fluid. With the so-called debuggers, there are also special tools that can be used for troubleshooting. Programs are also available with which static or dynamic tests can be carried out. The runtime behavior of the created program can be analyzed with a profiler.
More complex programs in particular are often created by several programmers. This collaborative programming of software generally uses versioning systems. These systems serve the purpose of storing the current program code as well as previous versions on a central server. All people involved in the development can access this.
Comments
Post a Comment