4 ms·
>SQL is a practical application of relational bags. Apart from the fact it isn't; elements have specific order and that order matters. SQL is SQL, it's not re
by thrown123098 4y ago
>SQL is a practical application of relational bags.
Apart from the fact it isn't; elements have specific order and that order matters.
SQL is SQL, it's not relational algebra or whatever bastardization of it you can think up. In fact when it comes to SQL the only use relational algebra has is to tell you that anyone talking about it has never used SQL.
- dgb23 4y agoYour computer is also not a Turing Machine. The regex that you use is not really a regular language. Your functions and logic are not referentially transparent, because well, they have to run on a computer. But it's useful to learn the foundational mathematics of these things as there is a direct relationship between them. SQL has semantics that can be understood by relational algebra of relational bags. It's of course not a 1:1 translation, but the mathematical underpinnings are explained there. It's useful to learn the simpler, more abstract thinking tool in order to understand the concrete programming tool.
- thrown123098 4y agoMy computer is very much a Turing machine since each time it runs out of disk space I can buy more disks. The fact you think a Turing machine has infinite memory rather than finite but arbitrarily large memory tells me all I need to know about the sorry state of your theoretical education.
- dgb23 4y agoHow much does an infinite amount of disk space cost?
- thrown123098 4y ago[flagged]
- oriolid 4y agoNothing, if it's your users who buy it instead of you.
- rrobukef 4y agoA Turing machine is a mathematical concept. It has, by definition, infinite memory. A computer is just a real machine that can do similar things as a Linear Bounded Automaton, a Turing machine's little brother who'll never do quite the same things.
- thrown123098 4y agoWrong: https://en.wikipedia.org/wiki/Arbitrarily_large https://en.wikipedia.org/wiki/Arbitrarily_large
- rrobukef 4y agoThere is a physical limit to the number of disks you can add to your CPU. There is a physical limit to the memory you can address in your CPU (48-bits). It is not arbitrarily large. Also wrong for Turing Machines, it really is infinite. That's a big difference to arbitrarily large. The halting problem is undecidable for TM's but not for arbitrarily large (you'll need precise definitions though).
- thrown123098 4y agoIt is left as an exercise to the reader to find a natural number which isn't arbitrarily large but calculable.
- rrobukef 4y agoThe tape size needed for a Turing machine is incalculable. Here's a reference to a proof: https://scottaaronson.blog/?p=2725 https://scottaaronson.blog/?p=2725. The machine with 7918-states, Z, stops (well, Z cannot be proven to run infinitly long) iff. ZFC is consistent. For this it needs a finite amount of space but we cannot calculate how much. If we could calculate an upper bound we've proven ZFC is consistent.
- thrown123098 4y ago
- bigbillheck 4y ago> each time it runs out of disk space I can buy more disks. There's only so many that you can buy.
- mabbo 4y agoThe developers who don't understand the relationship between relational algebra and SQL are the ones who end up confused why their query browned out prod. It's not exactly the same thing, but the underlying lessons and mental model matter. Of course, the move back towards nonrelational data stores these days may make the point moot.
- wankle 4y agoThree decades of programming in various languages and at various companies and today's discussion is the first time (after all those years writing SQL used by those applications) that I've seen the term "relational algebra". My queries run great in production at various companies right now, including many I guarantee are widely recognizable.
- mabbo 4y agoSounds like you're working hard to defend your ego rather than seeing the opportunity to learn and improve yourself. You must be a delight to work with.