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
-
One book I would like to add is Code Complete: A Practical Handbook of Software Construction, Second Edition: McConnell, Steve[^]
I used to have that book. Steve McConnell is great!
Real programmers use butterflies
-
PIEBALDconsult wrote:
Which is the only real value of the book.
I've gotten some mileage out of the visitor pattern but I didn't learn it from that book. In fairness though, they describe it for people that didn't already learn it, and it's one of the more useful patterns to know, IMO.
Real programmers use butterflies
That's interesting, because I don't recall using Visitor. It probably depends on your problem domains. The patterns that resonated most with me were Chain of Responsibility, Abstract Factory, and Observer, and the simpler Singleton and Flyweight. I'd already used them but now had good names for them.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
That's interesting, because I don't recall using Visitor. It probably depends on your problem domains. The patterns that resonated most with me were Chain of Responsibility, Abstract Factory, and Observer, and the simpler Singleton and Flyweight. I'd already used them but now had good names for them.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Yeah it really depends on what you're doing. I've just had several occasions where I basically need to query an object model, and a visitor can be a foundation of that.
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!
X| It's one of the few highly acclaimed books I was not able to finish. Couldn't go beyond 20 odd pages. Another is Catch 22.
Cheers, विक्रम "We have already been through this, I am not going to repeat myself." - fat_boy, in a global warming thread :doh:
-
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
-
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
Not that I reading it anymore, but have a special place for my copy of PC Intern - System Programming by Michael Tischer... It is about DOS so mostly irrelevant, but I've learned a lot about how to see things from that book...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
-
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
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries by Krzysztof Cwalina, Jeremy Barton, Brad Abrams
-
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
-
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
-
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
'C' Programming, K & R, first edition.
-
In all seriousness, I adopt a more relaxed style for my personal projects versus my professional projects. The thing is, after years of confining myself to the house style (whatever shop i'm at) working my own way is liberating. Maybe I'm a bit extreme about it. The other thing is, and maybe I shouldn't admit this here but I often am not thinking when I'm writing code. It just comes to me, and I let it. I've written some of my best code that way, so I don't fight it, but it's a bit like free association writing so it's going to reflect my underlying style preferences.
Real programmers use butterflies
honey the codewitch wrote:
I adopt a more relaxed style for my personal projects versus my professional projects.
"We are what we repeatedly do. Excellence, then, is not an act, but a habit." —Aristotle I couldn't even adopt a relaxed style if I wanted to. I have one style and it's as relaxed as can be. And I've used this style in multiple teams and I never had complaints. Well, no complaints on my style at least :laugh:
honey the codewitch wrote:
I often am not thinking when I'm writing code
So consistent with your posting here? ;p But seriously, if single-line if-statements are your worst crime you're doing a pretty good job! I've seen 100+ line functions, 3000+ line classes (WinForms even), completely absurd and ridiculous database designs that weighed the whole project down, etc. In that perspective, style really isn't that important.
Best, Sander Azure Serverless Succinctly Migrating Applications to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
I was thinking about that just the other day. "Code" by Charles Petzold.
the best
-
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
"The C Programming Language" 1st edition 1978 by Brian Kernighan and Dennis Ritchie. it's absence of restrictions and it's generality. notable mentions "Foundations of Python Network Programming" 2004 by John Goerzen "The Principles of Object-Oriented JavaScript" 2004 by Nicholas C. Zakas
-
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
-
'C' Programming, K & R, first edition.
-
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
K&R from decades gone by.
“If only you could see what I’ve seen with your eyes”
-
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
Back in the office I have a half dozenish of them. Several are stacked under the non-height adjustable monitor I left there back in march (I liked my spare monitor at home better), and the other half were used to put my laptop screen at a similar height to my monitors (at home I'm using a 6-pack of Coke :-\ ).
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
-
I was going to say Clean Code by Robert C. Martin but Sander beat me to it, so I'm gonna go with [Specifying Systems by Leslie Lamport](https://lamport.azurewebsites.net/tla/book.html). Not only is it a really interesting book but it's also pretty good for brushing up on discrete mathematics.
I read Leslie Nielsen because I didn't expect to see any other Leslie on CP. Had to read it twice :laugh:
Best, Sander Azure Serverless Succinctly Migrating Applications to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
I was thinking about that just the other day. "Code" by Charles Petzold.
I found Code to be amazing for the first half of the book, but it lost clarity for me in the second half. It just seemed that he lost the desire to make his more advanced information approachable. "Qulatiy is Job #1"