Flux rss
 

Programming languages

Programming languagesAPI / Framework

Programming language

A "programming language" is a language designed to describe a set of consecutive actions to be executed by a computer. A programming language is therefore a practical way for us (humans) to give instructions to a computer.

On the other hand, the term "natural language" defines a means of communication shared by a group of individuals (for example: English or French)

Languages that computers use to communicate with each other, have nothing to do with programming languages, they are referred to as communication protocols, these are two very different concepts. A programming language is very strict:

EACH instruction corresponds to ONE 
processor action.

The language used by the processor is called machine code. The code that reaches the processor consists of a series of 0s and 1s known as (binary data).

Machine code is therefore difficult for humans to understand, which is why intermediary languages, which can be understood by humans, have been developed. The code written in this type of language is transformed into machine code so that the processor can process it.

The assembler was the first programming language ever used. This is very similar to machine code but can be understood by developers. Nonetheless, such a language is so similar to machine code that it strictly depends on the type of processor used (each processor type may have its own machine code). Thus a program developed for one machine may not be ported to another type of machine. The term "portability" describes the ability to use a software program on different types of machines. A software program written in assembler code, may sometimes have to be completely rewritten to work on another type of computer!

A programming language has therefore several advantages:

  • it is much more understandable than machine code;
  • it allows greater portability, i.e. can be easily adapted to run on different types of computers.

Imperative and functional programming languages

Programming languages are generally divided into two major groups according to how their commands are processed:

  • imperative languages;
  • functional languages.

Imperative programming language

An imperative language programs using a series of commands, grouped into blocks and comprising of conditional statements which allow the program to return to a block of commands if the condition is met. These were the first programming languages in use, even today many modern languages still use this principle.

Structured imperative languages suffer, however, from lack of flexibility due to the sequentiality of instructions.

Functional programming language

A functional programming language (often called procedural language) is a language which creates programs using functions, returning to a new output state and receiving as input the result of other functions. When a function invokes itself, we refer to this as recursion.

Interpretation and compilation

Programming languages may be roughly divided into two categories:
  • interpreted languages
  • compiled languages

Interpreted language

A programming language is by definition different to machine code This must therefore be translated so that the processor can understand the code. A program written in an interpreted language requires an extra program (the interpreter) which translates the programs commands as needed.

Compiled language

A program written in a "compiled" language is translated by an additional program called a compiler which in turn creates a new stand-alone file which does not require any other program to execute itself, such a file is called an executable.

A program written in a compiled language has the advantage of not requiring an additional program to run it once it has been compiled. Furthermore, as the translation only needs to be done once, at compilation it executes much faster.
However, it is not as flexible as a program written in an interpreted language, as each modification of the source file (the file understandable by humans: the file to be compiled) means that the program must be recompiled for the changes to take effect.

On the other hand, a compiled program has the advantage of guaranteeing the security of the source code. In effect, interpreted language, being a directly legible language, means that anyone can find out the secrets of a program and thus copy or even modified the program. There is therefore a risk of copyright violation. On the other hand, certain secure applications need code confidentiality to avoid illegal copying (bank transactions, on-line payments, secure communications...).

Intermediary languages

Some languages belong to both categories (LISP, Java, Python...) as the program written in these languages may in certain cases undergo an intermediary compilation phase, into a file written in a language different to the source file and non-executable (requiring an interpreter). Java applets, small programs, often loaded in web pages, are compiled files, which can only be executed from within a web browser (these are files with the .class extension).

Some examples of widely used languages

Here is a non-exhaustive list of current programming languages:

