On Tue, Sep 14, 2021 at 2:41 PM Brian Dunavant <dunav...@gmail.com> wrote:

> I have the opposite perspective.  As a dev/manager, SQL is much more powerful 
> at getting data storage from abstract concept, into a usable structure, than 
> any programming language I've had the (mis)fortune of using.   I've long 
> since lost count of the massive volume of other people's code (especially 
> ORMs) I've removed and replaced by updating SQL statements to do all the 
> logic, and return me exactly what I want.  And typically this also comes with 
> a (sometimes massive) performance gain.
>
> I've managed many a programmer that would complain that SQL is too hard and 
> they don't want to learn it, but had no problem spending days learning the 
> ORM of the month that "saves them time" and writing complex inscrutable 
> monstrosities with them.
>
> Could SQL be better?  Absolutely.  But in terms of bang-for-my-buck, I feel 
> learning SQL has saved me more clock-time, and improved my productivity/value 
> probably more than any other individual language in my career.

Your experience doesn't surprise me at all.  Sure; it's better than
the alternatives.  An ORM can be a net benefit if you're doing simple
things, but the more complex the query, the more it starts to feel
like you're trying to have a serious conversation through a bad
translator.  This encourages programmers to keep queries simple, treat
the database as a big scratchpad, and do all the processing in code.
This easily turns into "reinventing the wheel, badly".

I would argue, though, that the programmers aren't completely wrong.
A good programmer strives for clarity, expressing ideas simply and
naturally, and avoiding repetition; SQL isn't good for that.  But
papering over the problem on the software side isn't the solution.

I'd just emphasize our agreement:  SQL (or another query language,
sitting in the same niche) could be better.  So it should be.

--
Ray Brinzer


Reply via email to