The Forum for Discussion about The Third Manifesto and Related Matters

You need to log in to create posts and topics.

Codd 1970 'domain' does not mean Date 2016 'type' [was: burble about Date's IM]

Quote from AntC on November 19, 2019, 3:14 am
Quote from Erwin on November 18, 2019, 12:09 pm
Quote from AntC on November 18, 2019, 11:41 am
Quote from AntC on November 18, 2019, 12:30 am

 

I've been poking the StackOverflow troll again; I plead guilty as charged.

Ah, I see @Erwin fancied a bit of poking too. Em, the idea on StackOverflow is that if the q is muddled, but 'we' know what it's really asking (because we know the textbook it's from, or we know where the instructor filched it from), we don't just give the blimmin' obvious (to us) answer.

No learning will result. Giving a student a fish vs teaching a student to fish for a lifetime, etc.

No, I deliberately abstained from poking.  I even abstained from downvoting.  And at least I've given ***something***.  Too much, may be so, but the idea on SO is just as well to at least give ***something***.

The aforementioned troll, if he actually understood what he's talking about, would regard your answer as a poke: your Natural Join directly contradicts his "The simple answer is, with id on every file, you can't. [link tables together]" But since clearly (to you and me) those ids are business-oriented identifiers and not "physical, anti-relational, 1960's Record Filing Systems. ... physical pointer to a record", Natural Join is the, em ..., natural solution.

Re 'give something' YMMV. There's at least one other troll lives under the relational-algebra/relational-database/natural-join bridge (and formerly of this parish) whose behaviour amounts to: give only nitpickety boilerplate critique of the OP's confusion; unless it's a perfect question (in his judgment alone); and then give an answer that is as impenetrable as possible, and well beyond the understanding of any beginner.

   Perhaps you could post some follow-up exercises such as "read up on the JOIN family of operators" in a comment.

You've given an answer in terms of SQL. Is that what the OP wants? (I can't tell, which is why my comment asks 'What have you tried so far?') They've not tagged SQL; they have tagged relational-database. I see those two as mutually exclusive (which the aforementioned troll kinda suggests). I do see it as valuable learning to get the OP to clarify what they're asking before giving any answer.

I'll abstain (just) from downvoting your answer, on grounds it answers a question nobody has asked (yet).

StackOverflow suffers from a problem I often saw in academia, too: Both attract too few (relatively speaking) who genuinely want to help beginners, and too many (relatively speaking) who only wish to show the world how wrong it is and how much they know they're right.

It doesn't work, of course; all it does is gain them a place on various "ignore" lists.

I'm the forum administrator and lead developer of Rel. Email me at dave@armchair.mb.ca with the Subject 'TTM Forum'. Download Rel from https://reldb.org
Quote from Dave Voorhis on November 19, 2019, 12:58 pm

StackOverflow suffers from a problem I often saw in academia, too: Both attract too few (relatively speaking) who genuinely want to help beginners, and too many (relatively speaking) who only wish to show the world how wrong it is and how much they know they're right.

It doesn't work, of course; all it does is gain them a place on various "ignore" lists.

That presumes that helping beginners by answering their questions is a proper or intended goal for SO. I see no basis for that view.

The design, construction and operation of SO favour those who are skilled in asking and/or answering interesting (programming) questions. Beginner questions are rarely interesting, are often hard to answer for all the wrong reasons, and provide little interest to other readers. The single greatest benefit of SO is to find that your question has already been asked and comprehensively answered. SO is at its best when you don't need to ask anything, and that was how it was always intended.

I think the site should be kinder to those who bring real knowledge but do not yet have the skill to ask (or answer) good questions. I have little sympathy for bad or beginner questions (or answers).

Andl - A New Database Language - andl.org
Quote from dandl on November 19, 2019, 10:24 pm
Quote from Dave Voorhis on November 19, 2019, 12:58 pm

StackOverflow suffers from a problem I often saw in academia, too: Both attract too few (relatively speaking) who genuinely want to help beginners, and too many (relatively speaking) who only wish to show the world how wrong it is and how much they know they're right.

