1,345 karma · joined September 7, 2015
If there weren't deficiencies then you wouldn't need to define more syntax, and so many work-arounds wouldn't have already been created. The deficiencies in SQL are why each big SQL database ends up creating some procedural-SQL language for use in stored procedures and triggers.
CTEs are close to what you outline above, but even then (as far as I know) you can't name that CTE and use it across multiple statements.
A good exercise might be converting it to the corresponding SQL and comparing the two for clarity.
The flip side of that is SQL makes hard things nearly impossible.
SQL doesn't have facilities for abstraction, and it doesn't compose, and this has consequences that I deal with daily.
The lack of abstract facilities makes it hard to construct complicated queries, it makes it hard to debug them, and it makes it hard refactor them.
Instead of writing more complicated SQL queries, developers lean on the host languages to coordinate SQL calls, using the host language's abstraction facilities to cover for SQL's inadequacies.
I understand the desire to no waste your time, but I think you're missing the big idea. Those statements define logical relations. There's nothing related to classes or OOP.
Using those building blocks you can do everything that you can with SQL. No need for having clauses. No need for group by clauses. No need for subquery clauses. No need for special join syntax. Just what you see above.
And you can keep going with it. SQL quickly runs into the limitations of the language. Using the syntax above (which is basically Prolog) you can construct arbitrarily large software systems which are still understandable.
If you're really interested in improving as a developer, then I suggest that spend a day or two playing with a logic programming system of some sort. It's a completely different way of thinking about programming, and it will give you mental tools that you will never pick up any other way.
You to be inventive to get a sorting algorithm worse than this, but it's quite fun.
I considered writing a book of them called "101 stupid sorts".
Thirty-five is not when age discrimination kicks in. Age-wise it is the sweet spot. People have had enough time to master their craft, and enough experience to hit the ground running without requiring too much management.
I'd suggest asking people who know you and who have worked with you for their honest assessment of working with you.
He's a leading theoretician of complex systems, and this is probably intended to wrap up his work before he dies, and to provide guidance for those coming after him.
For those of you following along at home, Kaufmann has been developing the ideas here for decades. The paper is less a "here is a new idea" and much more "here is a concise summary of 50 years of work". The words and thoughts seem opaque, but this is case where they actually have concrete and specific meanings. It's worth noting too, that towards the end of the article he outlines experiments that could be used to falsify the theory.
If you want a really hard-core dive into the ideas, then check out his 1993 book, "On The Origins of Order" (ISBN 978-0-19-507951-7).
https://global.oup.com/academic/product/the-origins-of-order...
Not a crackpot.
An example would be their description of the Cider Riot confrontation in Portland. They presented this event in an apparently impartial way, when in fact it was an organized assault instigated by the right wing agitators, and the Quillette's reporter (Andy Ngo) was part of the assault.