What is the best thing to learn first when getting started with computer programming? _What should you learn first when getting started with computers?

Preface

After reading the answers from other friends, I think their views are too limited and do not really get to the heart of the issue.

We might as well change a perspective and look at this question from a higher level: "What is the best thing to learn first when getting started with computer programming?"

The most important thing to learn when getting started with computers is Linux, not any programming language.

This article is 4,600 words, which is a bit long. If you can read it patiently, it may give you more thoughts.

1. Why?

Any programming language is just a tool, a tool that allows people to "communicate" with computers. The most important thing for people to learn programming is to learn the ideas and methods of solving problems, and the second is to use programming languages ​​to solve problems in life.

"Why were computers born? Why were programming languages ​​born?" In the final analysis, the emergence of these things just helps people better solve problems in life. Do you know why the world's first (electronic) computer was invented? The first computer was born because of " war ". In 1943, at the end of World War II, the M people were eager to solve the problem of "quickly obtaining the range and detection simulation calculation table of new weapons" in the process of developing weapons, and then invested in the construction of it. The first electronic computer ENIAC.

Insert image description here

Three years later (1946), ENIAC was built and put into use. People made new breakthroughs in the field of "computing". This marked a new stage in the process of human civilization. ENIAC was also mankind's first milestone in electronic computing. Thus enters the computer age.

With the development of computers, human beings are no longer satisfied with using computers simply for calculations. With the emergence and development of keyboards, mice, displays, operating systems, computer networks... computers have gradually evolved from "special-purpose" to "universal", and computers have slowly entered people's lives.

2. The emergence of programming languages

For computers to work for humans, humans’ intentions must be told to the computer. It is impossible for us to directly communicate with machines using natural languages ​​such as English and Chinese. The way people "communicate" with ENIAC is by manually moving switches and plugging and unplugging cables. Although calculating an arithmetic table is still laborious, it is much faster than previous machine computers.

