top | item 37290942

How to Design Programs (2023)

91 points| optbuild | 2 years ago |htdp.org

19 comments

order

kiitos|2 years ago

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.

jonjacky|2 years ago

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.

andric|2 years ago

Which narrow subset in particular, and why do you say that?

w4lker|2 years ago

What would you recomend to someone starting at this area?

cuchoi|2 years ago

Any other resources you recommend?

pratik_kanthi|2 years ago

How would a working Software Professional find the time to read a whole book like this?

atoav|2 years ago

If there is any profession that is built on the assumption that its practitioners constantly put aside time to stay up to date it is every profession that is even remotly connected to engineering.

Maybe many software devs don't view themselves as engineers, but engineers can be held liable if their work doesn't live up to the current technological standards.

I would say, regardless of what you do, sometimes you have to take some time for introspection, unless you plan to live with the consequences of not doing it. And reading books is part of that.

If your employer is smart they consider that. If you are smart you also consider that.

zelphirkalt|2 years ago

Option 1: Have a good employer, who values learning and having highly qualified developers.

Option 2: In lack of option 1, I am afraid one will have to spend ones free time on it.

Option 3: Take a "sabattical" or whatever it is called.

Option 4: Quit job and find an option 1 employer.

layer8|2 years ago

Easy: Stop reading HN until you finish the book.

curious16|2 years ago

If you really care about learning, carve out time from your daily routine and progress little by little in chunks.

ofou|2 years ago

8 hours free assumming you work 1/3 and sleep the other.