|
|
|
|
|
by jbverschoor
1612 days ago
|
|
A long long time ago I sent in a patch to Hibernate to check the validity of all declared HQL queries. There's no reason why it can't be checked, you just need to have your schema declaration. Name clashes are everywhere. That's why you have namespaces/packages. In SQL they are called schemas. People don't really use them these days. The tweaking is one of the great things. If you're hardcoding queries (not sql), you're actually defining the order of operations etc. A query analyzer will use statistics, and you can hint how queries have to be executed, depending on the shape of your data. Your code is also just strings, until you compile it. Actually, these days until you run it. Your arguments would make more sense in the 90s where people would actually compile code. You ideal universe is actually "The Inner Platform Effect". Better let pgsql be the data platform ;-) |
|
His arguments made sense in the 90s, and amusingly, post 2015.
Your argument made sense in the 00s and before 2015.
Swift is compiled (Apple platforms; Objective-C has always been compiled).
Rust is compiled (multiple platforms).
Typescript is compiled (so web/Javascript).
Kotlin is compiled (Android; Java has always been compiled).
C/C++ were always compiled (POSIX; Windows).
C# was always compiled (Windows; POSIX).
Almost every modern language is compiled and if it's not, it's getting a very solid static analysis step that for sure you want to have and run (PHP got types a while back, Python is getting them, Ruby is getting them).