Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Tutorial D, for one. Or any language that isn't as hideously broken as SQL.

  * why bags?
  * where's my closure under composition?
  * THAT SYNTAX OH GOD THAT SYNTAX
I'd be much happier with a more mathematical language, rather than the godawful "english-lite" 3GL misery


By the way, the fundamental concern I have with SQL is the issue of ambiguity regarding NULLs. We are taught that NULL means one of two things, but really it means one of three:

    * Unknown value
    * Not applicable value
    * Value does not exist
This is a big issue, because you would expect operators to treat these cases differently. known || unknown is obviously unknown, but known || not_applicable should probably be known, and known || does_not_exist should be known. In sane RDBMS's there is a possibility of magic values which provides a sane way to handle not_applicable (for example an empty string as distinct from NULL and yes I am calling into question the sanity of Oracle). However, you still have the fact that the first and third cases are ambiguous although you hope not in any given query (the third case implies a missing value from an outer join), the ambiguity could in fact happen.

This is a fundamentally broken aspect of SQL. The problem with ambiguity is that if your data is ambiguous mathematically, then it cannot be reliably transformed using math.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: