5 ms·
Relational algebra is math. SQL is a practical application of relational bags. There’s math and science behind concurrency and parallelism, and the coordinatio
by dgb23 4y ago
Relational algebra is math. SQL is a practical application of relational bags.
There’s math and science behind concurrency and parallelism, and the coordination thereof.
Network programming is a practical application of several parts, each of having foundations in math and science. From coding/decoding, to state machines. Wires are all about math and physics too.
There’s more that is often left out. Specifically holistic systems and their research. Lisp, Smalltalk, Self etc. These systems reach into math, HCI, compilers, JITs…
- 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.
- 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.
- simplotek 4y ago> Relational algebra is math. SQL is a practical application of relational bags. How many database programmers do you know who ever did anything involving relational algebra when creating or tuning up a database? This point is specially pointless with the prevalence of ORM frameworks. > There’s math and science behind concurrency and parallelism, and the coordination thereof. Please find me the best example you can come up of what you see as math being put to practice in concurrent programming. > Network programming is a practical application of several parts (...) This is too much grasping at straws. Just show what you feel is the absolute best example. > There’s more that is often left out. There is nothing. You showed nothing as your best examples, and once you showed nothing you were left with nothing else to show. Enough with this silly "but it is math" nonsense. You can come up with a math formalization of an egg but that does not mean a degree in math will help you boil one. Enough with this nonsense.
- oriolid 4y ago> How many database programmers do you know who ever did anything involving relational algebra when creating or tuning up a database? ...and this explains why database designs are what they are. It's also why you don't learn SQL and if you do you never admit it: It condemns you to a lifetime of maintaining CRUDs written by people who don't understand relational algebra.
- simplotek 4y ago> ...and this explains why database designs are what they are. You mean good enough?
- oriolid 4y agoGood enough as in constant burden but not bad enough to fail the whole project.
- simplotek 4y ago> Good enough as in constant burden Are they, though? Or are you just trying to put up a strawman? Because I assure you plenty of highly reliable infrastructure is running 24-7 without the faintest concern over normalization.