Live data from Hacker News

Teach Yourself C in 24 Hours (1997)

aelinik.free.fr

71–80 of 83 posts

Re: Teach Yourself C in 24 Hours (1997)

#71

I think there is a fundamental problem that isn't addressed in teaching people how to code. The problem is that every single course/book talks about the tools of the trade but not the art. Most books start with: - Variables - Loops - Functions ... etc. In doing so, it is simply overloading the student with syntax memorization and conceptual overload. It bothers me so much that very few books (Kernighan) talk about WH…

Along those lines, I think CS 106A from Stanford may be the best intro I’ve ever seen. It uses Karel the Robot, which is a kind of pseudo-code robot written in a Java environment. So you’re trying to use code to solve problems, and use code composition techniques to make it happen. For example, Karel can’t turn right, so you need turnLeft(); three times. But that’s a pain, so create a turnRight() method that tells Ka…

Sounds like that must have been the inspiration for Swift Playground for iPad, which is also a great teaching resource though aimed at kids. It uses the very same turnRight example.

Re: Teach Yourself C in 24 Hours (1997)

#72

I think there is a fundamental problem that isn't addressed in teaching people how to code. The problem is that every single course/book talks about the tools of the trade but not the art. Most books start with: - Variables - Loops - Functions ... etc. In doing so, it is simply overloading the student with syntax memorization and conceptual overload. It bothers me so much that very few books (Kernighan) talk about WH…

The Art of Computer Programming.

I have a boxed set sitting on my shelf, I'm told it is worth reading but I can't seem to find the time and motivation.

Re: Teach Yourself C in 24 Hours (1997)

#73
post #17

Earlier quoted context omitted.

I've never understood why anyone (in the day) would read anything other than K&R (or ANSI 89). Were those not good enough to learn C?

I read K&R when I was 15. It was definitely good enough. Platform specific books also helped a ton. I was into the Amiga at the time - '90 or '91 or so - and you really needed extra info to do anything interesting.

Same here, I was lucky enough to have a friend visiting the US just when I realized I needed the RKM books and got 3 of them (there was no Amazon, Ebay etc). They were absolutely fantastic!

Re: Teach Yourself C in 24 Hours (1997)

#74
post #4

I only opened the first chapter, but I certainly won't recommend a book where things such as "There are two types of programming languages: compiled language and interpreted language." are written.

If you would like to be really pedantic then the statement is true. There are many types of programming languages, and s language could be categorized into a "compiled language" category, an "interpreted language" category, or some other category. The statement did not claim that there are only two types of languages.

Re: Teach Yourself C in 24 Hours (1997)

#75
post #72

I think there is a fundamental problem that isn't addressed in teaching people how to code. The problem is that every single course/book talks about the tools of the trade but not the art. Most books start with: - Variables - Loops - Functions ... etc. In doing so, it is simply overloading the student with syntax memorization and conceptual overload. It bothers me so much that very few books (Kernighan) talk about WH…

The Art of Computer Programming. I have a boxed set sitting on my shelf, I'm told it is worth reading but I can't seem to find the time and motivation.

If you want a book to help get you started with TAOCP I've heard Concrete Mathematics is good. It's the math precursor to TAOCP (so if that's what's holding you back it could be helpful.) I haven't finished concrete mathematics yet though either :P so I can't tell you if it actually helps reading TAOCP. I would recommend knowing calculus, linear algebra, and discrete math before concrete mathematics. MIT OpenCourseware should have all those courses with Mathematics for Computer Scientists working as the Discrete Mathematics supplement.

I've never taken linear algebra so that is what is holding me back right now from continuing concrete mathematics. I bought Gilbert Strangs Linear Algebra book and it seems good so far, but I am busy with schoolwork now so I'll have to get back to it after I graduate in a spring.

Re: Teach Yourself C in 24 Hours (1997)

#76
post #17
post #3

This was one of the first books I read on C and programming I general! I remember I wasn't happy at all with it, so I gave up on it a bit after the middle. It must be pretty old.

I've never understood why anyone (in the day) would read anything other than K&R (or ANSI 89). Were those not good enough to learn C?

The reason for me was that I didn't know of its existence. I just though I want to learn C, so I'll just google "learn c free online book". With no mentors or peers, it's more difficult to find the way.

Of course, after some time I thought of googling "best book on c lang", and then I discovered K&R.

Re: Teach Yourself C in 24 Hours (1997)

#77
post #4

I only opened the first chapter, but I certainly won't recommend a book where things such as "There are two types of programming languages: compiled language and interpreted language." are written.

It stings but you can't get pedantic into these sorts of tutorials. Maybe he could [*] warning: crude classifaction, more to learn in these books

Yes that would ne better.

My point wasn't to get pedantic nor to criticize this particular sentence alone. I'm essentially saying that beginners' material could often be as easily comprehensible without the sort of "simplification" that actually says something wrong.

Re: Teach Yourself C in 24 Hours (1997)

#78
post #17

Earlier quoted context omitted.

I've never understood why anyone (in the day) would read anything other than K&R (or ANSI 89). Were those not good enough to learn C?

The reason for me was that I didn't know of its existence. I just though I want to learn C, so I'll just google "learn c free online book". With no mentors or peers, it's more difficult to find the way. Of course, after some time I thought of googling "best book on c lang", and then I discovered K&R.

That's funny! Back in the day we only had k&r and man pages...

Re: Teach Yourself C in 24 Hours (1997)

#79
post #72

Earlier quoted context omitted.

The Art of Computer Programming. I have a boxed set sitting on my shelf, I'm told it is worth reading but I can't seem to find the time and motivation.

If you want a book to help get you started with TAOCP I've heard Concrete Mathematics is good. It's the math precursor to TAOCP (so if that's what's holding you back it could be helpful.) I haven't finished concrete mathematics yet though either :P so I can't tell you if it actually helps reading TAOCP. I would recommend knowing calculus, linear algebra, and discrete math before concrete mathematics. MIT OpenCoursewa…

Thanks. I actually have a Ph.D. in mathematics. It's just that I dislike programming. I've done it, I don't like it. When I started using computers, knowing how to program was close to mandatory.

Re: Teach Yourself C in 24 Hours (1997)

#80
post #33

Earlier quoted context omitted.

Is C11 a plus though? It has features strongly diverging from C++ (e.g. struct initializers), and may only add confusion.

Flexible array members, designated initializers, compound literals, anonymous structs and unions, and many of the library features are pretty great. They more than pull their weight. I am glad the C11 committee put more weight on implementibility for C++ compilers than C99 did. Variable-length arrays in particular feel like the C99 committee decided to poke the C++ committee in the eye with a stick. (Given how the C+…

Thankfully all the silly ideas in C99 regarding security weren't adopted by C++ and became optional in C11.

Meaning VLAs that can blow the stack and memory related functions that still track pointer and size in disjoint variables.

Post reply on HN