It was discovered that the plugging and unplugging of computer switches can be abstracted into "0 and 1" in binary. Later, people used the "binary counting method" proposed by German mathematician Leibniz (the earliest origin of binary can be traced back to China's "Book of Changes"). Those who are interested can learn about it.) Introduced into the computer. Computers have a real language - machine language, which can also be called binary language.

At that time, engineers used numbers composed of strings of "0s and 1s" to communicate with computers. They were complex and difficult to learn, and it was extremely difficult to memorize and troubleshoot problems. Subsequently, assembly language (mnemonic language), which is more abstract than machine language, appeared. With mnemonics, humans can better remember the "instructions" for interacting with computers. The emergence of assembly language further simplified the programming process and reduced the cost. The difficulty of programming has been reduced, and now people can deal with computers more efficiently.

However, with different computer architectures, the assembly instructions used will be different. People wonder if they can invent a "universal programming language"? Subsequently, high-level languages ​​were born. High-level languages ​​are another abstraction of assembly language. High-level languages ​​are more convenient for people to use, easier to remember, and more versatile. People's "communication" with computers has also become more efficient.

Since the emergence of high-level programming languages, there have been hundreds or even hundreds of high-level programming languages ​​in the world in more than half a century. No matter what kind of high-level programming language it is, it will eventually be compiled into machine language to realize the interaction between humans and machines.

It can be seen that learning programming languages ​​only allows us to communicate with computers better and more easily, and let computers help us solve problems encountered in reality. Programming language is just a language that we use to communicate with computers. Just like when we communicate with people from country M, we need to learn a common language. It can be for Chinese people to learn English, or for people from country M to learn Chinese. Therefore, we should not be limited to what kind of programming language we should learn. If the problem is not solved fundamentally, the problem will never be solved.

If you want to learn how to get started with computer programming, the most important thing you should learn is how to use computer commands. Just like graphical programming, by splicing together code blocks and functional modules, a certain problem can be solved and a certain level can be passed. Similarly, we can use computer commands to control the computer to help us complete certain things and solve certain problems. Computer commands, like the development of programming languages, are derived from the continuous encapsulation and abstraction of the underlying layer, and are also how we "communicate" with the computer. a method.

Why should you learn Linux instead of learning Dos commands? This is based on the versatility and ease of use. If you are interested, you can also learn about Dos commands. Dos is a common command for Windows computers. If you don’t know what Linux is, then I can briefly educate you. Linux has almost built the entire Internet world today, including common routers, smart appliances, Android phones, self-driving cars, communication systems, operating systems, websites, and various programs. Applications... without exception, to a greater or lesser degree, use the Linux kernel or its derivatives.

The Linux command line is a shell (Shell) that we use to communicate with the computer or operating system. We enter simple and easy-to-understand commands into the Shell, and the Shell will pass our commands to the operating system. After the operating system interacts with the computer, it will Return the results to the command line. Shell can be seen as a translator to a certain extent, helping us use computers better. After using Linux, you may realize that what the graphical interface can do, the command line can do; what the command line can do, the graphical interface cannot do . Although this sentence is not absolutely correct, it reflects the essence and ingenuity of the command line.

After learning Linux (specifically the command line), learning any programming language is a matter of course. Let me give some examples:

3. ShellScript programming language

When you finish learning Linux commands, you will be exposed to Shell programming. You will want to write these simple and frequently reused commands into a file for easy use next time. This is where the ShellScript scripting programming language comes from, and before you know it you have learned a programming language. ShellScript is flexible and simple. As long as you have the basics of using the command line, learning ShellScript is very simple.

4. VimScript programming language

In the process of learning to write Shell scripts, an indispensable tool is the editor. You can write code through the editor and then save it into a file. There are many command line editors available in Linux, such as Vi, Nano, Vim, Emacs, Neovim...

I believe that when using Linux, you will definitely come into contact with the Vi editor, then the Vim editor, and then you will come into contact with Neovim. When you realize that Vim is the " God of Editors ", your programming concept will be one step closer. You will find that the editor also has "its own programming language." When you want to optimize the workflow of the Vim editor, in addition to using built-in options and plug-ins written by others, you can also use VimScript, a programming language exclusive to the Vim editor, to implement some custom functions and logic. In this way, a more convenient code editor can be realized.

5. Lisp and Elisp programming languages

If you have come into contact with Emacs, a powerful editor called " God's Editor " by programmers, then you will definitely use the Elisp language. Because Elisp is a programming language exclusive to Emacs, I believe that every programmer who gets into Emacs more or less wants to taste this "ancient programming language" and enjoy the pleasure of functional programming, and wants to use Org, a powerful Emacs Components, I originally got into Emacs for these reasons. Emacs is so powerful that it can do everything, such as making coffee, serving as a video player, music player, browser, playing games... Emacs is only one core different from the operating system . Therefore, many programmers jokingly call Emacs "the operating system hidden in the editor."

Insert image description here

As the second oldest high-level programming language in the world , Lisp was born in 1958. Fortran, the world's oldest high-level programming language, is only one year older than it. This programming language is like magic, magical and powerful, and has spawned more than a dozen "dialects" in the next half century.

Now it seems that Lisp is more like a family of programming languages, constantly evolving and prospering. Lisp is a programming language that goes hand-in-hand with artificial intelligence (Ai). Since the 1960s, Lisp language has been used for artificial intelligence programming. Subsequently, many dialects derived from it have also been deeply cultivated in certain fields. For example, Emacs Lisp is used for artificial intelligence programming. Lisp dialect for Emacs. Although the main programming language for artificial intelligence is Python, it does not affect Lisp's historical status at all. Even though it has quietly withdrawn from the stage of history in some fields, it has once again shined in other fields. If you want to select a classic among programming languages, then Lisp must occupy a place.

Therefore, if you want to taste Lisp, an ancient and prosperous high-level programming language with a certain magical color, it is recommended that you start learning from Elisp and start using the Emacs editor. After using it for a period of time, you will gradually fall in love with the interesting programming language Elisp and experience the "reverse Polish expressions" that are different or absent from modern high-level programming languages.

Insert image description here

6. Lua programming language

If you prefer "modern Vim", then Neovim must not be missed. Starting from version 0.5, Neovim officially uses the Lua programming language as the first-class language of Neovim, providing a rich API interface. Although Neovim is a branch of Vim, as the Neovim community continues to grow, Neovim begins to pursue a broader sky. It not only inherits the excellent genes of Vi and Vim, but also develops towards power, ease of use, and modernization.

If you are a programmer in game development, you must be familiar with Lua. This is a scripting language that is easy to learn, compact, flexible, and easy to expand. If you want to develop plug-ins for Neovim, if you want to write game logic, then you will definitely come into contact with and use the Lua programming language.

7. C Programming Language

Of course, if you want to understand computers in depth, C language is a must-learn. This is the only way to enter the computer world. Because most of the computer textbooks and classic books on the market are described in C/C++ language, and the Linux kernel is also written in C language. When you really want to understand the operating system and the programming philosophy and design philosophy of Linux, then At this time, a certain C language foundation is required. Of course, this step must be done after you have experience using Linux, otherwise you will have a very difficult time learning.

When you learn C language, you will have a deeper understanding of the design and principles of many high-level programming languages. C language is worthy of being your second key to the door to the programming world. There is a saying that goes like this: One life is two, two begets C, and C begets all things . All things originate from C. For this evaluation, the C language really deserves its reputation.

8. Go programming language

There are many programming languages ​​​​that were originally written in C language, and then bootstrapped and no longer relied on C language, such as my favorite programming language-Go.

9. Rust programming language

This is a modern system-level programming language comparable to C/C++. This language was born almost at the same time as Go. They are both new-age programming languages, and their positioning is still different from Go. Interested friends can also learn about this language. This language may replace C++ in the future. Perhaps in the near future, this language will become as popular as C++ and Java. It is only a matter of time. If you want to learn a relatively new language, Rust may be worth your investment. It represents endless possibilities for the future.

10. Summary

After my examples, you should understand why I recommend you learn Linux first when getting started with programming. Sooner or later, you will come into contact with programming languages. The basic things are eternal. Just like the nine-story tower rises from the ground, master the use of Linux commands, learn ShellScript, C/C++, Java, Python, Go, Lua... Many programming languages ​​just come naturally. When you use a Linux command for a long time, you will think about how to implement this function if you use other programming languages. Only with a target can you learn programming languages ​​​​with a clear goal.

I hope this article that I wrote for a long time can give you some inspiration. It is easy to learn programming languages. The idea of ​​learning programming is the sea of ​​stars that has been explored.

About Python technical reserves

Learning Python well is good whether you are getting a job or doing a side job to make money, but you still need to have a learning plan to learn Python. Finally, we share a complete set of Python learning materials to give some help to those who want to learn Python!

1. Python learning route

Insert image description here

Insert image description here

2. Basic learning of Python

1. Development tools

We will prepare you with the necessary tools you need to use in the Python development process, including the latest version of PyCharm installation and permanent activation tool.
Insert image description here

2. Study notes

Insert image description here

3. Learning videos

Insert image description here

3. Essential manual for Python beginners

picture

4. Python practical cases

Insert image description here

5. Python crawler tips

picture

6. A complete set of resources for data analysis

Insert image description here

7. Python interview highlights

Insert image description here

Insert image description here

2. Resume template

Insert image description here
Insert image description here

Data collection

The complete set of Python learning materials mentioned above has been uploaded to CSDN official. If you need it, you can scan the CSDN official certification QR code below on WeChat and enter "receive materials" to get it.

Insert image description here

Guess you like

Origin blog.csdn.net/xiqng17111342931/article/details/132996912