<snip>
Hi,at my previous jobs I was working with many programmers, and almost none of them understood SQL. The problem was even deeper. They didn't want to learn it. When I was working among java programmers, I noticed that they hated SQL, but there was no problem with learning HQL, which in fact is quite similar. I really have no idea why it is like that.I was thinking about such a book too, I have even started writing that, but the whole set of ideas was always either too large or was a copy of what can be found in other, general programming books. And if programmers don't want to read the other books, and learn basics of SQL from there, then the whole idea seemed useless to me. Of course the other reason of not writing the book was lack of time, as writing a good book requires enormous amount of work.On the other hand I think that the huge problem with programmers and SQL is changing the mindset. A standard programmer usually has a problem with thinking in sets. Instead she usually thinks in terms of loops, and objects.
Very true. What _really_ was of help to me was the fact that I had learned APL in college. APL is an vector / array oriented language with operators which work on entire data structures, rather than individual array elements. E.g. to sum all the number in a vector is simply "+/vector".
When I was giving talks about what not to do in databases, people were either not interested or everything was a surprise for them, even for quite experienced programmers. However after such a talk, or a training, people were still not interested in knowing more, but they were happily learning about programming.I think it would be great to have a book like that, and I think it should not be only about Postgres. But here is the problem I had with this concept: to describe all the things to a normal programmer, assuming she will be interested, it will need to be quite a huge and complicated book.Or maybe this book should be about something else, start from an ORM, and show how to translate it to much better SQL, as ORMs are the things programmers usually understand, and they really don't bother that using them can be a bad idea.--regards Szymon Lipiński
What I have heard of are shops in which the application programmers simply DO NOT CODE any SQL. They only use stored procedures which they view as subroutine calls. The stored procedures are written by the DBAs and other SQL experts. That group has hard control over the enterprise data. If the programmers need something, they become like end-user in that they simply describe what data they need and why. The programmers basically know enough to be able to ask for something. Completely unlike back in the days of indexed (DBM basically) files.
The unfacts, did we have them, are too imprecisely few to warrant our certitude.
Maranatha! <><
John McKown
John McKown