Re: Storing data and code in a Db with LISP-like interface
Date: 3 Apr 2006 12:47:55 -0700
Marshall Spight wrote:
> dawn wrote:
> > Marshall Spight wrote:
> > >
> > > The question of what kind of mathematical structure is best
> > > suited for a particular task is a good one. The question
> > > of which one is most like "the Real World(tm)" or "the
> > > way the Human Mind works" is not useful,
> > I'll agree with the first, although using such terms can be a shortcut.
> > I definitely disagree with the latter. When we are talking about
> > humans modeling data or any aspect of software, it makes a lot of sense
> > to ask how the human mind works.
> I think I know what you mean, but I have to disagree with what
> you said. We just don't *know* how the mind works. We have
> scratched the surface, but we don't really know anything
If I am understanding you correctly, since we create mathematics (yes, we discover patterns and use human logic, but people still create mathematics), we can know the answer to questions we ask. We can prove things within the bounds of a particular mathematical system. We do not have this luxury with the brain, however. While we can gather some emperical data about brains, we do not know how they work. So, the question of how the human mind works, since has not been found to be answerable, is not a good question to ask. Is that your position?
If I got that right, then I'll grant you your position, although I disagree and find the question to be a good one even if the answer is not forthcoming because we can advance in our knowledge by asking it. Other possible questions that you might accept are:
- To what extent does the interface between the underlying software (e.g. dbms) and the software developer who is using this software facilitate the development of software including quality, speed, maintainability and other quality requirements?
- To what extent does the interface between the underlying software (e.g. dbms) and the software developer who is using this software encourage the design of software that enhances the end-user's job, including the quality of data gathered and the efficiency and effectiveness of the resulting systems?
I'm sure I could wordsmith those down to fewer words if I took the time, but these are two questions that relate to how human minds work, but do not insist that we know precisely how they do work.
> > It is a good idea to ask whether we
> > are using an approach that renders an obscure specification that is
> > likely to be misinterpreted by another software developer in the
> > future, for example.
> Sure. But what you're describing is usability, user interface,
> whatever. It's categorically not "how the mind works."
Yes, the two questions I posed are about 1) usability for those developing software applications and 2) usability for end-users. Usability is definitely related to how the mind works, even if it is not a statement that tells us precisely how the mind works.
> There are people who will assert things as crazy as saying
> that their brain is object-oriented, by which they mean
> not that they find it easy or useful thinking in object oriented
> terms, but that they actually believe there are representations
> of objects inside their heads. Or lists, or imperative code,
> or whatever it is. Not just metaphorically, but actually. There
> are also people who will assert that physics or the natural
> world is implicitly imperative, or ordered, or unordered, or
> whatever. They are the CS equivalent of biblical literalists.
Laughing. I'll grant that we don't know how our own minds work, nor how our thought processes compare to those of others. However, there is significant research on usability that we tend to apply to "end-users" and would do well to apply to our own tools too. The research about user interfaces could also apply to API's and computer languages. This research is not definitive, however. It is based on how people think and function and we don't have all of the answers. It includes questions about organization and beauty, for example.
I like mathematics too, where you can give precise answers to questions. Software development is not simply applied mathematics, however, any more than clothing development is applied mathematics. Certainly there are many aspects that can be modeled using mathematical models. For those we can and should employ the appropriate mathematics to get the job done properly. But there is an aspect of beauty and pragmatics or functionality that isn't properly modeled with mathematics.
I could get into Chomsky and mathematical models for language too, but I would be wandering too far afield, I suspect.
I'll grant that if someone says their brain is OO, they are surely speaking metaphorically even if they suggest otherwise. However, even anecdotal information about how people perceive their minds to work can help when working on issues of usability. I gave anecdotes on how the term "computer science" doesn't resonate with me and how verbs, relationships, and movement often work better for me than nouns. I suggested that there was a bigger percentage of women in the travel industry than the auto industry and suggested something analogous in computing. I don't KNOW that my brain works this way. I don't KNOW that this is a reason why there has been a decrease in women in computing since moving from terms like "data processing" to "computer science." I could be way off course. I'm not starting with any axioms and deriving conclusions from them. But there are good questions to ask in these fuzzy areas and we can get better and better approximations to facts over time, I would think.
> Looking at good design, usability, etc. is a good thing. Believing
> that one's thoughts are *implemented* in one's favorite
> programming paradigm is a mild form of mental illness.
I would suggest that it is more likely a way of speaking loosely when someone is reflecting and trying to interpret their own thought-processes, at least that is how my brain works in interpreting such statements ;-) --dawn Received on Mon Apr 03 2006 - 21:47:55 CEST