Gavin King escribió:
Sorry, but tutorial D handles nulls even worse than SQL: i.e. it
doesn't have them, which means that in tutorial D, you have to
represent an unknown value by some totally ad hoc "special value" of a
non-null type. i.e. you have to define something like -666:=null in a
totally arbitrary and ad hoc manner. They seriously recommend this in
their books.
I agree with you that the idea of completly getting rid of null in D is
not practical, but SQL should make it easier for us to avoid using nulls
unless we really need to do so.
The completely broken treatment of null by those guys is one reason
why I simply take very little they say seriously. (The other reason is
that they don't seem to understand typing very well.)
Well Null treatment for nulls in SQL isn't that great too... ;-)
Frankly, they bamboozle folks who don't know much math with some
absurdly overblown mathematical formalism that is totally unnecessary
for representing the mathematically trivial problems that occur in
databases. Since I actually have a background in higher math, I'm not
intimidated by that stuff and I can see straight through their silly
arguments. These guys are poseurs (if you read their resumes, they
don't actually have a mathematics background).
I do not care about higher math either, but you have to admit that Sql
has too many flaws (
http://c2.com/cgi-bin/wiki?SqlFlaws) and not having
a very confortable syntax is certainly one of them (specially if you are
looking for maintainability and reutilization in you query code). Seeing
some of the different syntax proposed by D based alternatives reflected
in HQL could help alleviate this problem... but I realize that
discussing that is offtopic in this forum.