Monday, May 24, 2010

What paradigms exist in computer science?

What paradigms are present in computer science? and how has this been affected by computer technology?

What paradigms exist in computer science?
A programming paradigm provides (and determines) the view that the programmer has of the execution of the program. For instance, in object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a sequence of stateless function evaluations.





Just as different groups in software engineering advocate different methodologies, different programming languages advocate different programming paradigms. Some languages are designed to support one particular paradigm (Smalltalk and Java support object-oriented programming while Haskell and Scheme support functional programming), while other programming languages support multiple paradigms (such as Common Lisp, Python, and Oz.)





Many programming paradigms are as well-known for what techniques they forbid as for what they enable. For instance, pure functional programming disallows the use of side-effects; structured programming disallows the use of goto. Partly for this reason, new paradigms are often regarded as doctrinaire or overly rigid by those accustomed to earlier styles. However, this avoiding of certain techniques can make it easier to prove theorems about a program's correctness -- or simply to understand its behavior -- without limiting the generality of the programming language.

stalk

No comments:

Post a Comment