What is the idea of programming?

Source: Internet
Author: User

There is a very good concept called "Unknown Unknown", meaning that if you do not know a thing, you do not know that you do not know it.
  
It is well known that the mainstream programming idea that everyone is familiar with is still object-oriented programming, however, it does not exist only in this way. We should get used to doubting some of the established theories and methods of life and work, there is no conclusive theoretical basis for the emergence, we still have to believe that there are other circumstances, but we have not found it.
  
Object Oriented OOP
  
The most important feature of object-oriented programming is that you can write the data types you need to better solve the problem. A class is a collection that describes a set of identical attributes (attributes) and the same behavior (methods).
  
Abstraction has become one of the most important issues. For example, if you have a question, "How much does a brick have?" "As soon as we get the title, we will simply think about the most common ways of thinking in the brain, deciding to build a house and hit people ... We can systematically go from the various properties of the bricks to abstract, "cuboid, angular, hard, there is a certain volume, there is a certain quality, etc.", the same attributes of the relevant objects are the use of bricks, however, we can not be limited to itself, we may do some "operation" modification behavior, (size can be adjusted, Solids can become powder, angular can be polished, shape can be changed, etc.), for how to program, different language grammar is different, but the idea is so, we have to learn or programming behind the way of thinking, rather than the language itself.
  
Functional programming FP
  
Csuzi, and Turing's contemporaries ' genius, proposed the idea of lambda operator from an abstract point of view, when Turing's abstract design tended to be hardware, and he abstracted from a mathematical perspective, in which the abstract beauty emerged from the functional programming language of this flower. Although the essence originates from the abstract way of the lambda operator theory, some languages appear (Lisp,scheme,haskell ... Because the abstract way does not conform to people's thinking habits can not become the mainstream programming language. But these are still active in the computer science, the birth of Swift.
  
Functional programming is a mathematical-oriented abstraction, in the use of the feature is that you no longer know where the data came from, each function is to use small functions organized into a larger function, function parameters are functions, functions returned is also a function, the calculation is described as an expression evaluation, A functional program is an expression.
  
More content to discuss
  
The idea of recursion combined with the operator to understand.
  
Characteristics
  
Object-oriented:
  
Tightly coupled data and operation of the data
  
Objects hide implementation Details of their operations, and other objects invoke these operations only through interfaces.
  
The core abstract model is the data itself
  
Core activities are the combination of new objects and the expansion of existing objects, which are implemented by adding new methods.
  
Function Programming:
  
The data is loosely coupled to the function
  
Functions hide their implementations, language abstractions are functions, and functions are combined to express them.
  
The core abstract model is a function, not a data structure
  
The core activity is to write new functions.
  
Variable default is constant, reducing the use of variable variables, concurrency is good

What is the idea of programming?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.