|
![](/i/fill.gif) |
Kevin Wampler wrote:
> It seems like a pretty common double-edged sword.
Yep.
> Smarter systems often
> allow you to do things more easily at the cost of the need for more
> mental space required to know when the smart system will fail and how to
> correct it.
I think the best model is something SQL-like. Where you express the
semantics of what you want, and then in a separate place say "by the way,
here's hints to make it faster."
It's also the case that, generally speaking, there are on occasion things
you can make more efficient in a higher-level language than a lower-level
language, simply because there's more information about intent there. As in,
it's way easier for C to micro-optimize my call to memcpy() than it is to
micro-optimize my while loop that does semantically the same thing. And it's
way easier for the SQL interpreter to figure out the best access pattern
than it is for my C compiler to analyze my code along with the BDM to figure
out how to optimize access.
Unfortunately, there are relatively few high-level languages that actually
give you the option of telling the system how best to optimize stuff, even
tho the concept has been around for ages.
--
Darren New, San Diego CA, USA (PST)
Serving Suggestion:
"Don't serve this any more. It's awful."
Post a reply to this message
|
![](/i/fill.gif) |