Answer the question
In order to leave comments, you need to log in
What should any programmer know besides learning a programming language?
Recently, I decided to get serious about programming. I have already chosen the area for myself. The training plan, in general, was made. I sort of started going through tutorials on the language and writing code, however, at one point I realized that one code is not enough to understand programming, so the question arose about the very initial stage: what basic knowledge is needed before starting to learn any language? (or do it in parallel). And in what order should they be taught? So far, I have identified for myself such concepts as OOP, Fundamentals of Computer Science, algorithms, databases, data structures, functions and variables. In what order should I learn all this, please tell me. And if I missed something, be sure to correct me and add something of your own. Thanks in advance!
Answer the question
In order to leave comments, you need to log in
I have always been amazed by people who, having no knowledge at all, immediately choose an area for themselves and draw up an extensive plan, starting with OOP, having a database in the middle, and ending with variables .
No, purely theoretically, it is possible to study the entire abstract theory in this order ... But in practice it is unrealistic.
I programmed for 3 years at school. Then 5 years at the university. And only by the end of the 4th year I realized that I want to work in the field of mobile development. Before that, I was pinned by everything - OpenGL? Give me two, we'll try. Cuda? I don't care that the video card does not support the laptop, I'll read it for now, then sometime I'll stop. Lisp? Cool, mind blowing. Compilers? Cool, magic, want, write your own! And so on and so forth. I gave myself to every language that came my way.
So think about whether you really know everything about this area and about others in order to understand where you want to work.
Algorithms are needed first. Any program is an algorithm. Understanding computer architecture is required. You need at least a basic understanding of the OS. You need knowledge in some language. Two or three is better. Then everything is practical. DB, frameworks, patterns and more.
Destroymydreams ,
1. Learn English. The programmer is obliged to know English, without it, nowhere at all.
2. Start with the computer architecture. Have at least a general idea of what a processor, registers, memory are, how they interact with each other.
Dig a little deeper than "the processor is the "heart" of the computer, and the memory is where it stores data."
Get an idea of how a computer works with information, why binary code is used, why there are 8 bits in a byte, how a machine works with text, integers, what a floating point number is. How can this be written to memory/disk, what's the difference between big-endian / little-endian
Then algorithms - constants, variables, branches, loops, procedures, functions, recursion, etc.
Then programming languages - what are they, what is the difference, what are the strengths and weaknesses of each, what is more functional, declarative and imperative programming, what is the difference. Here you can also look at the basics of OOP and understand whether it is yours or not.
At this stage, try to write simple programs in each of the languages \u200b\u200bthat you like, especially read what each language was originally invented for and what are the areas of their application.
3. Decide on the language you want to learn (which you found easier, clearer and more understandable).
Further, already dig according to the specifics of your language. I think at this stage you will already have a clear understanding of what and how to study further.
Keep writing code.
Join free projects. You will pump skills, and you will bring benefits.
Read Fowler. With practice this will be very helpful.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question