• Complain

Informatik. - Programming languages and operational semantics: a concise overview

Here you can read online Informatik. - Programming languages and operational semantics: a concise overview full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: London, year: 2014, publisher: Springer London, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Informatik. Programming languages and operational semantics: a concise overview
  • Book:
    Programming languages and operational semantics: a concise overview
  • Author:
  • Publisher:
    Springer London
  • Genre:
  • Year:
    2014
  • City:
    London
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Programming languages and operational semantics: a concise overview: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Programming languages and operational semantics: a concise overview" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Informatik.: author's other books


Who wrote Programming languages and operational semantics: a concise overview? Find out the surname, the name of the author of the book and a list of all author's works by series.

Programming languages and operational semantics: a concise overview — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Programming languages and operational semantics: a concise overview" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Part 1
Preliminaries
Maribel Fernndez Undergraduate Topics in Computer Science Programming Languages and Operational Semantics 2014 A Concise Overview 10.1007/978-1-4471-6368-8_1
Springer-Verlag London 2014
1. Introduction
Maribel Fernndez 1
(1)
Kings College London, London, UK
Maribel Fernndez
Email:
Abstract
This book is concerned with programming languages. Programming languages are tools for writing software; they enable the user to communicate with the computer.
This book is concerned with programming languages. Programming languages are tools for writing software; they enable the user to communicate with the computer.
There are hundreds of programming languages in use in the world today. Many of them have evolved from older languages, and are likely to continue evolving in the future. In order to understand this plethora of languages and adapt easily to changes in the languages we are familiar with, it is useful to study the concepts underlying programming languages in general. We will study the main components of programming languages, and some of the tools that are used to describe in a precise way the behaviour of their main constructs. Our goal will be not only to understand how programming language primitives work but also to be able to describe their behaviour in a detailed and precise way. This is important in order to:
  • understand the differences between apparently similar constructs in different languages;
  • be able to choose a suitable programming language for each application;
  • increase our ability to learn new languages and our ability to adapt to changes in existing languages;
  • design new languages (not just programming languages: the general concepts underlying programming language design can also be applied to the design of other kind of languages, for instance, software modelling languages, languages to specify security policies, or user-interfaces for software applications).
In this book, we focus on general purpose languages as opposed to domain specific languages. General purpose languages are programming languages that can be used to program a variety of applications, whereas domain specific languages are special purpose languages designed to be used in specific domains. Special purpose languages include specific constructs to facilitate programming particular kinds of applications. For example, one of the first domain specific languages was GPSS (General Purpose Simulation System []), a markup language with programming capabilities. Domain specific languages usually have a narrow application domain, and have their own specific programming techniques and design methodologies, which cannot be easily compared with those of general purpose languages. Since our aim is to analyse the features of various programming languages in order to be able to understand their differences and make informed choices, in the rest of the book we will only consider general purpose languages.
1.1 Programming Languages and Software Engineering
Programming languages are used in several phases in the software development process: in the implementation phase obviously, but also in the design phase to describe the decomposition of the system into modules that later will be coded and tested.
There are various design methods in use, for example: top-down design, functional design, object-oriented design. Some languages provide better support for design methods than others:
  • Older languages such as Fortran (the first version was reported in 1954 []) do not support any specific design method.
  • More modern languages were designed to support a specific design method: for example, Pascal [] supports object-oriented design and programming.
If the design method is not compatible with the programming language in which the application will be coded, the programming effort increases. For large applications in particular, it is advisable to choose a design method and a programming language that are compatible. The style of the programming language should be reflected in the design of the software application. In this way, the design abstractions can easily be mapped into program components. For instance, we should think in terms of functions if we are going to use a functional language, or in terms of objects if we are going to use an object-oriented language.
1.2 Programming Paradigms
A programming language induces a particular style of programming and a particular set of methods and techniques to reason about programs, called a programming paradigm . Programming languages are usually classified according to the paradigm they support. The main classes of programming languages are:
  • Imperative Languages : Programs are decomposed into computation steps (also called commands, statements, or instructions), reflecting the step-wise execution of programs in usual hardware. Subprograms (also called routines, procedures, etc.) are used to build programs in a modular way. Programs written in imperative languages give accurate descriptions of how to solve a given problem. For example: Fortran, Algol [] and Java are imperative languages.
  • Functional Languages : Programs are functions, which can be composed to build new functions as in the mathematical theory of functions (the basis of these languages). This class of languages is also called declarative, since the focus is on what should be computed, not how it should be computed. Functional languages emphasise the use of expressions, which are evaluated by simplification. For example: Haskell, SML [], introduced by John McCarthy in the 1950s, is considered to be the ancestor of all functional programming languages.
  • Object-oriented Languages : Programs are collections of objects which can only be accessed through the operations (or methods) provided for them, and are usually hierarchically organised. For example: Java and Python are object-oriented languages. An object can be thought of as an entity combining data (fields) and operations (methods). In the object-oriented design methodology, the designer produces a hierarchical description of the structure of the system, which is the basis for the implementation in an object-oriented language. Object-orientation is sometimes considered as a feature of imperative languages, however, it can also be found in functional languages and it can be combined with logic languages too. Therefore we see it as a paradigm of programming in its own right. However, this class of languages is out of the scope of this book.
  • Logic Languages : Programs describe a problem rather than defining an algorithmic implementation. Again this class of languages is declarative, since the focus is on the specification of the problem that needs to be solved and not on how it is solved. A logic program is a description (usually using the language of first-order logic) of facts and properties about a problem. The most well-known logic programming language is Prolog [], which was designed by Colmerauer, Roussel and Kowalski in the 1970s. More modern logic programming languages combine logic programming and constraint-solving.
This list is not exhaustive. There are other classes of languages, for example, real-time programming languages, interaction-based languages, and scripting languages, such as JavaScript [] used in web programming. In this book we will focus on imperative, functional and logic languages.
1.3 Components of a Programming Language
A programming language has three main components:
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Programming languages and operational semantics: a concise overview»

Look at similar books to Programming languages and operational semantics: a concise overview. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Programming languages and operational semantics: a concise overview»

Discussion, reviews of the book Programming languages and operational semantics: a concise overview and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.