![]() ![]() ![]() It has to be used either as the final output or immediately as the parameter value of another function. The return value cannot be stored for later use. Each function will take a number of values as input (parameters) and produce a single return value (output of the function). The main difference is that there is no concept of memory locations in functional programming languages. ![]() However, since functional programming is very different from imperative or object-oriented programming, and most programmers first get used to writing programs in imperative or object-oriented paradigms, it becomes difficult to switch to functional programming. Since we express computation in mathematical functions in many of the mathematics courses, functional programming is supposed to be easy to understand and simple to use. The functional, also called the applicative, programming paradigm expresses computation in terms of mathematical functions. Typical object-oriented programming languages include Smalltalk, C++, Python, Java, and C#. Objects are considered the main building blocks of programs, which support language features like inheritance, class hierarchy, and polymorphism. The access privileges of variables and methods (operations) in objects can be defined to reduce (simplify) the interaction among objects. The object-oriented programming paradigm is basically the same as the imperative paradigm, except that related variables and operations on variables are organized into classes of objects. Typical imperative programming languages include all assembly languages and earlier high-level languages like Fortran, Algol, Ada, Pa scal, and C. The stored program concept will be further explained in the next chapter. The foundation of imperative languages is the stored program concept-based computer hardware organization and architecture (von Neumann machine). Finally, the values of variables are sent to the I/O devices as output. In other words, data or values are initially stored in variables (memory locations), taken out of (read from) memory, manipulated in ALU (arithmetic logic unit), and then stored back in the same or different variables (memory locations). The imperative, also called the procedural, programming paradigm expresses computation by fully specified and fully controlled manipulation of named data in a stepwise fashion. The major paradigms we will study in this text are imperative, object-oriented, functional, and logic paradigms. In programming languageās definition, paradigm is a set of basic principles, concepts, and methods for how a computation or algorithm is expressed. Based on their similarities or the paradigms, programming languages can be divided into different classes. Some programming languages, however, are more similar to each other, while other programming languages are more different from each other. This is because different programming languages share the same mathematical foundation (e.g., Boolean algebra, logic) they provide similar functionality (e.g., arithmetic, logic operations, and text processing) they are based on the same kind of hardware and instruction sets they have common design goals: find languages that make it simple for humans to use and efficient for hardware to execute designers of programming languages share their design experiences. Compared to natural languages that developed and evolved independently, programming languages are far more similar to each other. 1.1 Introduction 1.1.1 Programming concepts and paradigms Millions of programming languages have been invented, and several thousands of them are actually in use. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |