当前位置:网站首页>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
边栏推荐
- Research Report on market supply and demand and strategy of China's earth drilling industry
- 区间和------离散化
- If you want to apply for a programmer, your resume should be written like this [essence summary]
- 数据在内存中的存储&载入内存,让程序运行起来
- China's earthwork tire market trend report, technical dynamic innovation and market forecast
- 7-1 懂的都懂 (20 分)
- Research Report on market supply and demand and strategy of China's land incineration plant industry
- Luogu P1102 A-B number pair (dichotomy, map, double pointer)
- Opencv learning log 31 -- background difference
- 【练习-8】(Uva 246)10-20-30==模拟
猜你喜欢

入门C语言基础问答

X-Forwarded-For详解、如何获取到客户端IP

Optimization method of path problem before dynamic planning

【练习-7】Crossword Answers

D - function (HDU - 6546) girls' competition

7-1 懂的都懂 (20 分)

Essai de pénétration (1) - - outils nécessaires, navigation

渗透测试 ( 1 ) --- 必备 工具、导航

VS2019初步使用

Information security - Epic vulnerability log4j vulnerability mechanism and preventive measures
随机推荐
区间和------离散化
【练习-1】(Uva 673) Parentheses Balance/平衡的括号 (栈stack)
[exercise 4-1] cake distribution
[exercise-4] (UVA 11988) broken keyboard = = (linked list)
7-1 understand everything (20 points)
Find 3-friendly Integers
Opencv learning log 12 binarization of Otsu method
Research Report on surgical fluid treatment industry - market status analysis and development prospect prediction
Perform general operations on iptables
B - Code Party (girls' competition)
Ball Dropping
Interval sum ----- discretization
Research Report on market supply and demand and strategy of China's earth drilling industry
MySQL grants the user the operation permission of the specified content
Alice and Bob (2021牛客暑期多校训练营1)
基于web的照片数码冲印网站
Information security - threat detection engine - common rule engine base performance comparison
渗透测试 ( 1 ) --- 必备 工具、导航
Opencv learning log 30 -- histogram equalization
信息安全-史诗级漏洞Log4j的漏洞机理和防范措施