What is A Programming Language – Part 1

What is A Programming Language – Part 1

What is A Programming Language?

In computing, a programming language is a formal language, with a lexicon, syntax and semantics well defined, used to control the conduct of a formal car, or an implementation of it (typically a computer).

Programming Language – History

The first programming language in history, excluding the mechanical language used for programming from Ada Lovelace to Charles Babbage’s machine, it is strictly speaking the Plankalk¼l Konrad Zuse developed by him in neutral Switzerland during the Second World War and published in 1946. But Plankalk¼l was never really used to program.

The programming of the first computer was made in rather short code [1], which then evolved the assembly, which is a symbolic representation of machine language. The only form of flow control is the conditional branch instruction, leading to write programs that are very difficult to follow logically because of the constant jumping from one point in the code.

Most programming languages then tried to cut oneself from this basic level, giving the ability to represent data structures and control structures wider and closer to a (human) to represent the terms of the problems for which it is intended to write programs. Among the first high-level languages to reach a certain popularity, there was Fortran, created in 1957 by John Backus, from which his later BASIC (1964):

In addition to conditional branch, made with the IF statement, this new generation of introduces new language structures, flow control, such as while and for loops and instructions CASE and SWITCH: so much decreases the use of jump instructions (GOTO), which makes the code more clear and elegant, and therefore more easy maintenance.

Fortran was created after the onset of a number of other programming languages history, which implements a series of innovative ideas and paradigms: the most important are the ALGOL (1960) and Lisp (1959). All programming languages that exist today can be considered descendants of one or more of these first languages, of which borrow many basic concepts, the last great progenitor of modern languages was Simula (1967), who first introduced the concept ( then just sketched) of software objects.

In 1970, Niklaus Wirth Pascal publishes the first structured language, for teaching purposes; in 1972 by BCPL birth before the B (quickly forgotten) and then the C, which however, was from the beginning a great success. The same year also appears to Prolog, so far the main example of a logical language, which although not normally used for industrial development of the software (due to its inefficiency) is a theoretical possibility very attractive.

With the first mini and microcomputers and research in Palo Alto in 1983 see the light of Smalltalk, the first truly and fully object oriented language, inspired by Simula and Lisp: as well be in use today in certain areas, Smalltalk is remembered for the enormous influence that he exercised on the history of programming languages, introducing the object-oriented paradigm in its first incarnation mature. Examples of object-oriented languages today is Eiffel (1986), C + + (which comes in the same year the Eiffel) and then Java, class 1995.

Basic concepts

All existing programming languages have (at least) these two key concepts:

* Variable: a data or a set of data, known or unknown, which is already stored or to be stored, for a variable is always, somewhere, a certain number (fixed or variable) of memory locations that are allocated, that is confidential, to contain the data. Many languages also attribute to the variables of a type with different properties (text strings, numbers, lists, atoms, etc.).
* Education: a command, function, or a descriptive rule: even the concept of education is highly variable between different languages. Regardless of the particular language, however, whenever an instruction is executed, the internal state of the computer (which is the real state of the machine or a virtual environment, theorist, created by the language) changes.

Some programming concepts are also present in most languages:

* Expression: a combination of variables and constants, connected by operators, the expressions were originally introduced to represent mathematical expressions, but then their functionality has been expanded. An expression is evaluated to produce a value, and its evaluation may produce “side effects” on the system and / or objects participating.
* Control structures, which allow to govern the flow of the program, altering the basis of the result of an expression (which can be reduced to the contents of a variable, or be very complex).
* Sub-program: a block of code that can be called from anywhere else in the program.
* Data structures, mechanisms for organizing and managing complex data.

Programming Source Code

Program in a given programming language usually means writing one or more simple ASCII text file, called source code. Fonts, colors and the overall look and feel are irrelevant to the program itself: why programmers do not use word processors, but the text editor (like emacs and brief) that instead offer advanced word processing ( regular expressions, conditional substitutions and research on multiple files, ability to call external tools etc.). If a given editor is able to work closely with other working tools (compiler, linker, interpreter, etc.), then more than a simple editor, it comes to IDE or integrated development environment.

It should be noted that some recent programming languages also allow a mixed form of programming, where the drafting of ASCII source code associated with operations to visual programming, through which the programmer describes some aspects of the program by drawing on the screen with the mouse, a ‘typical application of the latter form of programming is the design of interactive GUI program (windows, menus, and so on).

Continued : What is A Programming Language – Part 2