Do you have a favorite programming book and if so, what is it?
-
Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.
Real programmers use butterflies
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
A well-known compiler text has a dragon on the front. This one should have had a cow, branded with Euler's diagram of the 5 bridges of Königsberg. :)
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.So, the problem is that it's missing two bridges?
-
Petzold Programming Windows 3.1 will always have a special place for me. I remember actually understanding this Windows programming thing and the Windows message loop and thinking, "wow, someone actually explains how this stuff works". He explained stuff so well that it was like opening up a whole new world and programming was really exciting. Such a special book.
Petzold is one of those rare individuals who can understand a subject and explain it in ways that a beginner can understand. Without patronising more advanced readers either. He writes good stuff!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!
-
A well-known compiler text has a dragon on the front. This one should have had a cow, branded with Euler's diagram of the 5 bridges of Königsberg. :)
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.The dragon book is in the running for me but minus points because it could have been written to be far more accessible.
Real programmers use butterflies
-
I was thinking about that just the other day. "Code" by Charles Petzold.
That one's in the running for me.
Real programmers use butterflies
-
MarkTJohnson wrote:
It raises my monitor just right.
:thumbsup: Petzold's Programming Windows Fifth Edition does it for me!
I use Inside Ole 2 :laugh:
Real programmers use butterflies
-
Zen and The Art of Motor Cycle Maintenance (Robert M. Pirsig)[^] And it's about as much about programming as it is about Zen Buddhism or motorcycle maintenance. But ... learn the right lessons from it, and you can cope with development (and make a start of fixing motorcycles as well).
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!
Good choice!
Real programmers use butterflies
-
I'd have to say the GoF patterns book.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Very useful indeed.
Real programmers use butterflies
-
Petzold Programming Windows 3.1 will always have a special place for me. I remember actually understanding this Windows programming thing and the Windows message loop and thinking, "wow, someone actually explains how this stuff works". He explained stuff so well that it was like opening up a whole new world and programming was really exciting. Such a special book.
Cool. He's a really good teacher. I have a lot of respect for the man.
Real programmers use butterflies
-
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
I concur. Never discard anything. Learn from ancient knowledge.
-
I have read the introductory chapters (intro and chapter 1) and then skipped around a bit. Mostly too hard for me. I like that they say, "Prefer composition over inheritance." That's what that entire book is about for me. I remember back when OOP was growing in popularity (1991 or so) and it was all about inheritance. Then GoF explains, "no it's about composition". That's good stuff! :thumbsup:
It's good as a reference. Just read the general description of each pattern and look at the details when you think you need a pattern but the UML diagram doesn't give you a good enough idea of how to write the code. As much as anything, the fact that it gives a name to each pattern saves lots of time during design discussions, because everyone can quickly understand an approach being suggested. It's about much more than composition, though.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
The dragon book is in the running for me but minus points because it could have been written to be far more accessible.
Real programmers use butterflies
My copy is the original edition from the mid '70s. I noticed it had undergone revisions, but it sounds like it's still somewhat inaccessible.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.
Real programmers use butterflies
I'd like to make a crazy proposal: When Intel presented its iAPX 432 CPU, I got hold of its reference manual. It is certainly not a programming book, yet it is about what we think of as programming. It made me thoroughly rethink the distinction between hardware and software - as well as some important software concepts. E.g. in the 432, if one process sends one of its objects to another process (using the IPC instructions of the processor), the sending process looses that object. It may of course make a copy of the object before sending the original away (or keep the original, sending a copy), but the original and the copy are distinct objects. If you give one of them away, you give it away. That is how things work in real life, and in the 432, but not in commonly used software systems today. Even though the 432 was a major flop, its reference manual has significantly formed my ideas about software. And hardware.
-
So, the problem is that it's missing two bridges?
I guess I'm getting old.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.
Real programmers use butterflies
-
I'd have to say the GoF patterns book.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.For me, it's a toss up between Kernighan & Ritchie's The C Programming Language, and Aho, Kernighan and Weinberger's The AWK Programming Language. Other books I remember from college days include Fortran IV With Watfor and Watfiv, and a two book set of Shelley & Cashman on Cobol. Those are all still around, somewhere in the attic, along with a lot of seriously outdated hardware. I know there's a 300 baud modem with the acoustic couplers for a standard Bell desk phone's handset up there, and a couple of cases of 80-column cards.
-
Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.
Real programmers use butterflies
Super Accelerated C++, by David O'Neil :laugh: (It's not a book, just fun!)
-
Mine would be Accelerated C++ by Andrew Koenig and Barbara Moo. It's mercifully short, and it teaches C++ the Right Way(TM) - the way Bjarne intended it to be used, and how it works best. It's suitable for beginners to C++ and in fact I recommend it for teaching C++, and it's the only one I'll recommend for that.
Real programmers use butterflies
When looking for basic algorithms, you can't do much better than Knuth. For specific programming languages, I prefer Plauger's The C Standard Library, Alexandrescu's Modern C++ Design, and anything by Steve McConnell or by Charles Petzold.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
-
Petzold Programming Windows 3.1 will always have a special place for me. I remember actually understanding this Windows programming thing and the Windows message loop and thinking, "wow, someone actually explains how this stuff works". He explained stuff so well that it was like opening up a whole new world and programming was really exciting. Such a special book.
-
I'd like to make a crazy proposal: When Intel presented its iAPX 432 CPU, I got hold of its reference manual. It is certainly not a programming book, yet it is about what we think of as programming. It made me thoroughly rethink the distinction between hardware and software - as well as some important software concepts. E.g. in the 432, if one process sends one of its objects to another process (using the IPC instructions of the processor), the sending process looses that object. It may of course make a copy of the object before sending the original away (or keep the original, sending a copy), but the original and the copy are distinct objects. If you give one of them away, you give it away. That is how things work in real life, and in the 432, but not in commonly used software systems today. Even though the 432 was a major flop, its reference manual has significantly formed my ideas about software. And hardware.
Interesting!
Real programmers use butterflies