The phrase “SQL programmers” is so fucking weird. SQL isn’t a programming language. It’s a query language. You don’t “program” things with SQL. You utilize SQL as a component of programs for data insertion and lookup, but the actual logic of execution is done in a programming language. Unless you’re doing Oracle PL/SQL, in which case why are you giving money to Oracle?
Your knowledge of data engineering may be limited. SQL is predominant in data processing nowadays. FOSS tools such as DBT allows to write efficient data processing pipelines with SQL and some YAML config without the need for a general purpose coding language.
Why would anyone want that? Because SQL has the interesting property of describing the result you want rather than describing how to compute it. So you can put inside the database, a query engine with decades of optimizations, that will make a much better job at finding the best execution plan than the average developer.
It also means it’s easier to train people for data processing nowadays.
This doesn’t make sense to me. SPs and functions are in every major database. If I wrote a bash script that runs like a program, and sounds like a program, did I program it? Script it?
And lots of systems have nested logic in the DB, optimization often leads to that to reduce overhead. Unless you’re being lazy with an ORM like prisma that can’t even join properly.
Getting high performing queries is just as difficult as any other programming language, and should be treated as such. Even Lemmy’s huge performance increases to .18ish came from big PG optimizations.
T-SQL is turing complete. While the MS SQL server has limitations on OS level operations, if you allow yourself some leeway with CLR wrappers for the win32 API, there’s no reason I can think of you wouldn’t be able to get the database engine to be a webserver reacting to incoming requests on port 80, or drawing GUIs based off of table state.
The phrase “SQL programmers” is so fucking weird. SQL isn’t a programming language. It’s a query language. You don’t “program” things with SQL. You utilize SQL as a component of programs for data insertion and lookup, but the actual logic of execution is done in a programming language. Unless you’re doing Oracle PL/SQL, in which case why are you giving money to Oracle?
Edit: Damn, this comment made people mad.
Your knowledge of data engineering may be limited. SQL is predominant in data processing nowadays. FOSS tools such as DBT allows to write efficient data processing pipelines with SQL and some YAML config without the need for a general purpose coding language.
Why would anyone want that? Because SQL has the interesting property of describing the result you want rather than describing how to compute it. So you can put inside the database, a query engine with decades of optimizations, that will make a much better job at finding the best execution plan than the average developer.
It also means it’s easier to train people for data processing nowadays.
SQL is turing complete
This doesn’t make sense to me. SPs and functions are in every major database. If I wrote a bash script that runs like a program, and sounds like a program, did I program it? Script it?
And lots of systems have nested logic in the DB, optimization often leads to that to reduce overhead. Unless you’re being lazy with an ORM like prisma that can’t even join properly.
Getting high performing queries is just as difficult as any other programming language, and should be treated as such. Even Lemmy’s huge performance increases to .18ish came from big PG optimizations.
T-SQL is turing complete. While the MS SQL server has limitations on OS level operations, if you allow yourself some leeway with CLR wrappers for the win32 API, there’s no reason I can think of you wouldn’t be able to get the database engine to be a webserver reacting to incoming requests on port 80, or drawing GUIs based off of table state.
It’s be slow and terrible, but doable.