Live data from Hacker News

Teach Yourself C in 24 Hours (1997)

aelinik.free.fr

61–70 of 83 posts

Re: Teach Yourself C in 24 Hours (1997)

#62
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?

When I was a kid you had maybe 2-3 books on C at the local bookstore, and they were all terrible. But sometimes they came with a (crippled or obsolete) compiler, so that was a huge plus. The book I learned from was C in 12 lessons by Greg Perry, which I found is still on the shelves to this day, 25 years later. Terrible book. The bad part is you don’t learn how to do anything other than little bit of simple input and…

Back in the 80s, "Program in BASIC" didn't exist (well, maybe). You had "Program BASIC for the Atari 400/800" or "Learn BASIC for the Commodore-64". I even remember books to learn C for specific platforms like the PC or Amiga.

Today, a generic book on will have to spend a significant portion of time explaining platform specifics. Granted, this is really only three platforms these days (Windows, Mac and Linux) but they are significantly different to be a pain to have to explain in a general purpose book.

Re: Teach Yourself C in 24 Hours (1997)

#63
post #9

Earlier quoted context omitted.

Would you prefer “one of the many ways to categorize languages is into buckets of either compiled or interpreted”?

No, that is also wrong. Even if you only consider compilers and interpreters (in real life there are many in-betweens: bytecode/VW, JIT, etc.), a language is not either interpreted or compiled. Maybe its reference/canonical implementation is an interpreter or a compiler, but that's all. What would stop anyone from writing a C interpreter? Or a Python compiler? Now consider OCaml, which canonical distribution comes wi…

It's interpreters all the way down. (https://news.ycombinator.com/item?id=15233188)

Edit: Just adding that it helps to think of some interpreters as faster than others, and it may pay to translate code from one interpreter to another.

Re: Teach Yourself C in 24 Hours (1997)

#64

Many here will rush to trot out the usual "but, we should all be using { fashionable language of the day | Rust } instead of C". Maybe. Maybe not. But there is something of a sweet spot with C and after all these years it persists due to that sweet spot despite some of the potential downsides.

> "we should all be using"

Anyone capable of thinking that thought (about any programming language) is so divorced from the vast range of pragmatic contexts within which programming happens, they might as well be shipped off to a monastery to live out their days.

Re: Teach Yourself C in 24 Hours (1997)

#65

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…

Thanks for the resource. I'm studying programming at a university and I just feel they are teaching everything very high level. The video on the website of nand2Tetris was very fascinating. From the coding courses I've done on and off, I thought the chain ended at "Assembly Language" but in reality, the rabbit hole goes deeper! The book is available in my library and going to grab it now!

I found the Harvard CS50 really, flashy and fluff. Didn't enjoy it. I took an alternate to it, Introduction to Computer Science using Python on Edx.

Re: Teach Yourself C in 24 Hours (1997)

#66

Earlier quoted context omitted.

Thanks for the list. I've worked my way through part of NAND to Tetris so far. NAND to Tetris is a little more than just a coding resource. It covers first principles of computing, through to programming. The lessons also come in the form of a book listed at the top of the page The Elements of Computing Systems for anybody who doesn't want the Coursera version. CS50 is great for core principles, but you need to go in…

NAND to Tetris - yea it is a little more than just a programming course but that's exactly the kind of teaching we need to do. I took CS1371 at Georgia Tech back in 2004 and it was completely and utterly useless. How does a multi-million dollar college screw up teaching how to code so badly? I wish NAND to Tetris was around. CS50 - Just watch week 0[1] and it literally starts with a survey of 73% that have never take…

I wasn't discounting your suggestions -- don't get me wrong. They're absolutely great for somebody wanting to do a deep dive. They're not a fast introduction to writing your first program, though. The logic required to understand high-level programming can be taught without diving that deeply. If somebody needed to write some simple math functions (and theoretically for whatever crazy reason wanted to write the programs in C), they would be able to learn to do so without such a deep dive into first principles. For real understanding, the courses are an incredible resource, especially for free!

Re: Teach Yourself C in 24 Hours (1997)

#67
post #50

Earlier quoted context omitted.

I think SICP also pretty good in this regard. Thankfully it's available online for free

(I haven't gone through both) but I think HtDP and SICP are interchangeable-ish. From the wikipedia page: HtDP was designed as a textbook to address certain issues that some students and teachers had with SICP.

Excuse my ignorance, what is HtDP?

Re: Teach Yourself C in 24 Hours (1997)

#68

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…

I think SICP also pretty good in this regard. Thankfully it's available online for free

Found a hard copy (preowned) for $10, I’m psyched to get started.

Re: Teach Yourself C in 24 Hours (1997)

#69
post #50

Earlier quoted context omitted.

(I haven't gone through both) but I think HtDP and SICP are interchangeable-ish. From the wikipedia page: HtDP was designed as a textbook to address certain issues that some students and teachers had with SICP.

Excuse my ignorance, what is HtDP?

"How to Design Programs"

http://www.htdp.org

Post reply on HN