Basic language types
Nowadays programming languages are getting more general and all-purpose, but they still have their specializations, and each language has its benefits and deficiencies. We can distinguish a few basic types of languages, though many of them maintain more than one programming style.
ü Procedural
Procedural languages perform a sequence of statements that lead to a result. In order to solve a problem a procedural language expresses the procedure to be followed. Procedural languages generally use many variables, loops and other elements of "state", which recognize the difference between them and functional programming languages.
ü Functional
Functional programs usually make use of recursive functions and focuses on the return values of functions. Functional languages are thought to be simpler syntactically, which make it easier to work on abstract problems. However, their programming model complicates understanding of how the code is translated into machine language, therefore it can be problematic for system programming.
ü Object-oriented
Object-oriented programming considers the world as a collection of objects that have internal data and external means of accessing parts of that data. By means of object-oriented language, the problem is divided into a collection of objects to solve a particular problem.
ü Scripting
Scripting languages are often procedural and may include elements of object-oriented languages, but they refer to their own category. Scripting languages tend to require little syntax to get started but may result in making a mess.
ü Logic
Logic programming languages let programmers make declarative statements and then allow the computer to reason about the consequences of those statements. Logic programming, in a manner, does not tell the computer how to do something, but place constraints on what it should consider doing.
To call these categories "language types" is a bit improper. It's possible to program in an object-oriented style in C, or a functional style in a scripting language. Practically, most modern languages incorporate features and ideas from multiple domains, which only serve to increase the abundance and usefulness of these languages.
2. In the text above find the words and word combinations that mean the following:
· designed to be used for writing software in a wide variety of application domains;
· disadvantages;
· a class of functions that are defined using primitive recursion;
· a sentence used to state an argument a fact or an idea;
· misleading;
· a very large quantity of something;
· to make something more difficult to do, deal with, or understand;
· a mathematical quantity which can represent several different amounts;
· the rules that describe how words and phrases are used in a computer language.
3. Answer the following questions:
· Is there a perfect programming language without any defects?
· What do procedural languages perform?
· Do functional programs have complicated syntax?
· How is a problem solved in object-oriented programming?
· What features do scripting languages have?
· What do logic programming languages let the computer do?
· What is the function of multiple domains?
4. Listen to Matthew Brown, editor of LordMatt, on the following site http://cplus.about.com/od/introductiontoprogramming/p/programming.htm and answer the questions:
ü What is the C++ programming language?
ü Where is C++ used?
ü What are the benefits of C++?
5. Tell the partner about main features of basic types of programming languages mentioned in the text.
6. Read the text about some other programming languages.
Java is an object-oriented programming language that was designed to be portable and workable on as many platforms as possible. Therefore, Java can be found at the core of applications on and off the web, on all platforms, operating systems and devices. Nevertheless, Java is not a perfect programming language, as it got a lot of its syntax from earlier languages (C, C++).