1. The lounge is for the CodeProject community to discuss things of interest to the community, and as a place for the whole community to participate. It is, first and foremost, a respectful meeting and discussion area for those wishing to discuss the life of a Software developer.
The #1 rule is: Be respectful of others, of the site, and of the community as a whole.
2. Technical discussions are welcome, but if you need specific programming question answered please use Quick Answers[^], or to discussion your programming problem in depth use the programming forums[^]. We encourage technical discussion, but this is a general discussion forum, not a programming Q&A forum. Posts will be moved or deleted if they fit better elsewhere.
4. No politics (including enviro-politics[^]), no sex, no religion. This is a community for software development. There are plenty of other sites that are far more appropriate for these discussions. Or if you must, use the Back Room[^] - but enter at your own risk.
5. Nothing Not Safe For Work, nothing you would not want your wife/husband, your girlfriend/boyfriend, your mother or your kid sister seeing on your screen. For those discussions where you wish to be a little more frank, use the Soapbox[^]
6. Any personal attacks, any spam, any advertising, any trolling, or any abuse of the rules will result in your account being removed.
7. Not everyone's first language is English. Be understanding.
Please respect the community and respect each other. We are of many cultures so remember that. Don't assume others understand you are joking, don't belittle anyone for taking offense or being thin skinned.
We are a community for software developers. Leave the egos at the door.
It seems to me that it is "enterprisey" to write layer of abstract code.
In fact I am often criticized as "not liking layers"
So first I'd like to say what I thing about architecture then ask my question
A crux of contention is:
I would argue writing layered code is not an end of its own (at least not reasonably).
I would argue an end of its own is (simple maintainable code, i.e.) probably be these few properties:
- modular (people can work on their bit independently)
- dependencies flow down (top level use low level, low level do NOT use top level)
- simplest / unobtrusive as possible shell / architecture to glue stuff together
this *might be* layered / interfaced too but this is not the purpose...
What I often see and I wonder how prevalent and wonder how common it is
Layered / interfaced as hell code which takes weeks to understand to solve problem as simple as adding 1 + 2.
I enjoyed RogelloP's current post on this topic, but, on reflection, I found such a variance between the person-types listed in his post and my actual experience working in various software companies, including a start-up, that I feel compelled to publish my own list:*
1. schizophrenic creative visionary who typically communicates in grunts
2. best college friend of #1 who never held a job for longer than two months before this one, and is into S&M
3. ex-felon convicted of securities fraud, and tax evasion
4. manic-depressive hyper-verbal former philosophy master's degree holder
5. former assembly language programmer only familiar with printer-drivers for long-discontinued ink-jet printers
6. alcoholic former zookeeper fired for willful negligence of the animals in their care
7. programmer from India, or China, or Taiwan
8. vegetarian meditator recently convicted of spiking trees
9. drag-strip racer, gun hobbyist, military memorabilia collector, amphetamine user
10. anal-retentive compulsive-obsessive high-Asperger savant
Relation of these persons to their job titles:**
1. only one person can have the following titles: CEO/President, CTO/Chief Scientist, CFO/Accountant
2. more than one person can have the following titles: programmer, marketer, public relations (aka 'booth bunny,' or 'booth stud'), janitorial, massage therapist, psychiatrist, janitorial, network/site admin, unpaid intern
* Note: Any resemblance of the persons described here to certain well-known CP members is purely serendipitous, although, given quantum electrodynamics, one cannot rule out extra-sensory influence, or the possibility of hive-mind thought-control.
** Note: This is not to imply there is some causal relationship between background, experience, and capability, of these persons, and the job title they may hold.
“I have diligently numbered the days of pure and genuine happiness which have fallen to my lot: They amount to 14.” Abd-Ar Rahman III, Caliph of Cordoba, circa 950CE.
So, use != in SQL as well - I do!
The only DB I know of that doesn't accept it is Access 2010 - and I try to avoid using that as much as possible anyway!
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)