[about learning programming] what we need to learn is programming, not programming language!


We are not only programmers, but also learners. What’s rare is how many people think they’re learning programming.

You may be learning the programming language, not the programming itself

Don’t be surprised by the statement that learning computer science (CS) is not studying computers. On the contrary, learning CS is the study of automatic problem solving. It is computer science, not programming, that solves the problem. That’s why many CS students don’t seem to understand why they want to learn algorithms and mathematics.

If you had taken CS courses before, you wouldn’t be surprised by what I said here. Because you will notice that programming has little to do with programming language.

However, most self thinking programmers fall into the trap that we have spent a long time learning programming languages when we realize that what we really want to do is programming. I am a victim myself.

I spent more than ten years learning various programming languages. The more I learn, the harder it becomes to build something simple. I always have the feeling that I haven’t found the right tool. However, the problem is that when I don’t realize what I want to do, I forget to find the right job rather than the right tool.

And the strange thing is: programming languages are always evolving. Programming languages change almost every day, and it’s hard for us to keep up with them. However, most excellent programs use only a small part of the programming language.

Learning a programming language is like learning how to use woodworking saws, hammers and various cutting machines before learning carpentry. Carpentry needs attention: ideas, feasibility analysis, measurement, testing and user behavior. The old carpenter is more interested in the precautions mentioned above than hammers and nails. During his scientific research on his work, he will also spend time checking the quality of nails, coloring boards and wood.


What is the difference between learning programming and learning programming language

The program setting system can run freely only by instructing it once. We do it every day. We tell our children, soldiers and customers. We give them or ourselves instructions to live freely / independently. For example, your parents don’t need to pay attention to you every day and guide you to the next step in life. They could have set it for you in all aspects of your life.

Many schools and educational websites will teach you the grammar of programming language. They will add design patterns (when you ignore design), mathematical calculations, how to declare variables and use them, data types, and how to declare / create them.

These don’t teach you reasoning. Through the above ways, you will learn some reasoning methods, but before long, you will realize that you have wasted or spent a long time learning programming.

We solve problems through programming, and programming language is just a tool to help us. Programming languages are like tool boxes. We call them frameworks. They help us organize our ideas.

If you’re learning programming, but you can’t design and code a real application, then you’re learning more programming languages than programming.

How many times have we met people (programmers) who want to know how to create programs. For these programmers, creating a program is to solve a problem. They solved this problem through critical analysis when using programming language. But when you solve this problem, you can use a variety of programming languages to implement it. Let’s take the square number as an example. The square of a number is the number multiplied by itself. We can implement it in various languages, as follows:

# c

function square(int * x) {

    return x * x;


# php

function square ($x){

    return $x * $x;


# javascript

function square(x){

    return x * x


# In Scheme (a Lisp dialect)

(define (square x) (* x x))

Above, you can see that there are only differences in syntax in the implementation, and the result is the same. This is also an important reason why you can use any language, which makes it easy for you to build any type of software.

It’s easier to find languages through programming

The problem is usually human language. Human language is full of limitations and errors. It can’t be used to guide the machine because the machine can’t receive it.

When learning programming, you will learn a new term and tool to help you write a logical way that is understood and recognized by computers and other programmers.

Usually, you will start with simple symbols that are similar to human language, called pseudo code. It is a good transition tool from human language to computer programming language. This is usually to prevent you from wasting time on language. So you can focus on reasoning.

In this way, you will find that the core part of a good programming tool (Language). You understand what is needed and understand the core goals of programming languages. Through understanding, you will unconsciously learn this language.

Have you learned a lot of new knowledge here~

If you really want to learn programming, Xiaobian recommends meClick [C + + language learning] / to enter the C + + programming base!

It’s all about learning programming, guys. It’s still simple to take you in. Learn together and cheer together~

There are many learning materials and videos, I believe you will like it!

Involving: game development, common software development, basic programming knowledge, curriculum design, hackers, etc



Recommended Today

JS generate guid method

JS generate guid method https://blog.csdn.net/Alive_tree/article/details/87942348 Globally unique identification(GUID) is an algorithm generatedBinaryCount Reg128 bitsNumber ofidentifier , GUID is mainly used in networks or systems with multiple nodes and computers. Ideally, any computational geometry computer cluster will not generate two identical guids, and the total number of guids is2^128In theory, it is difficult to make two […]