Language Main application area Compiled/interpreted
ADA Real-time Compiled language
BASIC Programming for educational purposes Interpreted language
C System programming Compiled language
C++ System object programming Compiled language
Cobol Management Compiled language
Fortran Calculation Compiled language
Java Internet oriented programming Intermediary language
MATLAB Mathematical calculations Interpreted language
Mathematica Mathematical calculations Interpreted language
LISP Artificial intelligence Intermediary language
Pascal Education Compiled language
PHP Dynamic website development Interpreted language
Prolog Artificial intelligence Interpreted language
Perl Processing character strings Interpreted language
This document entitled « Programming languages » from Kioskea (en.kioskea.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the licence, as this note appears clearly.

Résultats pour Programming languages

Programming languages - Program structure A program's behaviour depends on the type of language used to write the program. Nonetheless, almost all programming languages are based upon the same principle: The program consists of a set of commands that the computer must execute. The computer... en.kioskea.net/langages/structure.php3
Programming languages - Characteristics There are many programming languages, each corresponding to specific needs (formula calculus, character string processing, real-time, etc.) with each having specific characteristics and functionalities. Therefore, the choice of programming language... en.kioskea.net/langages/langage-caracteristiques.php3
Programming languages - Computer program A computer program is a series of commands that are executed by the computer. However, the computer is only capable of processing binary, i.e. a series of 0s and 1s. Therefore we require a programming language to be able to write commands that the... en.kioskea.net/langages/programme.php3

Résultats pour Programming languages

JavaScript and Java Language are the same.Myth Reality Myth JavaScript and Java are thought to be same language or that JavaScript is believed to be some kind of lighter version of Java. Reality Java and JavaScript are two distinct programming languages, many people tend to be... en.kioskea.net/faq/sujet-443-javascript-and-java-language-are-the-same
CAML- Categorical Abstract Machine LanguageCAML- Categorical Abstract Machine Language Caml is the acronym for Categorical Abstract Machine Language. As mentioned, it is a machine programming language maintained by INRIA mainly used by computer. It has a high-performance native-code... en.kioskea.net/faq/sujet-307-caml-categorical-abstract-machine-language
Introduction to Dark BasicIntroduction to Dark Basic What is Dark Basic? Step 1: How to start? Step 2: How to create a simple menu? Key Features of Dark Basic What is Dark Basic? Dark Basic is an object oriented programming language that allows you to... en.kioskea.net/faq/sujet-483-introduction-to-dark-basic

Résultats pour Programming languages

Paypal, graphcard programsHello, what type of programming language skills an experience is needed to be able to develop a pay solution like paypal and grahcard (www.graphcard.com). i have passion for programming and development, i want help, thanks en.kioskea.net/forum/affich-31151-paypal-graphcard-programs
Need help for website creationHello, What should I do if I want to create some professional websites? Which soft wares should I do need to use? Which is the best programming language - ASP, ASP.NET, PHP, and JSP? I do not know about creating websites at all. Kindly guide! en.kioskea.net/forum/affich-14032-need-help-for-website-creation
TIMS applicationHi all! Could you give me some information about TIMS application (Trade Information Management System) last version currently in use and where? Programming language, Usual data base limits of the system, etc. en.kioskea.net/forum/affich-615-tims-application

Résultats pour Programming languages

Download Java Runtime EnvironmentJava allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D. These applications, written in the Java programming language and accessible from your browser, are called "applets".... en.kioskea.net/telecharger/telecharger-101-java-runtime-environment
Download Multilingual Speaking ClockMultilingual Speaking Clock is a free program which will transform your computer into a speaking clock capable of saying the hour in 25 different languages.You can program him to announce the hour in regular interval. The clock also has a function... en.kioskea.net/telecharger/telecharger-488-multilingual-speaking-clock
Download MIRCmIRC is a shareware IRC client, allowing the user to use so called Internet Relay Chat servers. Its specific features includes a powerful scripting language (scripting is typically a somewhat less powerful and less complex variation of programming),... en.kioskea.net/telecharger/telecharger-912-mirc

Résultats pour Programming languages

Microsoft sues over brand in Dutch programme curbing kids on InternetMicrosoft offices in Herndon, Virginia. Microsoft is suing a company run by a Dutch mother because it had started using a Microsoft domain title in computer programmes aimed at curbing children's use of the Internet. Software company Microsoft... en.kioskea.net/actualites/microsoft-sues-over-brand-in-dutch-programme-curbing-kids-on-internet-10303-actualite.php3

Résultats pour Programming languages

Programming languages - API An API (Application Programming Interface) is a set of functions allowing the programmer to access an application's services through the use of a programming language. An API provides the developer with an abstraction layer, which masks the... en.kioskea.net/langages/api.php3
HTML - Markups HTML is not a programming language. Rather, it is used for describing the layout and format of content, written in the form of simple text. An HTML page is a basic text file containing tags for specifying text format, images, etc. The use of these... en.kioskea.net/html/htmlbalise.php3
Programming languages - Instructions The instruction is the key element in the computer as it tells the processor which action should be performed. The instructions which are to be executed are indicated in the source file and the computer goes from one instruction to the next... en.kioskea.net/langages/instruction.php3