当前位置:网站首页>C language is the watershed between low-level and high-level

C language is the watershed between low-level and high-level

2022-07-06 16:04:00 Programming fish 66

As an ancient programming language ,C Language has been strong for decades , Beginners start with C Introduction to language , The university will C Language is regarded as a basic course . No matter how much people attack , How to sing bad ,C Language is standing ;Java、C#、Python、PHP、Perl There are alternatives , They can all fall , only C Language doesn't work .

Programs run in memory ( We will be in 《 Load memory , Let the program run 》 In the section ), A qualified programmer must know about memory , Study C Language is the easiest way to understand memory layout 、 The most direct 、 The most effective way ,C Languages are simply made for memory , It is closer to memory than any other programming language .

The so-called memory , It's what we often call memory modules , This is the thing below , I'm sure you've seen .

All the programs are doing their best to save memory , Are sparing no effort to improve memory efficiency , The whole process of computer development revolves around memory , Constantly optimize memory layout , To ensure that multiple programs can be run at the same time .

Don't know about memory , You can't learn processes and threads , I'm not qualified to play in medium and large projects , Not qualified to develop underlying components , Not qualified to build a system , You are destined to be a rookie , It's not going to be a climate .

I have a profound understanding of the above ! During my work, I focused on website development , Although it can design a beautiful interface 、 Experience good web pages , But for memory leaks 、 Multithreading 、 The underlying concepts like shared memory don't work , I feel that there is a big gap between me and my colleagues , It makes me very depressed , I don't know how to break through . I've tried many times to learn about memory and threads , I also found a lot of information , But in any case, I can't understand , At the end of the day, I'm still confused .

After I left, I operated full-time C Chinese language network , So I decided to system again 、 thorough 、 Learn... In an all-round way C Language , And combine C Language to learn some memory knowledge , This is when I found out , original C Language is made for memory ,C Language design and memory layout are closely linked , Because of my study C Language and have eaten through memory , Learn how computer memory is distributed and organized .

C Languages talk about memory all the time , Memory is just like a shadow , You have to study it .

The most important point is , I was able to combine memory with specific programming knowledge and the running process of the program , It is true that learning can be applied to practice , Let the concept land , Instead of talking , This is the rarest .

Another surprise is that , After conquering memory, I was able to understand processes and threads , It turns out that processes and threads also revolve around memory , To a certain extent , They also exist to make more efficient use of memory .

from C Memory to language , From memory to processes and threads , Interlocking : Don't learn C Language can't eat through memory , You can't eat through processes and threads without learning memory .

I feel like I'm sublimated in an instant , To a new height , Many of the previous mysteries have been solved , There is no barrier to communicate with the great God .

「 Memory + process + Threads 」 These basic computer concepts are the dividing line between rookies and gods , Only learning C To understand them thoroughly .Java、C#、PHP、Python、JavaScript Programmers will encounter bottlenecks after a few years of work , A lot of people will come back to study C Language , Take back the underlying concepts , Let yourself break through again .


The most common questions for beginners

Every walk is like a mountain , Beginners often don't know where to start , Very confused , Here are a few questions that I am often asked , Sum it up and share it with the readers .

1) How long can I learn to program ?

This is a question without an answer . The time everyone put in 、 Learning efficiency and foundation are not the same . If you spend a lot of time studying every day , Then you can learn in two or three months C/C++, In less than half a year, we can write some software .

But one thing is certain , It's absolutely impossible to grow from Xiaobai to a great God in a few months . To be outstanding , It can't be done without a few years . Learning programming is not a matter of reading a few books , You need to keep practicing , Write code , Accumulate scattered knowledge , The amount of code is directly related to your programming level , There are not tens of thousands of lines of code , There are no works that can be sold , How can it be called “ A great god ”.

This is how everyone programmers come here , At first, I was in a fog , It's hard to even output the multiplication table , Only through constant practice can we be familiar with , It's a process of strengthening the way of thinking .

Knowledge points can be understood in a short time , But the way of thinking and programming experience need to be constantly practiced to strengthen , That's why many beginners have learned C The basic concept of language , But still won't write code for the reason .

Programmers are jokingly called ” Code the agriculture “, The farmer who wrote the code , To be a qualified farmer , We must work hard on the ground .

Don't be too stressed , All programming languages are paper tigers , A layer of window paper , As long as I'm open , It's easy. .

2) Is it hard to learn programming ?

Programming is a technology , I don't know if it's hard or not , I only know that , As long as you want to learn , I'm sure I can learn . Technology is a layer of window paper , There is a reason to follow , in my opinion , It's easier than abstract art .

In the field of Technology , The threshold of programming is very low , There is a lot of information on the Internet , As long as you have a computer , A wire line , Junior high school education , You can learn , Invest in 5K about .

Whether it's technical or non-technical , If you want to be accomplished , You have to concentrate on , In a few years, Kung Fu won't stand out from the rest . So first ask yourself , Do you want to learn programming , Do you like? , If you think you're interested in programming , Want to know how software or websites are done , Then don't ask this question again , Just go and learn .

3) Not good at English and math , Can you learn ? Can I learn to graduate from junior high school ?

First of all, speak English . Programming requires that you have an English foundation , Junior high school level is completely competent . Programming originated in the United States , There are many words in the code , It's very easy to remember English , It doesn't matter if you don't know each other , I recommend that you install a dictionary , It's very good at delimiting words , Translate whatever you choose in time , Whether it's a sentence or a word . such , It's no problem that you develop common software .

Of course , If you want to achieve high attainments , Hope to be called the great God , Then read the technical materials in English ( Not all materials have been translated into Chinese ), Junior high school level is a little hard . however , Reading English for a long time will improve your English level , As long as you hold on for a while , Even if only junior high school level , I believe that with the help of Youdao dictionary, it will improve very quickly .

If you haven't learned English , I do not know! am、is、are, What should I say then , Where there is a will, there is a way. , As long as you want to learn , Believe that you can overcome the obstacles of English .

As for Mathematics , As long as you don't plan on Algorithms 、 machine learning / Artificial intelligence 、 big data / Data analysis , Will add, subtract, multiply, divide , Know the power 、 prescribing 、 Scientific counting and other basic concepts , Don't think of mathematics as an obstacle to learning .

4) What kind of computer do you need

If you are shy ,3K The desktops above ,4K The above notebooks can also be competent for , Of course, sometimes it gets stuck .

If economic conditions permit , best 5K The desktops above ,6K Notebook above .

If you want to be in the programming industry , Sooner or later, you should have a high-end machine . It will not only make your work more smooth and efficient , It also makes you feel that work is a kind of enjoyment , So a lot of programmers are equipped with MacBook.

5) Learn to program with Linux Do you

A lot of great gods say in contempt , I don't have to Windows, Have been using Linux, Only Linux So that you can see C The essence of ,C Is to Linux Born .

That's right , But you think about when you studied Windows How long did it take , At first, I couldn't even switch the input method , edit Word Documents don't either ; If you switch to Linux, You'll have the same problem , It will take a while for you to get familiar with Linux, Increased your learning costs , It will slowly kill your interest in programming .

So I suggest , You can Windows Lower learning C Language , No problem at all , If one day Windows Can't meet your learning needs , Then you switch to Linux, At this time you already know a lot about programming , The cost of switching is also low .


Pay attention if you like 、 Collection 、 Comment on 、 Forward a wave , Bi Xin Mo Da !

resources & More in-depth readings :

Open the mysterious channel to get information, click the link to join the group chat 【C Language /C++ Programming learning base 】:828339809

原网站

版权声明
本文为[Programming fish 66]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060919348834.html