Elements of Programming Software

Programming languages

A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like human languages, are defined through the use of syntactic and semantic rules, to determine structure and meaning respectively. Programming languages facilitate communication on the task of organizing and manipulating information, and to express algorithms precisely.

Computer Programs

Most computer programs consist of a list of instructions that explicitly implement an algorithm. Another form of computer program lists the characteristics of the required data and leaves the algorithm selection to the computer to deduce the output, if any.

Software suites

A software suite, or application suite, is a collection of computer programs, usually application software and programming software of related functionality, often sharing a more-or-less common user interface and some ability to exchange data with each other smoothly. Sometimes, software makers will introduce "suites" that are a little more than repackaged versions of older programs, but at a lower price.

Integrated development environments (IDE)

An integrated Development Environment (IDE), also known as integrated design environment and integrated debugging environment, is a type of computer software that assists computer programmers in developing software. IDEs normally comprises a source code editor, a compiler and/or interpreter, build-automation tools, and (usually) a debugger.

Application programming interfaces (API)

An application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them.

Programming tools (text editors, compilers, interpreters, linkers, debuggers, etc…)

A programming tool is a program or application that software developers use, to create, debug, or maintain other programs and applications. The term usually refers to relatively simple programs that can be combined to accomplish a task, much as one might use multiple hand tools to fix an object.

A source code editor is a text editor program designed specifically for editing source code of computer programs by programmers. It may be a ‘standalone’ application or may be built into an integrated development environment (IDE).

A compiler is a computer program (or set of programs) that translates texts written in a computer language (the source language) into another computer language (the target language). The original sequence is usually called the source code and the output is called the object code. Normally the output has a form suitable for processing by other programs (e.g.: a linker), but it may also be a human readable text file.

An interpreter is a computer program that executes other programs. This is in contrast to a compiler which does not execute its input program (the source code) but translates it into another language, usually executable machine code (also called object code) which is output to a file, for later execution. It may be possible to execute the same source code either directly by an interpreter or by compiling it and then executing the machine code produced.

A linker or link editor is a program that takes one or more objects generated by compilers and assembles them into a single executable program.

No comments