3 ms·
I suspect you're asking more figuratively, but I saw this PDF from Stonebraker on the developer of databases and query languages that literally answers your que
by edmundsauto 7y ago
I suspect you're asking more figuratively, but I saw this PDF from Stonebraker on the developer of databases and query languages that literally answers your question[0].
I've always done data heavy work, but as a recently hired data engineer, I'm really diving deeply into this layer that previously I had taken for granted. In doing so, I find SQL highly expressive and beautiful for data work; much moreso than Python, my other primary language.
Which languages do you feel manipulate data beautifully?
[0] - https://people.cs.umass.edu/~yanlei/courses/CS691LL-f06/papers/SH05.pdf https://people.cs.umass.edu/~yanlei/courses/CS691LL-f06/pape...
- nnq 7y agoThey all suck. C#'s Linq seems cool but I don't live in that ecosystem. Also Cypher fro graph DBs or better still Gremlin are nice and more elegant. But I'd just want to write code like: (employees * addresses)[employee.name, address.city.name] | filter{address.city.name = "London"} ...that would match rel algebra notation nicely, and extend to complex cases more like: ( employees e *{e.id = a.employee_id} addresses a ) | filter{a.city.name = "London"} | [e.name, a.city.name] ...you can replace operators with words of course. Or you could represent this as a JSON structure, even better imo. But the point would be to have a notation highlighting the idea of a "product", of restricting and specializing that product or specifying how it's made, and of indexing into its fields. The way I see it in my mind is like taking "a (maybe generalized) cartesian product" of different things, then filtering this, then zooming on each dot/point/object and filtering its fields etc. And obviously focusing on piping/chaining stuff. Maybe the notation I suggest is not a good one, but I'd care more about making the concepts obvious and readable and composable.