Live data from Hacker News

How to Design Programs (2023)

htdp.org

21–23 of 23 posts

Re: How to Design Programs (2023)

#21
post #20

Earlier quoted context omitted.

I am not sure how to respond to this. I have a family (wife + 2 kids, so admittedly a rather small one), a job, and a few side projects (not all of them even coding-related), and I still do find time to read books. But this requires planning and discipline from me, and is not easy. Besides, I was not talking about myself – my remark was general. OTOH, this: > Everyone has time to read if they want to. translates in m…

[flagged]

Well, I only comment on HN from time to time, so I can't (yet?) downvote, but I'll surely go get some popcorn now.

Re: How to Design Programs (2023)

#22
post #14
post #10

After more than 30 years of professional software engineering experience, I have to say that the software model described by this document is applicable and/or useful to only an extremely narrow subset of software in general. I would not recommend taking this advice too seriously.

What would you recomend to someone starting at this area?

John Ousterhout's "A philosophy of software design" and Fred Brook's "The design of design"

Re: How to Design Programs (2023)

#23
post #10

After more than 30 years of professional software engineering experience, I have to say that the software model described by this document is applicable and/or useful to only an extremely narrow subset of software in general. I would not recommend taking this advice too seriously.

This is a textbook for the introductory programming course, the first programming experience for many students. Maybe it would be better titled, "How to solve the programming exercises in an introductory course"

I see a lot of value in this. It gives a step-by-step method that students can follow, which often works. The prevailing alternative seems to be, "Look at a lot of examples, pick one that looks similar to the exercise, and change it around by trial and error until it kind of works." This does not generalize to professional level programming either.

At this initial stage, the goal is to build the students' confidence that if they work systematically, they can solve problems. As their education and experience continue, they can take on more realistic problems and methods.

Post reply on HN