Computer programming is the process of designing and building an executable computer program for accomplishing a particular computing task. Programming involves the following tasks: analysis, generation algorithms, analysis of algorithmaccuracy and resource consumption, and algorithm implementation of the chosen programming language (often referred to as encoding). The source code of the program is written in one or more languages that the programmer understands, rather than the machine code that is executed directly by the central processing unit. The goal of programming is to find a series of instructions that will automatically perform tasks on the computer (which can be as complex as an operating system) and are often used to solve a given problem. Therefore, the programming process typically requires expertise on several different topics, including application areas, specialized algorithms, and formal logic.
Program-related tasks include: testing, debugging, source code maintenance, implementation of the build system, and management of derived artifacts, such as machine code for computer programs. These may be considered part of the programming process, but often the term software development is used for this larger process, and the terminology programming, implementation, or coding is reserved for actually writing code. Software engineering combines engineering technology with software development practices. Reverse engineering is the opposite process. Hackers are any skilled computer experts who use their technical knowledge to overcome problems, but it can also mean security hackers using a common language.
Programmable equipment dates back at least to 1106, when Al-Jazari’s automaton can be programmed with hooks and cams to play various rhythm and drum patterns, while the 1801 jacquard loom can be changed by “program” – a series of belts There is a punched cardboard.
However, the first computer program usually dates back to 1843, when mathematicianAda Lovelace released an algorithm for calculating the Bernoulli number sequence, which was designed to be performed by Charles Babbage’s analysis engine.
In the 1880s, Herman Hollerith invented the concept of storing data in machine readable form. Later, a control panel (pad) was added to his 1906 Type I Tabulator, allowing it to be programmed for different jobs. By the late 1940s, unit recording devices such as the IBM 602 and IBM 604 were controlled. The panel is programmed in a similar manner, the same as the first computer. However, with the concept of a stored program computer introduced in 1949, programs and data are stored and manipulated in the same manner in computer memory.
Machine code is the language of earlier programs, written in the instruction set of a particular machine, usually in binary notation. The assembly language was quickly developed, allowing programmers to specify instructions in text format (for example, ADD X, TOTAL), each operating code has an abbreviation, and a meaningful name for the specified address. However, because assembly language is just a different symbol of machine language, any two machines with different instruction sets also have different assembly languages.
High-level languages make the process of developing programs simpler, easier to understand, and less restrictive to the underlying hardware. FORTRAN was the first widely used high-level language with functional implementation. It was introduced in 1957 and many other languages were quickly developed – especially COBOL for commercial data processing and Lisp for computer research.
Most of the program still uses a punch card or tape input. See computer programming in the era of punch cards. By the late 1960s, data storage devices and computer terminals became cheap enough to create programs by typing directly into the computer. A text editor has been developed that allows changes and corrections to be easier than punch cards.
Different programming languages support different programming styles (called programming paradigms). The choice of language used is influenced by many considerations such as company policy, suitability for tasks, availability of third party packages, or personal preferences. Ideally, the programming language that best fits the task at hand will be chosen. This ideal trade-off depends on finding enough programmers who know the language to build a professional team. Availability of the compiler for that language, and the efficiency of program execution in a given language. Language forms an approximate spectrum from “low level” to “high level”; “low level” languages are generally more machine-oriented and faster to execute, while “higher” languages are more abstract, easier to use, but faster to execute. Encoding in “advanced” languages is usually easier than coding in “lower” languages.
Alan Downey wrote in his book “How to Think Like a Computer Scientist“:
The details of different languages look different, but there are some basic explanations for almost every language:
Input: Collect data from a keyboard, file, or other device.
Output:Display data on the screen or send data to a file or other device.
Arithmetic: Perform basic arithmetic operations such as addition and multiplication.
Conditional execution:Check certain conditions and execute the appropriate sequence of statements.
Repeat: Repeat some operations, usually with some changes.
Many computer languages provide a mechanism for calling functions provided by shared libraries. If the functions in the library follow appropriate runtime conventions (for example, methods that pass arguments), they can be written in any other language.
Computer programmers are those who write computer software. Their work usually involves:
It seems we can’t find what you’re looking for. Perhaps searching can help.