
By means of object-oriented language, the problem is divided into a collection of objects to solve a particular problem. Object-oriented programming considers the world as a collection of objects that have internal data and external means of accessing parts of that data. However, their programming model complicates understanding of how the code is translated into machine language, therefore it can be problematic for system programming. Functional languages are thought to be simpler syntactically, which make it easier to work on abstract problems. Procedural languages generally use many variables, loops and other elements of "state", which recognize the difference between them and functional programming languages.įunctional programs usually make use of recursive functions and focuses on the return values of functions. In order to solve a problem a procedural language expresses the procedure to be followed. Procedural languages perform a sequence of statements that lead to a result.

We can distinguish a few basic types of languages, though many of them maintain more than one programming style. Nowadays programming languages are getting more general and all-purpose, but they still have their specializations, and each language has its benefits and deficiencies.
