This section has been moved from TableOrientedProgramming
and now here:
were posting political opinions or discussing the joys of an alternative lifestyle, I would have some sympathy for his desire to remain pseudonymous. What he seems to be trying to do, though, is hide his apparently strongly held views on technical issues from potential employers who are interested in hiring him for technical roles. This strikes me as dishonest.
Please elaborate. Do you want your boss to know all your personal preferences and frank opinions on technology? If we have to play office politics in c2, frank and honest opinions will not flow. In the GoldenRule spirit, I would rather know what people really think instead of what they would put into a cover sheet. Let's face it, the work world is not a functional democracy in any sense. C2 should be a place where we can take our tie off.
Part of what my clients pay me for are my "frank opinions on technology", backed by my knowledge and experience. A software developer's technical views are highly relevant to the hiring process because they reflect how that developer will do the job. For example, I am helping a client to fill three or four technical architect roles. I'm looking for people with a broad range of experience and an understanding of procedural, object oriented, functional, and declarative approaches. If I hire someone and find out that they are really only willing use one of those paradigms in all of their designs, I'm not going to be pleased.
Either you make your technical views clear during the interview process or you do not. If you do, there is no issue with respect to using your real name in 'net fora. If you do not, you are attempting to gain a financial benefit under false pretenses. That is grossly dishonest and may even legally constitute fraud.
It is a matter of privacy. Potential employers/agencies do not have a "right" to every personal opinion I have about technology. Sure, they want to know as much as possible, but that does not mean they should get it or expect it. They probably want to also know if one is married, how many kids, religion, how often they have sex, etc., but wanting and deserving are two different things. If they explicitly ask, I tell them my opinions on specific technologies (but word it more diplomatically than I do here). Further, I don't see why it is "fraud" in any sense. For example, suppose an automechanic did not like working on Toyotas. If the candidate says that he/she knows how to work with Toyotas but really does not, THAT might be fraud. But not letting them know that they don't like Toyotas is not the same thing (assuming they don't ask). It is ability versus preference.
A more appropriate analogy would be a mechanic who has only a screwdriver, hammer, and pair of pliers in his toolbox because he prefers not to use other tools. The software tools that developers understand and use affect how they are able to think about and solve problems. Your views on OO and other non-relational approaches are incredibly pertinent to your ability to perform certain software development roles. An employer has a valid interest in knowing how a potential employee solves technical problems and in being informed of any biases that could influence that potential employee's performance.
This isn't about employers, though, it's about your personal behavior. Your desire for pseudonymity is, in fact, a desire to conceal relevant information from people with whom you are attempting to establish a business relationship. That is deceitful and dishonest. If you're so ashamed of your views, you shouldn't be spewing them all over the 'net.
Sorry, but I have to disagree. Employers are not privy to everything under the sun. And, it is not a matter of "being ashamed", it is just that most managers are not well versed in the scientific process and substitute popularity and trade magazines for science. The work world is a game of manipulation, fads, and deceit. Hopefully, we can come to c2 to be our honest selves. C2 is (hopefully) more like a bar than a weekly office meeting. As far as "clients pay me to be honest with them", I applaud your rare position. Usually, they pay people to tell them what they want to hear and stroke their ego. DaleCarnegie's view of the world is unfortunately an accurate one. If those with money think that Jello Oriented Programming is the cat's meow, I suggest you agree with them and keep your mouth shut.
Methinks you could benefit from meditating on the ParableOfTheTwoVillages
. With this attitude, I'm not surprised you don't want potential employers knowing your real name. You should be concerned that former employers might see this.
This discussion isn't about potential employers having access to personal information, it is about being upfront about issues that directly affect how you would perform the job. What you are saying is that your deception is justified because the people doing the hiring don't make decisions the way you would prefer. That does not excuse dishonest behavior. You are not morally justified in tricking someone into participating in a business relationship.
I'm sorry, but I honestly don't see how it is "immoral". You would agree that a potential employer does not have a right or expectation to *every* personal thought. If you agree with that, then where is the line? If not, you are a minority on that view. Further, not liking something does not necessarily mean that one's performance will be poor on it. As far as Dale's view being negative, I never said that. Humans are not perfect, but that does not necessarily mean they are "bad". Dale is just a good observer of human nature; a "reporter" of sorts. Humans are social creatures, and if you don't understand the social games, you won't do very well. That is not saying the "village is bad". Humans being humans is just that. I didn't pass a value judgement on aggregate human nature here.
The line is where your personal thoughts affect your job performance.
- ALL personal thoughts? Are you sure you want to commit to such an viewpoint? If you can't concentrate at work one week because you had a fight with your wife, is that something you should share with your boss?
- It isn't the way the rest of us do business. My employer can see every opinion I put here because I sign my real name. We discuss programming here and my opinions on programming are not concealed. I fully expect future employers to find these words before they hire me. If they decide not to hire me because of them then we've both benefited. -- EricHodges
- Further, you are attempting to obfuscate the issue. No one is suggesting that you expose your personal life. Your views on technology, however, are clearly relevant to job performance and are therefore of legitimate interest to potential employers.
- This comes across as PersonalChoiceElevatedToMoralImperative.
- No, it comes across as you personally choosing to behave immorally.
- I didn't say anything about morality. I pointed out the difference between you and most of the other contributors here. We stand behind our words and accept the risk to our careers. You do not. I don't think that's "immoral", but you can see why it's annoying. -- EH
- If your opinions drifted from what was in style, you perhaps may change your tune. A mile in a man's shoes.
- Again, you are arguing that it is acceptable to deceive potential employers if their views differ from yours. I don't need to share your shoes to know that is dishonest.
Your oft-stated views on the relational paradigm relative to object oriented techniques demonstrate a clear bias that can be reasonably expected to influence the decisions you make in a professional capacity. There are three possibilities:
- You are completely forthright in interviews with potential employers. If this is the case, having your real name associated with your postings is of no consequence.
- If they don't ask my opinion on OOP, I don't volunteer it.
- What you are trying to do here, though, is actively conceal your views, and you're asking for the participants on this Wiki to be complicit in that deception.
- Your postings here and in other places on the 'net represent your sincerely held technical views, but you want to conceal those views from potential employers. This is deceptive and dishonest.
- Calling it "dishonest" repeatedly does not make it so. Wanting some amount of privacy is not dishonesty.
- Attempting to derive financial benefit from a business relationship under false pretenses is dishonest.
- Your postings here and in other places on the 'net do not reflect your actual technical views, so you don't want those views to corrupt your "real life".
The first possibility clearly does not reflect reality or else we would not be having this discussion. That leaves two options: Are you the type of person who lies to potential employers or are you the type of person who entertains himself by trolling Usenet, Wiki, and other 'net fora?
This looks like a double BifurcationFallacy. 1) There may be more than these three options. 2) The second one (about dishonesty) is actually continuous. You can be more or less honest. -- GunnarZarncke
The argument of a dishonest man. The best response to this I've seen is from TerryPratchett
Mightily Oats: "It's not as simple as that. It's not a black and white issue.
There are so many shades of grey."
Granny Weatherwax: "Nope."
Mightily Oats: "Pardon?"
Granny Weatherwax: "There's no greys, only white that's got grubby. I'm
surprised you don't know that. And sin, young man, is
when you treat people as things. Including yourself.
That's what sin is."
Mightily Oats: "It's a lot more complicated than that--"
Granny Weatherwax: "No. It ain't. When people say things are a lot more
complicated than that, they means they're getting worried
that they won't like the truth. People as things, that's
where it starts."
Mightily Oats: "Oh, I'm sure there are worse crimes--"
Granny Weatherwax: "But they starts with thinking about people as things..."
All of your arguments in favor of deception demonstrate that you're worried that you won't like the truth.
Granny Weatherwax is talking about sin, not dishonesty. Quite a difference.
No difference at all. The point is that people start splitting hairs about "shades of grey" only when they want to do something that is unethical. Deceiving a potential employer can cost that employer money, time, and opportunities. It's hard to imagine a definition of "sin" that doesn't encompass that.
We'll just have to disagree on that. Personally, I do not regard "unethical" as a synonym for "sin", and that's even assuming I agree the behaviour you dislike is unethical (which I don't).
And not always telling everything is not necessarily immoral.
Actively concealing information directly relevant to your potential job performance is immoral.
One has to balance one's own honesty and trust with that on the other side. Do you expect everyone to be fully trusting his potential employer? Should you assume that every employer has just the best intentions? I think that mutual honesty is something that takes time to build. A basic amount of honesty is surely required to establish a (business) relationship. YourMileageMayVary, but total openness is surely stupid if you are a non-perfect in a non-perfect world. -- GunnarZarncke
Anything that supports your desire to behave unethically without having to admit to yourself that you are dishonest is "well stated"? Once again, this isn't about an employer wanting to know your politics, sexual orientation, or religion. You want to conceal information that is directly relevant to how you would do the job. So far you haven't shown how that can be considered anything other than lying.
Again, the "basic amount of honesty" includes not actively seeking to conceal information pertinent to your ability to do the job.
The only person who's behavior you can control is yours. You can choose to be deceptive to the point where you even attempt to get other people to help you cover up your true nature, or you can be honest. If you choose to be dishonest, all the excuses you can come up with will not change the fact that you are responsible for that choice. At least demonstrate the minimal integrity required to admit what you are doing.
You exclude the middle and posit that non-white inevitably leads to black. This may be a risk, but must be balanced against the risks of pure white. You seem to confuse the goal behind the moral with moral itself. You can be quite integer and strive for good and still be cautions and only partly open (see also Adjunct: GunnarZarncke/MoralCode?).
But have your PersonalChoiceElevatedToMoralImperative as much as you like. I understand, that you have to defend your choice to convince others to do like you to mitigate its (the choices) effect on yourself. This is just a meme working on you. But I fear that you will disregard this as a stupid attack. But just stay in your DogmaticFallacy.
For me it is shades of grey and this aligns very well with myself. I am responsible for my choices. My motto is: Always assume, that your secrets come out. This doesn't preclude me from having some, just that it prevents me from spiralling into a lie covering lie corner. I am FindingTheMiddleWay with some privacy, much openness and a lot of caution. -- .gz
When I came to c2 I had to decide whether I would expose my own identity and refrain from exposing all my views, or expose all my views and hide my identity. I chose to expose my identity.
I have found over the years that it is not wise to air all that you know or believe or plan in public. TheresAlwaysSomeConspiracy
Let's say that where I live a) there are few employers that need my skills, b) most of them are in the same industry, and c) I work for one of them. Let's also say that this is not an industry that would be my first choice, but working in it allows me to live in a place that I prefer hands down to some other places I've lived. I tolerate the industry because it pays my bills and allows me to live where I want.
I worked for many years in other industries and lived in places to which you'd have to drag me back kicking and screaming. What I have now is a compromise I can live with.
Further, there is technology I've worked on over a decade-and-a-half that I eventually hope to release under my own name, not the name of an employer whose policies actually discourage its development. Add to this my own preferences in technologies that fall outside the corporate Venn diagram. Ranting about this in public, especially with names, could be a CareerLimitingMove
if the right (wrong?) people stumbled across such expostulations.
Still further, I have worked for companies that fostered a hostility toward a particular religion. Consequently I don't make my religious views part of my public persona. And besides, my relationship with ViEditor
is none of their business.
Maybe there are people here who don't need to make compromises. Some of you may feel completely free to tell anyone anywhere everything you think, know, or believe. You might even feel comfortable telling the world your plans. More power to you.
There are many aspects of our lives and thoughts that can be classified under "don't ask, don't tell" without ethical or moral sacrifice. In fact, quite the reverse. I know that if my employer objects to my being Buddhist and fires me "for no reason" (where the "no reason" is his fear of Buddhism) then the ethical/moral violation is his
Am I being "dishonest" by witholding from him that I'm a Buddhist? That depends. Is he entitled to that information? Was that a condition of employment? If his stated framework is "equal opportunity" then it is explicitly none of his bloody business
I know people who dare not express their sports team allegiances around the workplace because of the hostility that would engender. They deem it an acceptable sacrifice.
So in a public forum I don't air the whole of my knowledge, beliefs, hopes & dreams, or plans. TheresAlwaysSomeConspiracy
. My wife knows our plans. Most of my friends and family don't. Why? Risk management. It would be unethical for me to tell everyone
as then I would have to manage the counter-effort, and that would be an unacceptable burden.
If I used pseudonym, I could say whatever I wanted and, while you might all think me deranged or silly or whatever, chances are you wouldn't be able to directly use your prejudices against my person or family -- you couldn't do me financial harm. I'd be just one more moonbat to ignore or ridicule.
My tradeoff here is that you know who I am, but it's unlikely that you'll ever know all of what I think. Well, that might actually be a good thing. * :-)
It would be an interesting exercise to create a SockPuppet
that said everything I mean but without exposing me to the harm that might befall my family should someone learn that I actually support Unix or that I believe in Spaghetti. Not interesting enough to actually do, as the bifurcation of thought needed for that would split my head I'm sure.
So you're stuck with the "me" that I'm willing for you to know.
I'm sure the rest of you are "an open book" and have nothing you'd rather didn't get dissected in public. Right.
[T]he bifurcation of logic needed would split my head I'm sure.
If you think that's bad, try TetralemmicLogic
Let's focus the discussion. Ignore religion, lifestyle and sports. Should a professional software developer be expected to attach his name to his opinions about software development techniques? -- EH
Not unless he chooses to. Employment is a business relationship. The minimal and sufficient criteria for a successful business relationship is fulfillment of expectations and obligations. That's already quite broad enough; a reasonable interpretation already exceeds the letter of a contract. I see no moral imperative to open all details of one's intellectual life to an employer, or to the internet at large. -- DanMuller
EH is correct, this is straying far from the original point. While your position is valid, it doesn't address the issue of deliberately deceiving someone in order to get a financial benefit. The bottom line is:
- TopMind (overcompensating much?) has strong views regarding certain technologies.
- Those views have a direct impact on how he would perform in certain technical roles.
- You have not effectively shown this to be the case. I don't like programming in C, but I'm pretty good at it. I have various other technical biases that would not necessarily have an impact on my ability to do good work, even if it went against those biases. - JamesAguilar
- He wishes to conceal those views from potential employers.
- He wants the participants on this Wiki to be complicit in this deception by respecting his use of a pseudonym even though the policy is anonymity or RealNamesPlease.
Your religion, sexual preference, and politics do not impact your ability to do most jobs. His technical biases do
. Actively working to conceal those biases in order to benefit financially is dishonest.
Oh, what a non-sene, please stop it. You guys just don't get it
I am amongst the last people that top has ever shown affection to. Yet it was me that got his RealName
page deleted when somebody was trying to "punish" him for his views -- and it took some perseverence on my part, for which he has yet to show some token appreciation -- because I thought it the right thing to do. I am seeing now this crazy arguments.
To begin with, the purpose of this wiki is not to serve employers directly. It never has been. It can serve employers indirectly by virtue of consolidating knowledge about programming and offering that to programmers in a fun and easily accessible way. What an employer wants to find about TopMind
is completely between TopMind
and that employer. You guys bringing it to this discussion is just beyond my power of comprehension. Oh, wait, the honorable RS threaten me once this way, as if I was ever actively hiding my thoughts about object databases. So I guess the temptation to do harm (or threaten it) is just too strong.
It appears that you are the one who doesn't "get it". This isn't about the purpose of this Wiki, it's about TopMind actively and deliberately seeking to conceal pertinent information from potential employers. He wants to preserve his pseudonymity here in order to deceive people for personal gain. Whether or not pseudonymity is appropriate here does not change the fact that he is behaving dishonestly.
No, the purpose of this wiki is to serve WikiReader
s, and in order to do that, it is good to use signatures and in general real names, because this generates accountability
. Yet, TopMind
can be considered sufficiently attached to his virtual persona of TopMind
so that his signature is just as good for the purpose of serving WikiReader
as any other real name. He puts some ambition and some obsession in defending his point of view, he suffers when his argument is made to look bad in a controversy and all that. We also have PhlIp
around here, don't we ?
As to how honest is top with his employers, remember that you ought not to judge. Maybe he's finding one of those lots of jobs around Foxpro like applications. Trust me, I've seen lots of them out there. Even if he is to work in a OO team, he probably knows OO more than enough, even from an adversarial positions, than many "OO fans" programmers that I have seen around. At the end of the day, in business applications -- the professed domain of top -- all that matters is PutTheDamnDataOnTheDamnScreen?
. It's not our business to judge how top performs professionally in his private life. --CostinCozianu
I thoroughly agree with Costin. I prefer to see real names, but there is a well-established and recognized personality behind TopMind
, which is a moniker that he was using regularly and consistently long before he became active on the C2 wiki. What would be the difference if he used a real-sounding name that still wasn't his real name? Used consistently, that name comes to designate a legitimate personality that you know and judge through his writing. His relationship with his employer is his own business, and there can be perfectly legitimate reasons for keeping it separate from his online persona. The mention of PersonalChoiceElevatedToMoralImperative
earlier seemed spot-on to me. -- DanMuller
Warning: a little bit of DevilsAdvocate
I actually agree with Costin and Dan, but let me ramble a bit here ...
The assumption that an employer should know all my views on development, platform, language, etc. is, I believe, trusting that the employer is rational and reasonable. The rational employer is a scarce commodity.
In many jobs I've been told, essentially, "we don't care what you'd rather
be doing, can you do it the way we want?" On one occasion I was able to make changes from within. For the rest, I was advised not to prosletyze for my favorite brand or method.
In some few instances one simply didn't voice anything that amounted to dissent. Ten years ago the consulting outfit I worked for got religion about OO, and failure to buy in was a CLM. I kept my job. I did what OO was required. And then [magical event here] OO was done and we were gonna do it all in VB. I didn't survive that. Interestingly, however, trumpeting VB during the OO period was a CLM.
Other places I've worked didn't care, really; if the team could agree on the tools and the approach, the GoldOwner
was happy to fund it. The place was noisy with competing ideas and pair-o-dimes. I wouldn't have wanted to be a maintenance coder there.
Here's the thing: my employer pays me because I can do what is required within the model we use
, not because of what I believe or espouse. The company's sacred cows are a pretty eclectic collection. What one should really avoid, though, is bashing the industry or the company's specific approach to it. So, in public, I don't. We are accumulating MicrosoftBarnacles?
however. More and more the hardcore EE dudes look both ways before cursing MS. Their opinions, publicly aired, would probably be under a pseudonym. And here's the rub: ostensibly the company doesn't care
about tool branding and ostensibly encourages diversity of thought
about technologies. Ostensibly.
I would probably not incur any wrath if I publicly favored one CPU over another, but if I took to bashing WinCe
loudly and publicly, I'd probably be asked, "are you happy here?"
And that's where we come to the ethical thing. Are you happy here? If my disagreements with the industry or business model & practices or tool choices or development methods of [employer] were strong enough, staying would be out of the question. If what I believed ran so counter to the essence of the company's identity that I had to hide my own identity to discuss it, staying would be a compromise endured only under duress.
So that's the line. If I wanted to have open discussions about our development model, and the dev model was a sacred cow, I'd do it under the name of James Thurber or whatever, or I'd do it somewhere other than in public.
If my disagreements made it so I couldn't fulfill my obligation -- if I couldn't do what they pay me to do -- then I'd find other employment at the earliest opportunity. If my disagreements were simply an inconvenience while I worked to brainwash the rest of the company, then I'd either keep it quiet or wear a mask.
It's not an absolute. Where it becomes an ethical breach is where you are now pretending to do your job
. I understand that you may not like
washing dishes, but it's what needs doing and it's what I'll pay for. I understand if you complain about it on your own time, as long as the dishes get washed on my time.
If Top is able to function, is able to do what he's paid for, is able to deliver the desired product in his context, then his complaints and disagreements should not prejudice his position. If the dishes aren't getting washed, then he's pretending and that's wrong.
I believe, however, if there is a real conflict there, he won't be able to keep this up indefinitely. He will eventually either accept his conditions or change them. The comply-quietly-and-do-the-work while disagree-strongly-but-secretly model is a tightrope I wouldn't want to walk. Eventually the answer to "are you happy here?" becomes important.
All of that having been said, here's a thought: when we moved up here, the effect of the environment change was so dramatic I told my wife, "I'll wash dishes before I move back there." Would I be happy washing dishes? No. Would I do it? Yes, and have done in the past. Would I complain about it? Not outside my domicile. Sometimes it's dishes or ditches that pays the bills. Sometimes it's OO. If you're going to take the money, do the work and don't embarrass your boss in public.
"Even if he is to work in a OO team, he probably knows OO more than enough, even from an adversarial positions, than many "OO fans" programmers that I have seen around."
You seem to have ignored the bulk of his contributions. He doesn't know OO well at all. He refuses to learn when others attempt to educate him. His anonymity doesn't just protect his unpopular opinion. It allows him to rant from ignorance without fear of consequences. He doesn't have to consider his words the same way other contributors do. That's annoying. -- EH
I entirely agree, especially that I got him so pissed off on some topics that he used foul language against me. If an employer finds you in a brawl on the internet it no longer matters who's the victim. But making him vulnerable to employers is not a solution either --CC
It may not be a solution, but it could be a cheap thrill. -- EH
Cheap for the perpetrator perhaps, but potentially very expensive for the victim. Not funny, and shame on you. -- DanM
Shame on me for what? Having a sense of humor? -- EH
For applying it inappropriately. It doesn't strike me as funny to talk about deliberately interfering in someone else's business relationships for personal amusement. -- DanMuller
I won't be ashamed because something didn't strike you as funny. -- EH
Things change. Once upon a time, people had open relays as a courtesy. Then SPAM became a big issue. The Internet became a little harsher and those open relays closed. Open *was* once the right thing to do. Then it became the wrong thing to do. Which was right? Both were, in their time.
I admire the sentiment behind RealNamesPlease
, but it is misguided. Its risks far outweigh the benefits. In my mind, it is no contest. RealNamesPlease
is not only sub-optimal, it is now downright dangerous. I have written all kinds of stuff in this wiki anonymously or under a pseudonym. There is nothing wrong with it. The only reason I use my real name now is because I have made a decision to do so because I am already known for other things and my anonymity is shot anyway. Otherwise, I would likely still post anonymously. In many cases, it is the right thing to do, whether you need the privacy or not.
I read the thread above and I found the badgering of TopMind
to be gruesome and unmannerly. Pestering people to conform to mob mores does not make the world a better place.
Heresy is a GoodThing
(TM). Most of todays heretics are probably delusional. However, it is from the heretics that will come the visionaries of tomorrow. Those who toe the party line contribute as well, but their contribution is slow, grinding, incremental (not always, but often). The real breakthroughs will come from 'mere doctors' slaving away in Patent offices.
I have a vague memory of reading something from TopMind
years ago. I found it interesting. I did not become a convert, but I did not feel that considering what he had to say was a waste of time. I surely do not think his point of view should be suppressed by wearying him about revealing his identity when he does not wish to do so. He should not have to defend his reasons for it. No means no. It does not require an explanation or defense. He chooses to remain anonymous and I, for one, applaud him for making that choice -- especially when he has paid such a stiff price for that anonymity. Surely people have to admit that he has earned it from the abuse he has taken.
This community is frighteningly inbred and intolerant of divergent opinions. It is a shame. It is not uncommon to see people who hold divergent opinions being invited to take their opinions elsewhere. Why, it sort of happened to me yesterday over on NoRealNamesPlease
There is much interesting discussion here and the GOF book is fertile ground. However, it is somewhat tainted here by slavish devotion to convention, which is ironic, since the GOF book was a groundbreaking book. By co-incidence, it is open on the chair beside me because I was referring to the 'Memento' pattern. I have had that floating around since 1995 and still look at it from time to time. There is some great stuff there, but it is not a complete exposition of programming by any stretch of the imagination. It also has errors (my copy may be an old one, so they might be fixed in a later printing), but the SingletonPattern
hiccup is still there AFAIK.
I similarly loved the old Unix guys stuff, especially my ancient copy of "The C Programming Language" by K&R. It is a thing of beauty. I love to look it over and contemplate the elegance and power of that language back when COBOL and FORTRAN and BASIC and other lesser languages ruled the roost. One of the things that particularly amuses me is that K&R were not the best of C programmers. They do a lot of stuff that I consider poor practice. For instance, they mention that the goto statement is not formally necessary and that they do not use it in the book. However, they say "C provides the infinitely-usable goto statement" and "we will suggest a few situations where goto's may find a place." They then go on to describe a couple of dreadful programming practices and then finally close with the tepid "Although we are not dogmatic about the matter, it does seem that goto statements should be used sparingly, if at all. It is to laugh. I take what that book has to offer (and it has a lot to offer even today), but I take it with a grain of salt. They were visionaries and no slouches when it came to programming, but they were not perfect and by todays standards they did more than a few things that are not considered good practice. Certainly, their language was no ANSI C. It was beautiful, but it was capable of improvement. ANSI C is much preferable. C is still one of my (dare I say it) 'go to' languages. However it does suffer some deficiencies that grate on my nerves and C++, though it corrects some adds others and it injures some of C's spartan beauty (the 'symmetry breaking' syntax of I/O redirection is an abomination, IMO).
My point is, there is much to admire about the GOF book and design patterns, just as there is with that ancient book on C. There is also much to admire about WikiWay
and the cultural ethic here. However, it has become rigid and inflexible and some things (like RealNamesPlease
) that were not great ideas to begin with (though motivated by good intentions), have become very much *bad* ideas as they have aged and the Internet has matured. Some things that are quite errant, such as the SingletonPattern
are defended quite strongly with the most outrageous arguments as if by criticizing this one minor mistake one was making a personal attack on the GOF themselves.
Real software development is a messy affair. It takes a lot of heart to work through the night and see things through. It is not easy as a discipline and exceedingly difficult to master as an art. It can take a fearsome dedication and single mindedness of purpose to build even relatively simple things correctly. Good programmers have been, in my experience, rather opinionated. Some are quite blunt and do not mince words when they are criticizing (things they think are) bad habits. As is well documented here, a lot of them can be quite wrong and yet stick fiercely to their convictions. There is a problem, for instance, with the 'assert' statement. It should not be used. That is my strong opinion after twenty five years of programming in languages that have such facilities and having worked with many top programmers. Most would not touch it with a ten-foot pole. It has formal problems, just like that 'goto' statement above (which, BTW, has supporters even to this day). I have belabored it elsewhere, so will not go into it here. Needless to say, the supporters don't really see the formal problems and hence can't quite get why it is doomed in practice. There is a vociferous group of supporters here that think that the assert statement is not only not a bad idea, but in fact a 'best practice'. In practice, it never helps in production and is invariably a liability.
Often, some of the very brightest can be the most persistently wrong-headed about things and have to learn themselves by painful experience before they fix some of their bad habits. If you are good enough, I don't think you should pull any punches in stating your point of view. However, I think that seasoned programmers should do their best to tolerate, enlighten and when all else fails, get out of the way and let them get to the business of letting experience teach them.
Now, since you asked ... I think what is called for here is a little more tolerance, nay encouragement, of dissent and some recognition that the rules should not be cast in stone and maybe, just maybe what was a good idea (or at least not a terrible idea) when it started, is not such a great idea any more. I would put into that category the RealNamesPlease
seems to attempt to make the community orderly, responsible and mannerly. Perhaps the community has tried too hard to be orderly and has inhibited its development. Perhaps making people 'responsible' is dangerously presumptuous and you should allow them to make their own decisions so that their interests are properly protected. Miss Manners says "When Miss Manners observes people behaving rudely, she never steps in to correct them." Perhaps we should all take a tip from Miss Manners (me too) and simply lead by example and give lessons on manners only when asked. -- BobTrower
See also RealNamesPlease NoRealNamesPlease