Sunday, 20 October 2013

Introduction.

What is 'Paradigm' ?

According to me it's 'The Way of Perceiving' from which 'The Way of Thinking' emerges.

For example there can be 'Functional Programming Paradigm', 'Object Oriented Programming Paradigm', 'Medieval Paradigm', 'Modern Paradigm', 'Historical Paradigm', 'Eastern Philosophy Paradigm' etc....

What is 'Programming Paradigm' ?

A programming paradigm is a fundamental style of computer programming, a way of building the structure and elements of computer programs.

There are four main paradigms: imperative, functional, object-oriented, and logic programming.

i think i've discovered 'Objectional' Programming Paradigm, that is... partly Object-Oriented, partly Functional ;) .

Functional Programming Paradigm.

In computer science, functional programming is a programming paradigm, a style of building the structure and elements of computer programs, that treats computation as the evaluation of mathematical functions and avoids state and mutable data. Functional programming emphasizes functions that produce results that depend only on their inputs and not on the program state - i.e. pure mathematical functions. It is a declarative programming paradigm, which means programming is done with expressions. In functional code, the output value of a function depends only on the arguments that are input to the function, so calling a function f twice with the same value for an argument x will produce the same result f(x) both times. Eliminating side effects, i.e. changes in state that don't depend on the function inputs, can make it much easier to understand and predict the behavior of a program, which is one of the key motivations for the development of functional programming.

Functional programming has its roots in lambda calculus, a formal system developed in the 1930s to investigate computability, the Entscheidungsproblem, function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus, where computation is treated as the evaluation of mathematical functions and avoids state and mutable data.

In contrast, imperative programming changes state with commands in the source language, the most simple example is the assignment. Functions do exist, not in the mathematical sense, but the sense of subroutine. They can have side effects that may change the value of program state. Functions without return value therefore make sense. Because of this, they lack referential transparency, i.e. the same language expression can result in different values at different times depending on the state of the executing program. (because functions also depend on state or context, not only on function arguments).

Why it's worth to hire paradigmatists as programmers?

They can solve problems very well, for they can understand other person's viewpoint.

For paradigmatists solving problem using different computational model, paradigm, or idea is easier. Judging from my programming experience, main problem with professional programming is teamwork and understanding other people's ideas anyway (i think that everyone thinks little differently, perhaps except from Buddhas).

Mathematics.

i think Mathematics is important part of Programming, especially Functional Programming.

This blog will contain articles related with Mathematics & articles related with Functional Programming as well.


See also, if You wish: Paradigms & Programming Languages.

No comments:

Post a Comment