|
I hear that. I remember sitting with a book on some assembly language for some processor I can't remember back in 1980(?) and walking through the code examples by hand figuring out what they did and how they worked. Very interesting stuff and it taught me a lot about how processors worked.
|
|
|
|
|
Threads are an old favorite magic bullet. On the surface it sounds like you can do a whole bunch of things, all at the same time. Unfortunately it takes a lot of painful experience and some hard-won discipline to be able to do this effectively, especially within a UI.
I think a lot of the Q&A's get themselves in over their heads, and now they're looking for a simple solution. Obviously, there isn't one.
Software Zen: delete this;
|
|
|
|
|
In all fairness though, threads are hard. I can say with great certainty that most developers don't understand them, even (perhaps more worryingly) many of those who think they do. Anyone who thinks threading isn't hard doesn't understand it.
People expect things to happen in the order they wrote them, and they implicitly assume that everything is "atomic enough" by not even considering the alternative. And I can't really blame them, it just makes sense.
|
|
|
|
|
Threading is easy to understand. You just need to use them (and real-time systems) for twenty years first!
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 – ∞)
|
|
|
|
|
Pfft! Nobody's got that much time. I'll just kick off twenty threads and do it in parallel. Next year, I'll be the local threading expert.
What is this talk of release? I do not release software. My software escapes leaving a bloody trail of designers and quality assurance people in its wake.
|
|
|
|
|
harold aptroot wrote: In all fairness though, threads are hard.
Agreed. But I'm referring to the simpler end where you just need to post to the GUI thread without having to worry about synchronization, signaling etc.
And that's just an example. My point is that people don't put any effort in and just demand answers which they get (reputation++) which doesn't really help them beyond their immediate need and actively degrades the quality of the Q&As. There's little of interest in there for experienced developers, reputation aside, and it wasn't always like that.
Regards,
Rob Philpott.
|
|
|
|
|
Rob Philpott wrote: and it wasn't always like that. It wasn't? I don't really remember QA being any other way. The forums, yes, but not QA. But perhaps I'm remembering it wrong, that sort of thing does happen.
|
|
|
|
|
No you're not, I had the pre-QA days in mind...
Regards,
Rob Philpott.
|
|
|
|
|
Threads are easy. What's hard is dealing with interactions between threads, and particularly interactions where both sides need write access to the same stuff.
Unfortunately in the real world threading code tends to be dealing with solving a problem and posting results so this hard area is something we almost always need. But I think it's better to at least know where the hard bit is.
In this case the shared resource that needs writing to is the UI (or, better, the data model that the UI is bound to).
The trouble is though, with a lot of the people that ask these questions, if you do explain the real problem they're having and raise some of the issues in this subthread, they just won't understand it. They're just after copypasta and that's what gets the 'accepted, 5' ... so there's an incentive for people to post mostly-working snippets instead of meaningful answers.
|
|
|
|
|
Rob Philpott wrote: It gets asked time and time again and yet is so very basic. Same goes for setting the parent on a form, reading from a database, handling exceptions.. da list goes on.
Rob Philpott wrote: Or even more radical, buy a book and learn a bit about the subject? Someone who learnt to code is too expensive; hire a trainee, and let them work on a product before they get a chance to learn anything. Next, send them to this forum.
Since health-care is equally expensive, I expect the same MO to be introduced there within a few years. Have your gut repaired by a doc that it is "a beginner and very new to the subject". If you're lucky it will be an agile project, meaning that the deadline will pass quickly.
Rob Philpott wrote: Oh yes, reputation points. I like to think that most of us are here simlpy to learn things from others, or to help others.
..and yes, each question can be answered using enough research. If you take your statement to the extreme, then CodeProject would have been redundant. Why explain anything that can be learned?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: ..and yes, each question can be answered using enough research. If you take your statement to the extreme, then CodeProject would have been redundant.
That's only if you really take it to the extreme. There's a difference, imo at least, between posting questions that can be answered just by googling the title, and things that you could 'research' by doing a course, but isn't just a question with a simple code snippet answer you should have found.
For example if you post "How should I manage load balancing on a web server?", that's not something you can just go and look up and find the 'right' answer. Discussion forums like CP are invaluable for those deeper questions.
|
|
|
|
|
BobJanova wrote: That's only if you really take it to the extreme. ..but where does one draw the line then?
Topics described in a how-to? How about "data providers", is that a topic where you cannot look up the answer?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: Have your gut repaired by a doc that it is "a beginner and very new to the subject". If you're lucky it will be an agile project, meaning that the deadline will pass quickly.
Now that's a scary thought. Surgery performed with agile methodologies. I do NOT want to hear the doctor talk about "refactoring."
Marc
|
|
|
|
|
Rob Philpott wrote: Contributing to the demise of software development
Are you done with desktop PC?
|
|
|
|
|
Your point?
Regards,
Rob Philpott.
|
|
|
|
|
|
1 - 1, ball in the middle.
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Entropy isn't what it used to.
|
|
|
|
|
That's why I don't like that many "answers" in QA don't take a holistic approach to helping and mentoring the monkeys.
Don't just point out the minor syntax error in the bad code -- like a missing apostrophe in a concatenated SQL query -- tell them how to make the whole thing better!
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
I quite like stack overflows attitude of pointing people to the same question asked previously . It eggs people on to spend a little bit of time looking for themselves .
Aside from that ,what you are saying is to only ask questions that google and self investigation cannot fix ? Wouldn't that mean we have no forums at all ?
|
|
|
|
|
Andrew Torrance wrote: Aside from that ,what you are saying is to only ask questions that google and self investigation cannot fix ?
Not quite, but not far off. What is wrong with idea that you try to work out something for yourself before asking for help? I was taught to think like that at school, and that's how you actually learn.
Regards,
Rob Philpott.
|
|
|
|
|
Sounds like you just need to avoid Q&A discussion areas then Probably any and all information is available somewhere online, in a book, or discoverable through individual investigation and testing. Asking in a Q&A is just another resource not the only one. Sure someone could get an answer in one of those other avenues or they could ask. If you really don't want to ever state anything which has already been stated then Q&A discussions probably just aren't your cup of tea.
|
|
|
|
|
That's a fair argument! There's a good deal of expertise I can rely on here when I get stuck so it'd be wrong to make out that is not the case. But, I don't think Q&As reflects that, its about people answering rather trivial and specific questions often over and over again and makes for rather boring reading. Unfortunately the forums, which make much better reading having gone quiet after its arrival.
Regards,
Rob Philpott.
|
|
|
|
|
Rob Philpott wrote: experienced developers who know their field I do not think it is necessary to postulate a Manichean struggle between an illuminati of developers who exist "far from the madding crowd," who have "arrived" at some special level of competence, versus the unwashed hordes of the barbarian invaders in order to explain the historical change in QA on CodeProject.
By the way, in my book, an "experienced developer" is one who has learned the necessity of constant re-training in order to be able to implement the wisdom, principles, heuristics, etc., learned from formal education, self-education, and long experience, in technology that is constantly changing, using tools that are constantly changing.
I propose that what we see on CodeProject QA today (and on the language forums, to some extent), compared to, say, five, or ten, years ago, is best characterized as a shift in demography. For whatever reasons, CodeProject QA now has the reputation as a place to get a quick answer among students, and newcomers to programming, many of whom are not fluent in English. Imho, there's nothing inherently "wrong" in that !
And, yes, CP QA gets a spate of questions from homework-shirkers, the terribly confused, and people who are probably victims of really poor quality education. But, why do these folks swarm into CodeProject QA ? That is the question.
Many of the questions on CP QA would never be tolerated on, say, StackOverFlow. Please note that by saying that, I am not implying I think CP QA should be like StackOverFlow.
One reason CP QA may have gained this reputation as a soft touch; is, imho: CP doesn't really demand anything of the person who posts a question. You are not required to even properly select tags for the question; the result is you see hundreds of comments, or even posts as "solutions," which essentially beg the OP to please tell us what the question is about, as in: whether it's WinForms, or WPF, or ASP.NET, etc.
In my opinion, people often do not value what they are given free; or given without responsibility (a sad aspect of human nature, I am afraid): I believe that some of the frequent abuses of CP QA, such as people who literally ask questions as they develop a program blow-by-bloody-blow (often never voting for the helpful answers they receive), simply relate to the fact the poster has no obligation; there is no implicit requirement for reciprocity. Unfortunately, it is an even sadder aspect of human nature, imho, that people go beyond not valuing what they receive for free, but actually do not respect what they get at no perceived cost, and do not respect the source of what they get for free.
This behavior by (some of) the OP's is matched, in my perceptions, by the variance in behavior of those who post solutions; one respondent feels free to post a sermon on how the OP's entire technical knowledge is beyond redemption as a solution; another, posts a request to clarify the question as a solution. Others use comments.
Another respondent throws a bunch of links they found with a quick search on CP and/or Stackoverflow into a solution post (and some of those posts are quite helpful to the OP because they do address the OP's question, so I am not hinting I believe there should be a fatwah against solutions that contain only links, LOL) [^]. Some respondents feel free to actively solicit the OP to select their response as "the solution;" others, like myself, would never do this (an artifact of the way I was raised, I believe).
Beyond this "variance" among respondents lies the active abuse of the QA Forums for the purpose of bloating reputation: into that circle of hell, we shall not go in this post
Should CP QA be changed in structure ? I think so, and I've said my piece on that both here, and on the "Suggs and Buggs" forum. I suggest if you think it should be changed, you say your piece.
In the meantime, I will continue to post comments, and solutions on CP QA, playing by my own rules, because: I enjoy it; and, it helps my on-going attempts at self-education. There can be the rare satisfaction of feeling that you have genuinely helped someone learn something they were ready to learn. "Reputation" is "small potatoes" compared to that [^].
cheers, Bill
“Use the word 'cybernetics,' Norbert, because nobody knows what it means. This will always put you at an advantage in arguments.” Claude Shannon (Information Theory scientist): letter to Norbert Weiner of M.I.T., circa 1940
|
|
|
|
|
Bill - possibly the longest and most articulate answer I've ever received here, and a delight to read
I can't argue with it and neither have the inclination to do so!
Regards,
Rob Philpott.
|
|
|
|
|
After 12 years, support for Windows XP will end on April 8, 2014. There will be no more security updates or technical support for the Windows XP operating system
|
|
|
|
|