Second, if you are going to offer your comments, perhaps you should offer your credentials.
I am a professional software developer. I've been in the industry for several years and have worked on shipping products.
There is a major difference between a homework assignment or tic-tac-toe program, and large-scale projects.
C, C++, and Java all have their place. I myself had a Java renaissance for awhile, but have come to recognize that it doesn't come close to C++ in many ways. Since then, I've learned more about C++ and come to appreciate it more.
In my experience, if Java code is better than C++ code, it is because it is *newer* code and the people writing it know better what they are doing these days, than when they wrote C++ code a few years earlier.
In my experience, people are hard on C++ because it is not a trivial language to pick up. Not all of my co-workers understand the code they are working on. That will always be true to some extent, but I believe it is more of a deficiency in skill than a language deficiency.
In my experience, C++ has advantages over C that make it preferable. I can bundle concepts up into types, express idioms (dynamic binding, error handling, etc.) at the language level, and have better type checking.
In my experience, people have problems with C++ because they haven't applied themselves to its study. As with any language, you have to read more than the "primer" to be proficient at it, to not get into trouble, and to know when you are getting into trouble. Otherwise you remain blissfully ignorant.
C++ is more complex because it was designed for more complex tasks. How many have read "The Design and Evolution of C++?" How many have read "The C++ Programming Language?"
You can argue that you should be shielded from that complexity, but there remain programmers who have to face it, even if you don't. So pick your language and put your code where your mouth is, and leave the C++ coders to do the same.
Well, as a professional software developer at a major Canadian software development corporation, I think that if I spend several hours writing up my thoughts on a relevant book I have read in its entirety, that qualifies as "editorial content."
I have no problem giving a poor review to a poor book, even if I received it as a review copy. In truth, I purchase many books every month, have an enviable professional library as a result, and spend a significant portion of my personal time reading and absorbing them.
In practice, I only tend to read useful and good books, so that weeds out poor reviews as a side effect. Anyone is free to disagree with my reviews, and to purchase or not purchase the book in question as they see fit.
I don't purchase at Amazon, mostly because I'd just as soon order it at a local store. Price is not an issue for me personally, since I make a decent (though by no means complete!) salary.
I've done more than a couple of reviews for Slashdot myself, and there is one extremely simple reason why my reviews are overwhelmingly positive:
I don't have time to read bad books.
There are plenty of good books out there, and those are the ones I read. I review the books I read. Simple.
In that respect, my reviews are less of "this book is good and I recommend it" and try to tackle more of "what this book is about and who it might apply to."
Are you insane? You think running something like mozilla.org can be done without expending resources? That they can through their source to the wind and reap the returns for free?
That statement was obviously made without thought or consideration.
Well, Yourdon is always right. Actually he says that in his book, with examples. Prediction is a hard thing.
A lot of the book isn't about prediction. It's about bettering yourself and your company. For example, by using best practices, or reading books on your own if your company won't train you.
The book is a light and interesting read, even if it gets somethings wrong. Even in the opinion section, I don't agree with it all. And it is several years old, so has more historic than practical value right now.
Personally, having only entered this industry in the mid-nineties, I missed the whole IBM/COBOL/decline thing in favour of the Linux/Java/resurrection thing. And I'm not even American.
Actually, the more I think about it I'd give it a 7/10, simply because I don't think it rates as highly as More Effective C++ and wish to be internally consistent with my ratings.
Seconds on Stroustrup's excellence. For someone so modest with his skill of English, he manages to pull off excellent puns.
And yes I've found him to be an excellent source of design knowledge, as well as the GoF and Three Amigos.
Shouldn't be surprising as his area of study is large-scale systems.
First off, language wars are pointless.
Second, if you are going to offer your comments, perhaps you should offer your credentials.
I am a professional software developer. I've been in the industry for several years and have worked on shipping products.
There is a major difference between a homework assignment or tic-tac-toe program, and large-scale projects.
C, C++, and Java all have their place. I myself had a Java renaissance for awhile, but have come to recognize that it doesn't come close to C++ in many ways. Since then, I've learned more about C++ and come to appreciate it more.
In my experience, if Java code is better than C++ code, it is because it is *newer* code and the people writing it know better what they are doing these days, than when they wrote C++ code a few years earlier.
In my experience, people are hard on C++ because it is not a trivial language to pick up. Not all of my co-workers understand the code they are working on. That will always be true to some extent, but I believe it is more of a deficiency in skill than a language deficiency.
In my experience, C++ has advantages over C that make it preferable. I can bundle concepts up into types, express idioms (dynamic binding, error handling, etc.) at the language level, and have better type checking.
In my experience, people have problems with C++ because they haven't applied themselves to its study. As with any language, you have to read more than the "primer" to be proficient at it, to not get into trouble, and to know when you are getting into trouble. Otherwise you remain blissfully ignorant.
C++ is more complex because it was designed for more complex tasks. How many have read "The Design and Evolution of C++?" How many have read "The C++ Programming Language?"
You can argue that you should be shielded from that complexity, but there remain programmers who have to face it, even if you don't. So pick your language and put your code where your mouth is, and leave the C++ coders to do the same.
Well, as a professional software developer at a major Canadian software development corporation, I think that if I spend several hours writing up my thoughts on a relevant book I have read in its entirety, that qualifies as "editorial content."
I have no problem giving a poor review to a poor book, even if I received it as a review copy. In truth, I purchase many books every month, have an enviable professional library as a result, and spend a significant portion of my personal time reading and absorbing them.
In practice, I only tend to read useful and good books, so that weeds out poor reviews as a side effect. Anyone is free to disagree with my reviews, and to purchase or not purchase the book in question as they see fit.
I don't purchase at Amazon, mostly because I'd just as soon order it at a local store. Price is not an issue for me personally, since I make a decent (though by no means complete!) salary.
YMMV
I review for Slashdot as well.
I've never ordered from Amazon.
You don't have to either.
I've done more than a couple of reviews for Slashdot myself, and there is one extremely simple reason why my reviews are overwhelmingly positive:
I don't have time to read bad books.
There are plenty of good books out there, and those are the ones I read. I review the books I read. Simple.
In that respect, my reviews are less of "this book is good and I recommend it" and try to tackle more of "what this book is about and who it might apply to."
I can't speak for Eugene.
Are you insane? You think running something like mozilla.org can be done without expending resources? That they can through their source to the wind and reap the returns for free?
That statement was obviously made without thought or consideration.
Well, Yourdon is always right. Actually he says that in his book, with examples. Prediction is a hard thing.
A lot of the book isn't about prediction. It's about bettering yourself and your company. For example, by using best practices, or reading books on your own if your company won't train you.
The book is a light and interesting read, even if it gets somethings wrong. Even in the opinion section, I don't agree with it all. And it is several years old, so has more historic than practical value right now.
Personally, having only entered this industry in the mid-nineties, I missed the whole IBM/COBOL/decline thing in favour of the Linux/Java/resurrection thing. And I'm not even American.
Actually, the more I think about it I'd give it a 7/10, simply because I don't think it rates as highly as More Effective C++ and wish to be internally consistent with my ratings.