Fri Dec 21 2018
What makes a programming language better for development?
Computer programming languages allow us to give instructions to a computer in a language the computer understands. Just as many human-based languages exist, there are an array of computer programming languages that programmers can use to communicate with a computer.
The portion of the language that a computer can understand is called a “binary.” Translating programming language into the binary is known as “compiling.” Each language, from C Language to Python, has its own distinct features, though many times there are commonalities between programming languages.
Although there are programmable machines that use a limited set of specific instructions, rather than the general programming languages of modern computers.
Thousands of different programming languages have been created, mainly in the computer field, and many more still are being created every year. Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform) while other languages use other forms of program specification such as the declarative form (i.e. the desired result is specified, not how to achieve it).
Here we are going to discuss the things that make a programming language better for development.
So, let's get started -
The description of a programming language is usually split into the two components of syntax and semantics.
Some languages are defined by a specification document, for example, the C programming language is specified by an ISO Standard. While other languages, such as Perl, have a dominant implementation that is treated as a reference. Some languages have both, with the basic language defined by a standard and extensions taken from the dominant implementation being common.
Traits often considered important for what constitutes a programming language include -
Function and target - A computer programming language is a language used to write computer programs, which involves a computer performing some kind of computation or algorithm and possibly control external devices such as printers, disk drives, robots, and so on.
For example, PostScript programs are frequently created by another program to control a computer printer or display. More generally, a programming language may describe computation on some, possibly abstract, machine.
It is generally accepted that a complete specification for a programming language includes a description, possibly idealized, of a machine or processor for that language. In most practical contexts, a programming language involves a computer; consequently, programming languages are usually defined and studied this way.
Abstractions - Programming languages usually contain abstractions for defining and manipulating data structures or controlling the flow of execution. The practical necessity that a programming language support adequate abstractions is expressed by the abstraction principle. This principle is sometimes formulated as a recommendation to the programmer to make proper use of such abstractions.
Expressive power - The theory of computation classifies languages by the computations they are capable of expressing. All Turing complete languages can implement the same set of algorithms.
Data structure - Markup languages like XML, HTML, or troff, which define structured data. Programming languages may share the syntax with markup languages if a computational semantics is defined.
Syntax - The syntax of a language describes the possible combinations of symbols that form a syntactically correct program. The meaning given to a combination of symbols is handled by semantics (either formal or hard-coded in a reference implementation).
Static semantics - The static semantics defines restrictions on the structure of valid texts that are hard or impossible to express in standard syntactic formalisms. For compiled languages, static semantics essentially include those semantic rules that can be checked at compile time. Examples include checking that every identifier is declared before it is used (in languages that require such declarations) or that the labels on the arms of a case statement are distinct.
Dynamic semantics - The dynamic semantics (also known as execution semantics) of a language defines how and when the various constructs of a language should produce a program behavior. There are many ways of defining execution semantics.
Type system - A type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. The goal of a type system is to verify and usually enforce a certain level of correctness in programs written in that language by detecting certain incorrect operations.
Standard library - Most programming languages have an associated core library, sometimes known as the 'standard library', which is conventionally made available by all implementations of the language. Core libraries typically include definitions for commonly used algorithms, data structures, and mechanisms for input and output. The line between a language and its core library differs from language to language.
Specification - The specification of a programming language is an artifact that the language users and the implementors can use to agree upon whether a piece of source code is a valid program in that language, and if so what its behavior shall be.
Implementation - An implementation of a programming language provides a way to write programs in that language and execute them on one or more configurations of hardware and software. There are, broadly, two approaches to programming language implementation: compilation and interpretation. It is generally possible to implement a language using either technique.
Operators - Operator in a computer programming language is a symbol which informs compiler/interpreter to conduct specific mathematical, relational or logical operations and yield final results.
Arrays - Almost all basic computer programming languages have a concept called array which is a data structure that can store a fixed size collection of elements of the single data type. An array can be conceived as a collection of variables of one kind. Arrays comprise contiguous memory locations whereby lower address equals first element and highest address, the last element. There are single dimensional arrays. An element is accessed by indexing the array name.
In any programming language, the most important thing to be studied is the environment setup. This serves as a base for programming.