Code Complete, Second Edition
-
The Grand Negus wrote:
But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
Only if the programmer doesn't know any language apart from English. If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person. As it stands, PE just defines it's own rigid syntax, and no language is easier than another, they are just different ( I find it a pain to read over verbose code, like VB and PE )
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
Christian Graus wrote:
If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person.
First of all, you're mistaken when you suggest that the syntax of Plain English is as rigid as other existing languages. It's not. I freely admit that it's not as flexible as we'd like it to be, but it's getting there. Secondly, we agree that the ultimate goal is to "take all manner of statements and yet work out the programmers [or layman's] precise intentions". And we've got a succinct, executable plan to make that happen within the next few years.
-
The Grand Negus wrote:
But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
Only if the programmer doesn't know any language apart from English. If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person. As it stands, PE just defines it's own rigid syntax, and no language is easier than another, they are just different ( I find it a pain to read over verbose code, like VB and PE )
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
Christian Graus wrote:
or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person.
That would be "true" lexical Analysis, which I have said would be a far better technique than his syntax method (or advanced Zork compiler). Lexical Analysis is an interesting method and has some great work out of several large universities in the AI realm... but then he said all of the AI world is going the wrong direction.... I did my first lexical Analysis work right out of high school, LANA was able to recognize more than his compiler, and actually learned. It was still syntax based, but anything it didn't recognize it would ask about and learn by replacing nouns and verbs. You could say "compare x equal to y" and if it only recognized "if x equal to y" then it would prompt you for a synonym of compare and add it to the dictionary. It had some more advanced work in recognizing noun verb object structure through various types of sentence structures. But all in all it was a pretty nifty lexical analysis work for an 18 year old, replaced my ProDOS and AppleDOS Operating system with something more entertaining, and even looked pretty (think 18 year old interests :rolleyes: and the name LANA :rolleyes: ).
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
Christian Graus wrote:
If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person.
First of all, you're mistaken when you suggest that the syntax of Plain English is as rigid as other existing languages. It's not. I freely admit that it's not as flexible as we'd like it to be, but it's getting there. Secondly, we agree that the ultimate goal is to "take all manner of statements and yet work out the programmers [or layman's] precise intentions". And we've got a succinct, executable plan to make that happen within the next few years.
The Grand Negus wrote:
And we've got a succinct, executable plan to make that happen within the next few years.
I wish you the best of luck. I'd sure love to play with it, when it becomes that good. I predict a middle period where you can't predict what it will do if someone other than you is programming it, tho.
Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
yesterday I started reading it and it seemed great. By the way in the first 98 pages I saw that all that was told was obvious, but very interesting... like a situation in which you know everything but it helps you to listen to it again. I think that it can improve the way in which all of us "program"... (and I use "" because it seems that programming is not what we think at the beginning). ;) Hope this helps.
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Captain See Sharp wrote:
better architect of my software and a better coder also
Whilst I found both editions of CC good, I would also recommend Mike Gunderloy's Coder to Developer[^]. I found that this had a lot more in terms of practical ideas, especially for small teams / solo programmers. Joel "on-software[^]" Spolsky wrote the forward (and you can do worse than read his articles on sw development - they are available either on his site in article format or you can buy a selection in book format from amazon). That said, you won't be dissapointed with CC.
ChrisB ChrisDoesDev[^]
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Haven't a chance to peek into CC, but PP is marvellous.
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
It is as with sex documentation - "...and if it's good, it's really good!". And it is good. On the surface, much of the information may sound "I knew that" for a seasoned developer. e."The power of variable names" chapter is over 30 pages, packed with thoughts and information. Again, much of it is "I knew that" after you read it (see Douglas Adams, invention of the cat flap). What makes this book a valuable tool is the condensed research results. There are so many "It is better to"'s, but how do you back them up? Sample Fact: Variable names shorter than 8 or longer than 20 increase the debugging effort notably. 10..16 is ideal. (Gorla, Bender, Belander, 1990) This makes it a valuable tool for the project manager, too. And there are the surprises. Things you never thought it would be that way. Do you know that developers are more likely to make mistakes in a small change, as compared to a medium? Did you know that not-so-fast-but-not-so-slow-either developers may well be the worst? Get it! Get it! -- modified at 5:41 Wednesday 10th January, 2007: note to self if you want to be phunny, check your spelling first
Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
Linkify!|Fold With Us! -
Captain See Sharp wrote:
I know there are things like naming your booleans descriptively like isThisBookGood... instead of itbg_TF.
Why on earth would anyone want to name a boolean "isThisBookGood" instead of "itbg_TF"? The next thing you know they'll be wanting to say things like "If the book is good..." - spaces and all!
Gorla, Benander and benander: Names longer than 20 characters are as bad as shorter than 8.
Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
Linkify!|Fold With Us! -
Gorla, Benander and benander: Names longer than 20 characters are as bad as shorter than 8.
Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
Linkify!|Fold With Us!peterchen wrote:
Names longer than 20 characters are as bad as shorter than 8.
What a curious observation! I take it "Peter" (five characters) isn't working out for you then? And "United States of America" (twenty-four characters) will probably not catch on either; but that's okay, we can just say USA instead - whoops! too short! In any case, the study by Gorla, Benander and Benander that (I believe) you cite is difficult to apply to a language like Plain English because they didn't even consider names with spaces in them. Whichmakesalotofdifference, don't you think?
-
The Grand Negus wrote:
But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
Again trying to plug "Plain English Programming" :zzz:
-
The Grand Negus wrote:
But isn't "If the book is good" closer to what the programmer is thinking than "if (itbg_TF)" or "if (isBookGood)"?
Only if the programmer doesn't know any language apart from English. If a programming language existed that was able to understand plain english, and get over the hurdle that you have to either simply provide a new syntax as rigid as existing languages ( which PE does ), or find a way to take all manner of statements and yet work out the programmers precise intentions, then that would be a clearer way to go for the lay person. As it stands, PE just defines it's own rigid syntax, and no language is easier than another, they are just different ( I find it a pain to read over verbose code, like VB and PE )
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
Christian Graus wrote:
I find it a pain to read over verbose code, like VB and PE
Sure, but there's a balance to be struck. I find code variable'd like "bMemoryObjectStage2WasInitialisedCorrectlyByTheMM" overly descriptive and makes reading the code difficult (screen real estate restrictions), but on the other hand variables of the type "bOS2IOK" give little clue as to their function or use.
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Got mine a few weeks ago, excellent!
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Truly excellent book (having read both editions). It's big selling point is that, if you follow it's guidelines, you stop and think about your code. I would recommend this book for anyone.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before. -
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I read the second edition. I'd say it's value depends on the experience of the user. For an experienced user, most of the material will be common sense, but still a lot of good things to learn. Also, a little verbose for an experienced programmer, but an easy enough read that the reader can skim the parts that are already known. Definitely a read, IF you have the time. I particularly liked the sections on cohesion and coupling. If you have less time and looking for something a little more terse, C++ coding standards is a great read. It's VERY terse and to the point, and gives the reader many references (including McConnell) if they want to pursue the topic further.
-
peterchen wrote:
Names longer than 20 characters are as bad as shorter than 8.
What a curious observation! I take it "Peter" (five characters) isn't working out for you then? And "United States of America" (twenty-four characters) will probably not catch on either; but that's okay, we can just say USA instead - whoops! too short! In any case, the study by Gorla, Benander and Benander that (I believe) you cite is difficult to apply to a language like Plain English because they didn't even consider names with spaces in them. Whichmakesalotofdifference, don't you think?
The Grand Negus wrote:
Whichmakesalotofdifference
Shouldn't that be
WhichMakesALotOfDifference
? Which, for most of us, is easier to read than what you wrote, highlighting the importance of coding style to maintainability. This in turn brings us back to the book in the topic, which is about style, not language.
Grim
(aka Toby)
MCDBA, MCSD, MCP+SB
SELECT * FROM users WHERE clue IS NOT NULL GO
(0 row(s) affected)
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Pragmatic Programmer is a good book and an easy read. I found the section on testing helpful. I'd say it is probably due for an update, though. Guess that is just the nature of technical books. My copy (and I assume this is still the case) had a pull-out card with a summary of the points of the book written on it. You might take a peek at that before purchasing it. I bought a copy of Code Complete, Second Edition and while I have never read the entire book, what I have read was good.
-
Pravarakhya wrote:
Again trying to plug "Plain English Programming"
Actually, I'm asking what makes "isBookGood" better than "itbg_TF", and whether or not those same virtues can be used to evaluate procedural code as well as data definition code. If the virtues in question can be delineated and apply in both circumstances, that would appear to be a point in favor of a natural language approach to programming; otherwise, it would be a point against it.
Using "Is this book good" is just too long. And when you're dealing with allot of code or a complex algorithm than that is not good. "itbg_TF" is not meaningful. On the other hand, something like "isBookGood" is meaningful and short enough to not cloud the comprehension of the reader. And remember, the reader is a programmer not a layman. I'm really tired of you pimping your natural language compiler do-hicky. Every once in awhile, maybe, but does every post you write have to mention it (or blatantly try to hook people into it)? Just put a friggin' link to your site in your signature and let the curious click. Stop trying to shove your religion down our throats (for you it is a religion).
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I have the 2nd edition; it's well worth the cost. Table of Contents[^]
BW
If you're not part of the solution, you're part of the precipitate.
-- Steven Wright -
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Code Complete is an excellent reference for the best programming practices developed in the past 25+ years. Not all of these practices will fit all of your requirements all of the time and so like with project management techniques you have to use a careful eye as to what you feel should be included in your development processes. The bad part about this book is that many of its recommendations are lost arts from a previous era that were lost with the demise of the mainframe world where believe it or not you had a much finer level of developer than you do today. This was for both technical as well as sociological reasons. From one who has been in the IT industry for close to 35 years, I see more sloppiness and rush to complexity than in years past as well as a lack of understanding of the "primary directive" of "KISS". Today's developers (mostly those who work inthe corporations) have very little feel for the quality of their work which fosters management's rush to "get things done". If no one is concerned about quality than there are no brakes on those who care more for the result than how it was obtained. If you are serious about your career as a technical professional than Steve McDonald's book will help you tremendously from a psychological perspective let alone from a technical one. It is a book that should be in every serious technician's library
Steve Naidamast blackfalconsoftware@ix.netcom.com
-
I'm thinking about buying the book Code Complete, Second Edition. How many of you have actually read it and how good was it. I know there are things like naming your booleans descriptively like isThisBookGood or buyThisBook instead of itbg_TF. Is there more to this book than that? I want to really learn something that will help me be a better architect of my software and a better coder also. What do you think? Is The Pragmatic Programmer: From Journeyman to Master good also?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██