16 karma · joined May 11, 2019
I professionally use both Postgres and Oracle, for many years, and can confirm that Oracle is so much more advanced.
In addition to the features you listed, I can think of : real-time query monitoring, active session history, inline function definition in SQL, global partitioned indexes, in-memory column store, much more advanced parallel execution capabilities, adaptive plans during query execution, bloom-filters, optimizer baselines, SQL macros, Exadata for tuning at the hardware level, Golden Gate for replication, Enterprise manager for monitoring...and a lot more actually.
And of course : Optimizer hints
Can be very simple and elegant, like a better Python, on the JVM.
But also very rigorous, as a Java superset, with powerful features like mixing dynamic and static compilation in the same class.
Or even deep, with run-time metaprogramming and compile-time AST manipulation capabilities (giving tools like Gradle, Spock...).
And you have of course multiline interpolated Strings. And so much.
Many interesting points in this comment, but I am not sure about the mutable part of this assertion. I see those two concepts often presented as fundamentally intricated but modelisation is an effort of abstraction not tied to implementation choices, and objects can be perfectly immutable.
Using these words, I would simply say OOP is fundamentally a coding paradigm about modelling a system, nothing more. And that is why it has been so successful.
Using OOP and avoiding mutability when appropriate, I would say you get most of FP benefits without abandoning the modelisation capabilities and objects features.
And more and more FP constructs are now integrated in OOP languages. Then APIs can become more important than the language itself.
That's what have been demonstrated by modern Java in my opinion.
table = (SELECT column | scalar expression FROM graph | table WHERE ..GROUP BY ... HAVING... ORDER BY...)
So in SQL, each scope is a table and that is the main primitive.
More metrics would be needed to criticize SQL orthogonality, instead of providing only one example of subqueries as scalar expressions, when they more generally produce tables.
Actually, SQL use the same query syntax for scalars and for tables and that could be seen as good orthogonality.
And that's why when you start to use use VBA or js in Excel, it's a fail.
Excel power users (I am not one of them) know how to solve almost every problem they are presented to, using only Excel. Like SQL with relational data. With orders of magnitude better performance.
Main issue yet is scalability, when the dataset gets too big.
It could have already started by respecting the Paris agreement.
In this regard, the US decision to go out of the agreement, to protect the american way of life etc, can be considered as belonging to the same category than crimes against humanity.
How can US people have tolerated this desision ? I mean, from my place, I didn't see a lot of protest.
Such a shame.