Live data from Hacker News

Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

news.ycombinator.com

61–70 of 71 posts

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#61
post #60

Earlier quoted context omitted.

I said the examples are brutally outdated, not the message. The book is filled with acronyms and names I didn’t know because they are 60 years old. I’d rather read a 2023 version if I could.

The acronyms and names are basically irrelevant to the point, though :) If anything, having "outdated" acronyms and names may actually make the message stronger - because you don't need to be distracted by what they "are", you can just accept they exist[ed] :)

I get that it is a classic but arguing that understanding less words and examples in a book makes the message stronger is a tough sell.

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#62
post #41

Earlier quoted context omitted.

I liked /Rapid Development/ too. It misses out on things like the Unix philosophy and worse-is-better, which are sort of previous incarnations of the agile/lean stuff that is very popular today. I would assume the author just hadn't had much exposure to those ideas so they weren't even considered for inclusion. (Besides, they tend to not be researched so actively because they don't leave as many paper trails.) Other…

McConnell has never really been a fan of “purist” Agile. Construx eventually developed a curriculum around a fairly “corporate-friendly” version of Scrum, that I never found that appealing. The way I write code, these days, makes Agile look like Orthodox religion. However, it’s highly dependent upon me, being who I am, and a lifetime of habit and personal process. It would probably not scale well. McConnell has alway…

I don't expect him to like it, just mention it in any way whatsoever!

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#63
post #42

Earlier quoted context omitted.

Because then we lose any sense of historical context. Old books at their essence lets us talk to people from the past. We won't always like what they have to say, but they will speak about themselves and highlight how we've changed. If we can't understand where we came from, then we can't hope to understand how we got where we are.

What? Tons of books get new editions. It happens constantly. For example, Strunk & White [0] has been updated in 1918, 1959, 1999, and 2009. Authors release different versions of their own books. I just wrote a review of a book [1] that had a 2nd edition released in 2022 after the first edition was released in 2014. J.R.R. Tolkein retconned The Hobbit after publication of Lord of the Rings. [2] (I realize this isn't…

[flagged]

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#64
post #38

Earlier quoted context omitted.

Does anyone actually do this? I have never seen people write pseudo code as part of the programming process. Diagrams, comments, tests, stubs sure, but never really pseudo code.

Yes all the time, how else? I mean if it's just a few lines, a change to existing code, etc, you can jump straight in with actual code. But if it's a new object/module etc, start by writing some function names, and some rough structure within them, etc. All in IDE/editor. And I wouldn't call it pseudo-code, just a rough outline.

That's exactly my point.

An outline is a very different beast compared to pseudo code.

It's effectively the difference between operational semantics and denotational semantics.

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#65

Most likely no! Do you really need to read a 900 page book to understand how to write good code? There might be nuggets of wisdom here and there, but you'll most likely pick them on your own as you code and grow. Problem with these books is that you tend to over-apply whatever you read. You read the fact that configurations are good, so you create a nest of abstractions to make code configurable, even when it doesn't…

You have confused the book and its content with its application. One still needs to use their brain, and one blindly applying patterns from a book where it doesn't make sense doesn't make the book bad.

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#66
post #42

Earlier quoted context omitted.

What? Tons of books get new editions. It happens constantly. For example, Strunk & White [0] has been updated in 1918, 1959, 1999, and 2009. Authors release different versions of their own books. I just wrote a review of a book [1] that had a 2nd edition released in 2022 after the first edition was released in 2014. J.R.R. Tolkein retconned The Hobbit after publication of Lord of the Rings. [2] (I realize this isn't…

Technical revisions, sure. At the same time books re-published to align with the political zeitgeist rarely tend to age particularly well.

I don't think there's much evidence to support your viewpoint.

Most books don't age well.

I tried to read Baum's "The Woggle-Bug Book" a few years ago, and found its humor, rooted in old ethnic stereotypes, totally un-enjoyable. It did not age well.

While the Hardy Boy books I enjoyed as a kid wouldn't have been so wildly popular had they kept the original text. ("From 1959 to 1973, the first 38 books were extensively revised, largely to remove depictions of racial stereotypes" says Wikipedia.)

One of the most popular Agatha Christie novels is "And Then There Were None". That was "re-published to align with the political zeitgeist" so much they even changed the title and the name of the island. Most people have read the re-aligned version, not the original version.

And as I learned recently, "Charlie and the Chocolate Factory" was "re-published to align with the political zeitgeist" in the 1970s, due to complaints by the NAACP and others that the Oompa-Loompas were African Pygmies. The re-write made them white, and the movie made them orange. The re-aligned version has outsold the original version.

Also in the 1970s, Geisel ("Dr. Seuss") edited "And to Think That I Saw It on Mulberry Street" to change how it describes and portrays a Chinese man. That book continues to be sold.

Carnegie's "How to Win Friends and Influence People" was revised in the 1981 edition to reflect the new feminist zeitgeist. For examples, "insurance man" was replaced with "insurance agent", and "leadership gravitates to the man who can talk" changed to "leadership gravitates to the person who can talk". It also dropped the section on marriage. ("Never get married until you have kissed the Blarney Stone. Praising a woman before marriage is a matter of inclination. But praising one after you marry her is a matter of necessity — and personal safety.") The preface to the 1981 edition points out how "Carnegie himself was a tireless reviser of his own work during his lifetime" and would have made changes because he was "sensitive to the changing currents of present-day life".

While not "tons of books", the fact that I - with little knowledge of book publishing history - can point to several counter-examples, suggests that there are a lot more popular books out there which were updated to the modern zeitgeist.

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#67
post #15

Earlier quoted context omitted.

I found this: https://www.goodreads.com/review/show/1461289590 "A team of two, with one leader , is often the best use of minds. [Note God's plan for marriage.]'" That is only sexist if he is saying that the man is naturally the leader. Did he say that?

The book is at least a decade or two out of political fashion. For thousands of years, certainly in European culture, the default human entity, when not specified, was masculine in gender. By which I mean grammatical gender, not the current politically vogue meaning of "gender." We don't need to disregard thousands of years of knowledge because the authors were unaware of what would be PC in their future. That would…

> "Childish," from the Latin word for "boy."

I think you mean "puerile", not "childish."

"Child" comes from Proto-Germanic. https://www.etymonline.com/word/child says "no certain cognates outside Germanic".

The Latin word for boy is "puer": "a boy, lad (typically between ages 7-14 but could be younger) (older than an infans but younger than an adulescens)" - https://en.wiktionary.org/wiki/puer#Noun_4 .

Puerile comes "from Latin puerilis "boyish; childish,"'- https://www.etymonline.com/word/puerile .

Grammatic gender doesn't always match natural gender even in the European languages. "Wīfman" means "woman" in Old English but is grammatically masculine. The Old English "mann" meant generally "person". https://en.wiktionary.org/wiki/mann#Old_English making "wīfmann" a female person and "wæpnedmann" a male person, though "wer" was the usual word for "adult male" (remaining in "weregild" and "werewolf").

In modern Swedish there is no masculine gender, and "man" can mean either "an adult male" or "a person". Consider "Hysterektomi ... kan också göras om man har cellförändringar eller cancer i livmodern." which in English is "A hysterectomy can also be done if one has cell changes or cancer in the uterus." (from https://www.1177.se/behandling--hjalpmedel/operationer/opera... ).

The Swedish "man" in that sentence translates directly as "one" in English, not "adult male", though usually in English we would write "you" as a sort of third-person pronoun, over the more formal "one" - https://en.wikipedia.org/wiki/You#Third_person_usage , even when we don't know if the reader has a uterus.

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#68
In my opinion, it's as much a "recommended read" as a lot of other so-called "classics":

- Rapid Application Development (also by McConnell)

- Soul of a New Machine by Kidder

- Mythical Man Month by Fred Brooks

- Programming Pearls by John Bentley

- Applied Cryptography (2e) by Bruce Schneier

- The Cuckoo's Egg by Cliff Stohl

- Structured Computer Organization by Tanenbaum & Todd

- Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Helm, etc

- A New Kind of Science by Wolfram

And many more could be added to this list

Sure, some of them use acronyms or reference technology that you've either never heard of or has been supplanted

But you could [nearly] do a find-and-replace on those "outdated" terms with a "current" term, and the books would [effectively] be up-to-date

Don't get hung-up on specific examples - they're just there to illustrate the problem domain

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#69
post #13

I read it last year and I think it's still relevant. I had planned to write on the topic. In his book, Steve McConnell advocates for PPP = Pseudocode Programming Process Basically, he says you should outlines the structure of your code first, before writing your actual code. IMHO this is even more relevant in the age of AI assisted programming. Pseudocode Programming Process is becoming Prompt Programming Process. Th…

in nearly all my 100- and 200-level programming classes 20+ years ago, we had to hand-in a pseudocode for our assignment before our assignment

It didn't have to be completely correct, but it did need to be directionally correct (or, at least illustrate a way of solving the problem, even if we ended-up doing it differently)

I poo-pooed those, and would only create my pseudocode after writing my program - I'd already "been programming" for close to a decade, so why go through the 'pointless exercise' (as I thought at the time) of designing a solution only to have to implement the solution?!

Then I left those intro classes and we started getting more-interesting assignments

All of a sudden, having a plan - even a very simple block diagram, or set of bullet points, etc - became vital to solving the problem

I don't know that I'd tell someone to fully pseudocode their solution before implementing something today ... but blocking it out, getting the high- and medium-level logic/parts drawn-out/written-down is most definitely vital to having a chance at a successful implementation

Re: Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

#70
post #38
post #13

I read it last year and I think it's still relevant. I had planned to write on the topic. In his book, Steve McConnell advocates for PPP = Pseudocode Programming Process Basically, he says you should outlines the structure of your code first, before writing your actual code. IMHO this is even more relevant in the age of AI assisted programming. Pseudocode Programming Process is becoming Prompt Programming Process. Th…

Does anyone actually do this? I have never seen people write pseudo code as part of the programming process. Diagrams, comments, tests, stubs sure, but never really pseudo code.

>Diagrams, comments, tests, stubs sure, but never really pseudo code.

Hate to break it to you ... but those are all forms of pseudocode (or verification of your process (which is nearly the same thing)) :)

Post reply on HN