It doesn't work, of course; all it does is gain them a place on various "ignore" lists.

That presumes that helping beginners by answering their questions is a proper or intended goal for SO. I see no basis for that view.

The design, construction and operation of SO favour those who are skilled in asking and/or answering interesting (programming) questions. Beginner questions are rarely interesting, are often hard to answer for all the wrong reasons, and provide little interest to other readers. The single greatest benefit of SO is to find that your question has already been asked and comprehensively answered. SO is at its best when you don't need to ask anything, and that was how it was always intended.

I've seen the same argument made in universities to justify introductory teaching that assumes a level of subject knowledge but without an explicit prerequisite, on the basis that if students aren't interested enough in subject X to have already learned its foundations then they don't belong in university. (E.g., "Why are we teaching programming? We should assume they know programming!")

It doesn't work, particularly when it's demonstrated that some of the rank beginners who badly ask the worst questions turn into the best students. (Bad students don't ask; they give up.) I suspect the same applies to StackOverflow.

I'm the forum administrator and lead developer of Rel. Email me at dave@armchair.mb.ca with the Subject 'TTM Forum'. Download Rel from https://reldb.org
Quote from Dave Voorhis on November 19, 2019, 10:55 pm
Quote from dandl on November 19, 2019, 10:24 pm
Quote from Dave Voorhis on November 19, 2019, 12:58 pm

StackOverflow suffers from a problem I often saw in academia, too: Both attract too few (relatively speaking) who genuinely want to help beginners, and too many (relatively speaking) who only wish to show the world how wrong it is and how much they know they're right.

It doesn't work, of course; all it does is gain them a place on various "ignore" lists.

That presumes that helping beginners by answering their questions is a proper or intended goal for SO. I see no basis for that view.

The design, construction and operation of SO favour those who are skilled in asking and/or answering interesting (programming) questions. Beginner questions are rarely interesting, are often hard to answer for all the wrong reasons, and provide little interest to other readers. The single greatest benefit of SO is to find that your question has already been asked and comprehensively answered. SO is at its best when you don't need to ask anything, and that was how it was always intended.

I've seen the same argument made in universities to justify introductory teaching that assumes a level of subject knowledge but without an explicit prerequisite, on the basis that if students aren't interested enough in subject X to have already learned its foundations then they don't belong in university. (E.g., "Why are we teaching programming? We should assume they know programming!")

A university is there to teach students. If it fails to teach students, it fails. I have no opinion on how universities or other teaching establishments should go about their business. I only care about the skills of the people they eventually let loose into the community. In this instance I care about results, not process.

It doesn't work, particularly when it's demonstrated that some of the rank beginners who badly ask the worst questions turn into the best students. (Bad students don't ask; they give up.) I suspect the same applies to StackOverflow.

There is no parallel. SO is there to act as a repository of interesting questions and good answers. If the questions or the answers are of poor quality it fails.

Stack Overflow is a question and answer site for professional and enthusiast programmers. It's built and run by you as part of the Stack Exchange network of Q&A sites. With your help, we're working together to build a library of detailed answers to every question about programming. (emphasis added)

Beginners (in programming) are poor contributors to SO, and SO has no obligation to teach them. It is of no concern or interest to SO how beginners learn their craft, and there is no reason to welcome them.

Andl - A New Database Language - andl.org
Quote from dandl on November 19, 2019, 10:24 pm
Quote from Dave Voorhis on November 19, 2019, 12:58 pm

StackOverflow suffers from a problem I often saw in academia, too: Both attract too few (relatively speaking) who genuinely want to help beginners, and too many (relatively speaking) who only wish to show the world how wrong it is and how much they know they're right.

It doesn't work, of course; all it does is gain them a place on various "ignore" lists.

That presumes that helping beginners by answering their questions is a proper or intended goal for SO. I see no basis for that view.

I am a beginner in a great number of topics: programming languages I never used commercially (like C/C++); configurations for sundry bits of hardware; the internals of the Windows version on my current PC; theorem provers; constructivist logic as applied to type theory; ... SO has been very helpful for my elementary questions: most of them are answered there already.

The Haskell forums on SO are quite different in tolerance and civility to what you describe, with oft-repeated and polite answers to frequent questions and only mild remonstrance that they're FAQs.

In general, I see no basis for your (implied) view.

I have drawn a blank asking q's on the mathematics/algebra of lattices: I got active hostility and downvoting for my beginners questions. This was despite me doing as much research as poss beforehand, citing my sources, describing what I've tried. This is one of the major blocks to my making progress on the topic. I have just run out enthusiasm: I'm getting no positive results from my efforts; and no help whatsoever from anybody. If I do eventually get anywhere, I'll be giving a speech like Spike Milligan's acceptance of an award at the BAFTAs: I'm not going to thank anybody, because I did it all on my own.

The design, construction and operation of SO favour those who are skilled in asking and/or answering interesting (programming) questions.

I see nothing like that in the design. There is some of that in the "operation" -- meaning the rewards system. But that is easily 'gamed', meaning that answerers with high scores (like the aforementioned two) are in fact useless at responding to the q. What those two say might be true, might be answering some question or other, but are rarely answering the q as put.

Beginner questions are rarely interesting, are often hard to answer for all the wrong reasons, and provide little interest to other readers. The single greatest benefit of SO is to find that your question has already been asked and comprehensively answered. SO is at its best when you don't need to ask anything, and that was how it was always intended.

I think the site should be kinder to those who bring real knowledge but do not yet have the skill to ask (or answer) good questions. I have little sympathy for bad or beginner questions (or answers).

So your attitude on SO is to be one of the arrogant so-and-so's? Weren't you a learner once? Where/how did you learn?

Quote from dandl on November 20, 2019, 1:00 am
Quote from Dave Voorhis on November 19, 2019, 10:55 pm
Quote from dandl on November 19, 2019, 10:24 pm
Quote from Dave Voorhis on November 19, 2019, 12:58 pm

StackOverflow suffers from a problem I often saw in academia, too: Both attract too few (relatively speaking) who genuinely want to help beginners, and too many (relatively speaking) who only wish to show the world how wrong it is and how much they know they're right.

It doesn't work, of course; all it does is gain them a place on various "ignore" lists.

That presumes that helping beginners by answering their questions is a proper or intended goal for SO. I see no basis for that view.

The design, construction and operation of SO favour those who are skilled in asking and/or answering interesting (programming) questions. Beginner questions are rarely interesting, are often hard to answer for all the wrong reasons, and provide little interest to other readers. The single greatest benefit of SO is to find that your question has already been asked and comprehensively answered. SO is at its best when you don't need to ask anything, and that was how it was always intended.

I've seen the same argument made in universities to justify introductory teaching that assumes a level of subject knowledge but without an explicit prerequisite, on the basis that if students aren't interested enough in subject X to have already learned its foundations then they don't belong in university. (E.g., "Why are we teaching programming? We should assume they know programming!")

A university is there to teach students.

Arrant nonsense: a university is there to get research grants (and earn fees from foreign students). Teaching the domestic students is just baseload to pay for the establishment costs.

If it fails to teach students, it fails. I have no opinion on how universities or other teaching establishments should go about their business. I only care about the skills of the people they eventually let loose into the community. In this instance I care about results, not process.

I regret that the distinction between Universities vs Polytechnics/Technical Colleges has disappeared. It used to be that if you wanted to learn a technical skill (like programming) you'd go to a Poly. If you wanted to be an academic (like Computer Science) you went to a Uni, and you were expected to learn programming by yourself/it was beneath the academics to teach 'skills'.

It doesn't work, particularly when it's demonstrated that some of the rank beginners who badly ask the worst questions turn into the best students. (Bad students don't ask; they give up.) I suspect the same applies to StackOverflow.

There is no parallel. SO is there to act as a repository of interesting questions and good answers. If the questions or the answers are of poor quality it fails.

I suspect you and I have very different criteria for what counts as a 'good' answer.

Stack Overflow is a question and answer site for professional and enthusiast programmers. It's built and run by you as part of the Stack Exchange network of Q&A sites. With your help, we're working together to build a library of detailed answers to every question about programming. (emphasis added)

Beginners (in programming) are poor contributors to SO, and SO has no obligation to teach them. It is of no concern or interest to SO how beginners learn their craft, and there is no reason to welcome them.

said by the guy who asked no end of easily-answered questions when he arrived here. And still exhibits quite elementary misunderstandings. And then acted all hurt when the q's/misunderstandings weren't always welcomed. Why didn't you ask on SO?

Then where do beginners 'learn their craft'? That is, for topics they didn't cover in the formal education system. Wikipedia is a minefield. Online texts can be very misleading, unless you get a reliable recommendation for an applicable one (such advice is explicitly forbidden on SO).

Quote from AntC on November 20, 2019, 2:09 am

I am a beginner in a great number of topics: programming languages I never used commercially (like C/C++); configurations for sundry bits of hardware; the internals of the Windows version on my current PC; theorem provers; constructivist logic as applied to type theory; ... SO has been very helpful for my elementary questions: most of them are answered there already.

So it's working as it should, you thought of a question and found it had already been asked and answered. Perfect.

I have spoken to many people about their experience on SO, and mostly their experience is thus, and rather positive. This is what they value: quick answers, no waiting, the Q&A were already there. The kind of open hostility I read here is unusual.

The Haskell forums on SO are quite different in tolerance and civility to what you describe, with oft-repeated and polite answers to frequent questions and only mild remonstrance that they're FAQs.

In general, I see no basis for your (implied) view.

I have drawn a blank asking q's on the mathematics/algebra of lattices: I got active hostility and downvoting for my beginners questions. This was despite me doing as much research as poss beforehand, citing my sources, describing what I've tried. This is one of the major blocks to my making progress on the topic. I have just run out enthusiasm: I'm getting no positive results from my efforts; and no help whatsoever from anybody. If I do eventually get anywhere, I'll be giving a speech like Spike Milligan's acceptance of an award at the BAFTAs: I'm not going to thank anybody, because I did it all on my own.

The variability across forums is a problem. I have asked or answered questions on several and found them very different in character, so my comments here apply only to SO (and its close partner Software Engineering).

The design, construction and operation of SO favour those who are skilled in asking and/or answering interesting (programming) questions.

I see nothing like that in the design. There is some of that in the "operation" -- meaning the rewards system. But that is easily 'gamed', meaning that answerers with high scores (like the aforementioned two) are in fact useless at responding to the q. What those two say might be true, might be answering some question or other, but are rarely answering the q as put.

Over a few thousand personal reputation signifies little, except perhaps length of service. The question and answers referred to here are both close to zero, so virtually worthless. That's the design, working as intended.

Beginner questions are rarely interesting, are often hard to answer for all the wrong reasons, and provide little interest to other readers. The single greatest benefit of SO is to find that your question has already been asked and comprehensively answered. SO is at its best when you don't need to ask anything, and that was how it was always intended.

I think the site should be kinder to those who bring real knowledge but do not yet have the skill to ask (or answer) good questions. I have little sympathy for bad or beginner questions (or answers).

So your attitude on SO is to be one of the arrogant so-and-so's? Weren't you a learner once? Where/how did you learn?

I don't answer bad questions, I prefer to close them rather than let them linger. If I do contribute, I try to be courteous and add to the sum of knowledge. My preference is to write a better answer for a good question that has been answered badly.

On a new topic where I am a learner, I know that SO is not the place to go. I find that there are boundless tutorials, samples, blogs etc to get to a level beyond newbie. By the time I need SO the question I want to ask is already there to be found, or I can write one of sufficient quality.

 

Andl - A New Database Language - andl.org
Quote from AntC on November 20, 2019, 2:24 am
Quote from dandl on November 20, 2019, 1:00 am
Quote from Dave Voorhis on November 19, 2019, 10:55 pm
Quote from dandl on November 19, 2019, 10:24 pm
Quote from Dave Voorhis on November 19, 2019, 12:58 pm

StackOverflow suffers from a problem I often saw in academia, too: Both attract too few (relatively speaking) who genuinely want to help beginners, and too many (relatively speaking) who only wish to show the world how wrong it is and how much they know they're right.

It doesn't work, of course; all it does is gain them a place on various "ignore" lists.

That presumes that helping beginners by answering their questions is a proper or intended goal for SO. I see no basis for that view.

The design, construction and operation of SO favour those who are skilled in asking and/or answering interesting (programming) questions. Beginner questions are rarely interesting, are often hard to answer for all the wrong reasons, and provide little interest to other readers. The single greatest benefit of SO is to find that your question has already been asked and comprehensively answered. SO is at its best when you don't need to ask anything, and that was how it was always intended.

I've seen the same argument made in universities to justify introductory teaching that assumes a level of subject knowledge but without an explicit prerequisite, on the basis that if students aren't interested enough in subject X to have already learned its foundations then they don't belong in university. (E.g., "Why are we teaching programming? We should assume they know programming!")

A university is there to teach students.

Arrant nonsense: a university is there to get research grants (and earn fees from foreign students). Teaching the domestic students is just baseload to pay for the establishment costs.

Well, yes. That's how a university pays the rent and keeps the lights on.

Ostensibly, (cue stirring background music) a university's purpose is to generate and disseminate knowledge. The two are done in some proportion. Most universities do both, but some do more or less knowledge generation than others.

If it fails to teach students, it fails. I have no opinion on how universities or other teaching establishments should go about their business. I only care about the skills of the people they eventually let loose into the community. In this instance I care about results, not process.

I regret that the distinction between Universities vs Polytechnics/Technical Colleges has disappeared. It used to be that if you wanted to learn a technical skill (like programming) you'd go to a Poly. If you wanted to be an academic (like Computer Science) you went to a Uni, and you were expected to learn programming by yourself/it was beneath the academics to teach 'skills'.

The best programmers tend to be properly taught practical skills (e.g., programming), appropriately educated in relevant theory (e.g., computer science), and at least introduced to industrial processes and standards (e.g., software engineering). Some Polys accomplished it -- along with some of their North American technical/community college equivalents -- and some universities. Those that focus on one over the others tend to produce narrow graduates, suitable only for coding gruntwork or academic publishing, but not both or much else.

I'm the forum administrator and lead developer of Rel. Email me at dave@armchair.mb.ca with the Subject 'TTM Forum'. Download Rel from https://reldb.org
Quote from AntC on November 20, 2019, 2:24 am
Quote from dandl on November 20, 2019, 1:00 am

A university is there to teach students.

Arrant nonsense: a university is there to get research grants (and earn fees from foreign students). Teaching the domestic students is just baseload to pay for the establishment costs.

I don't see much point in responding to this click bait. Universities grant degrees, mostly to people they have educated. Their income is grants, bequests, fees, etc. The mix varies by uni. Do I have to prove it?

I regret that the distinction between Universities vs Polytechnics/Technical Colleges has disappeared. It used to be that if you wanted to learn a technical skill (like programming) you'd go to a Poly. If you wanted to be an academic (like Computer Science) you went to a Uni, and you were expected to learn programming by yourself/it was beneath the academics to teach 'skills'.

And the relevance is?

There is no parallel. SO is there to act as a repository of interesting questions and good answers. If the questions or the answers are of poor quality it fails.

I suspect you and I have very different criteria for what counts as a 'good' answer.

Along with another million people on SO. But a high score on question and answer is a good clue.

Beginners (in programming) are poor contributors to SO, and SO has no obligation to teach them. It is of no concern or interest to SO how beginners learn their craft, and there is no reason to welcome them.

said by the guy who asked no end of easily-answered questions when he arrived here. And still exhibits quite elementary misunderstandings. And then acted all hurt when the q's/misunderstandings weren't always welcomed. Why didn't you ask on SO?

I use different strategies to get the information I need from different sources, don't you? The small mailing list/forum exists primarily for dialogue; the number of participants is small and their particular skills and sensitivities easily learnt; what works on SO would never work here (and vice versa).

Then where do beginners 'learn their craft'? That is, for topics they didn't cover in the formal education system. Wikipedia is a minefield. Online texts can be very misleading, unless you get a reliable recommendation for an applicable one (such advice is explicitly forbidden on SO).

That in itself is an art worth learning. I don't have a good answer, but I get by. I learnt Fortran, Cobol, PL/I, Algol from vendor manuals; Pascal from the Report; C from K&R. I think it's easier now, but you do have to work at it.

Andl - A New Database Language - andl.org
Quote from dandl on November 16, 2019, 7:42 am
Quote from Brian S on November 16, 2019, 3:47 am
Quote from dandl on November 3, 2019, 2:48 am

I think what you're saying has a reasonable basis, that the principle is worthy but the naming is at issue.

It's clearly an aspect of philosophy, which means that it must surely have been discussed endlessly since the time of the Greeks (without the need for any conclusion, of course). Do you have a reference?

A reference?  That the physical universe came into being at the beginning of time is what I was taught in grade school back in the '70s.  It's what's called "common knowledge."  But we're not here to contemplate infinity.  What's relevant here is that that which is being discussed is by definition part of the Universe of Discourse, and that the physical universe is not independent of time.  Which means that the physical universe, and everything that can be perceived therein is by definition concrete.

Brian

[This post seems out of context -- I'm not sure what preceded it.]

The curious thing about common knowledge is that it too is almost impossible to pin down. If we belong to a community there may be knowledge commonly held by that community, and much of it it may be dead wrong. What keeps a bicycle upright?

If we belong to different communities we may each quote common knowledge and find we disagree at a basic level. Is it polite to slurp your soup?

No, I wasn't taught that in grade school (whatever period that may correspond to). I think most people would think the universe started at a point in time (or was created), and would find the idea of a 'beginning of time' hard to accept. I learned this particular concept as one accompanying a particular cosmogenic view (Big Bang), so I do know of it, but I view it as conjecture, not fact.

I accept the Universe of Discourse as a convenient convention: the complete range of objects, events, attributes, relations, ideas, etc, that are expressed, assumed, or implied in a discussion. I accept the idea of the Physical Universe, and the idea of Time. I do not accept the particular relationship you construct between them, or the logical conclusion you draw. It just ain't that simple!

I was easily able to find philosophical discussion on the distinction between abstract and concrete eg wiki.

There are parallels with what you say, but also differences. Is a concrete example itself concrete or abstract? Is the Theory of Relativity concrete or abstract? It is certainly fixed in time, if not space. Is a subatomic particle concrete? There is lots more like this here.

So I accept your proposal as a convenient way of dealing with certain kinds of data analysis, but not more.

 

You miss the point.  The Universe of Discourse is not just a convenient convention: it is what predicates range over in first-order predicate logic.  The Universe of ZFC set theory includes only sets.  Nothing that can be perceived is in the Universe of ZFC set theory, because perception involves the five senses.  The Universe of Discourse for a relational database is not merely the class of all sets.  Nor is it the union of all declared or system-defined types.  No.  The Universe for a relational database also includes objects which may be located in time or in time and space.  How do I know this?  Because relation variables can contain different relation values at different times, and as a consequence, the propositions expressed by instantiating relvar predicates must reference, how ever indirectly, that which is located in time or in time and space.  Bottom line: if the universe for a relational database only included objects which are independent of time, then the contents of the database could not change over time.

Instead of looking up wiki, use your own brain: being abstract denotes not possibly located in time or in time and space; being concrete denotes possibly located in time or in time and space.  In other words, if it can be located in time or in time and space, then it is not abstract.  Period.  The terms "abstract" and "concrete" have many other meanings, and the wiki mentions some of them, but in the context of relational database theory, "abstract" means precisely, "not possibly located in time or in time and space."  Nothing more.  To say that something is located in time is to say that that something's existence is contingent on that location in time.  A human being exists from the moment sperm and egg combine.  It's existence is therefore contingent on the moment of conception.  It did not exist prior to that moment.  Everything that has a location in time exists contingent on not only the moment it came into existence, but every moment of its lifetime.  And to be clear: a moment is an interval of time that has no internal structure--that is, it cannot be subdivided into smaller intervals.

I hope that clarifies.