Answer the question
In order to leave comments, you need to log in
The first book on programming
Hey Habr!
Which book is better to start learning programming from: "The C Programming Language \\ D. Ritchie" or "The Structure and Interpretation of Computer Programs (SICP) \\ H. Abelson"?
Confused, because a very important question for me. Thank you.
PS Student, 1st year. I study at the Faculty of Computer Systems and Networks.
Answer the question
In order to leave comments, you need to log in
Structure and interpretation of computer programs.
Start with it and you will definitely achieve heights in programming.
It is necessary to start not with a specific language, but with the principles of algorithmization. In fact, a programming language is not needed, you just need an understanding of algorithms and the ability to develop them.
I think you should start with "The C Programming Language \\ D. Ritchie". You simply run the risk of not understanding the context of computer architecture without trying to do something practical. I read the book, I liked it. The main thing is not only to read it, but also to do exercises from it.
T. Kormen “Algorithms. Construction and analysis”, preferably in the original.
A lot of what you read can be found in the order of learning in the source code of the Java, Go, or Python standard libraries.
This is atypical advice and in fact it broke the brains of many, at one time and us too, but ... try The Art of Programming by Donald Knuth. We understand the value of reading it only with time, it doesn’t just give something useful right away, but it pretty much corrects the brain in terms of correcting the way of thinking for programming ... But the book for the 1st course is heavy ...
ps: Ritchie is a classic. Mast riad.
Now you will be given a bunch of conflicting advice))
I will say from myself. I haven't read SICP yet. I read K&R in my freshman year and I think it helped me a lot. I advise it, especially if you have labs in a course like "Programming in a high-level language" (our subject was called that and in the second semester it was necessary to do labs in C).
Read both if you have time. Most likely, your lab work in the "programming" course is on something imperative, so K&R will help here. SICP will help to look at it from the other side at the same time.
Although, to be honest, K&R should be accompanied by a person who answers all questions, since from the first pages K&R pours terms like “floating point number”.
1)
I would advise you to read "UNIX software environment" by B. Kernigan.
The fact is that the programmer is first and foremost a user and only then a developer. If he uses his tools effectively, it will affect his results! This book shows you the best way to use the command line, which, as you know, allows you to automate a lot.
2) After reading item 1. I recommend "The Art of UNIX Programming" by Raymond.
This book shows the practical side of things. When should you optimize? What questions should be asked when choosing between text and binary data representation? When to hide the error stream from the user and when not? If you hide, then what to display? and many many other answers to questions that arise very often!!!
I dare to assure the approaches used in UNIX-like systems can be successfully applied in Windows. I'm on Windows 7 for the most part and what I've learned from these books is helping me a lot now!
Start with "Algorithms and Data Structures" by Wirth.
Then, in parallel, read “The C Programming Language” by Kernighan & Ritchie and Cormen “Algorithms. Construction and analysis”, performing examples and tasks in any language.
And only then move on to the heavier "Art of Programming" by Knuth and "SICP" by Abelson.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question