3 ms·
Indeed, I currently get turned off by most books I pick up, simply because they start out on a too basic general level. If you however dig a little deeper you
by udoprog 15y ago
Indeed, I currently get turned off by most books I pick up, simply because they start out on a too basic general level.
If you however dig a little deeper you can usually find stuff that isn't too tutorialish. Like http://www.c-faq.com/top.html http://www.c-faq.com/top.html which has been an extremely solid resource for me.
- zedshaw 15y agoI'm hoping to make this book ramp up faster than LPTHW, since I'm assuming people have either read that book or know one programming language already. However, I'm also a big proponent of practicing the syntax even if you think you're an expert already. It just makes things way easier later on.
- nikcub 15y agohow about 'if you are proficient at another language, feel free to skip to chapter x'? and put the generalized stuff at that point
- zedshaw 15y agoIf you really are that proficient, you should be able to figure out what you can skip.
- regularfry 15y agoI'm not so sure about that. The devil's in the details - you might think you know something well enough to skip it, but get caught out later.
- irahul 15y agoSometimes due to language discrepancies, skills don't transfer and there is no easy "feel free to skip to chapter x". For example, a conversant Python programmer's idea of string, and strings in C are 2 different things. A conversant C programmers idea of looping is different from idiomatic looping in Racket(and other lisps).
- nikcub 15y agoactually you are right, it completely doesn't work in that example
- udoprog 15y agoMoving from Python to C is a very good move. It allows you to go from programming to inner workings, everyone should have a solid knowledge of C since it give you the tools to identify and correlate aspects of other languages to reality. I don't understand what "practicing the syntax" means (language barrier?), but I'm not suggesting that I've stopped learning, which I never will.
- irahul 15y agoDifferent people learn differently. Some people don't like to practice the trivial practice stuff, and prefer to breeze through the beginning, read through new material, and then take on some real project. Rich Hickey, recently in an interview, said he doesn't do programming exercises - he is not interested in programs which don't make the computer do something useful, interesting, or both. I, for one, type the trivial examples. Or else, I simply forget how to use them. For example, you have list comprehensions in Python, Racket, F# and if you ask me to do a list comprehension right now without looking up the reference, the only one I will get right is Python. I recently started learning F# and didn't type much code; so the concept is known, but since I didn't practice the syntax, I will have to learn it again. That's what he means by practicing syntax.
- udoprog 15y agoGot it. I wouldn't however say that the complexities of C is it's syntax (unless you're playing around with macros : ) ). But I guess the concept can be applied broadly, like remembering functions, headers and other language specifics.
- JoshTriplett 15y agoPersonally, I hope that this book will work for people who don't already know a programming language. C seems like a great first language to learn if only because (if taught well) it exposes a large number of the underlying details of how programs actually run on a system.