views:

225

answers:

5

Duplicate of: Is SQL The Assembly Language for Databases?

Please read and respond to that question


Based on this post from los techies, I would like to ask if you consider this to be true.

+5  A: 

No, SQL is a very high-level declarative programming language.

If you're just doing insert/update/delete and trivial select queries, it might feel like a very primitive language. But if you use Views, XML/SQL and Triggers, you can create very interesting things in a very elegant way.

vog
XML/SQL, Triggers? Elegant?
chadmyers
A: 

No, I guess x86-64 is the assembly language(s) of the modern world.

Just because something shifts to a more higher (abstract) level, doesn't make something else immediately 'obsolete', or even 'arcane', as I understood your question to be hinting towards.

One could be making the same argument for pretty much any language. Because we have C++, do we need skills in C? Because we have CodeIgniter, do we need skills in PHP? Because we have cellphones, do we need landlines? Because we have electricity, do we need fire?

Henrik Paul
More like: Because we have butane lighters, do we need to rub sticks together? Sometimes all you have are sticks, but why bother if butane lighters are around?
chadmyers
A: 

I think they have a point.

Performance is a big issue with large databases. And writing SQL is so much more that a few joins and a where clause. So it is logical that there will be more ways to generate the most efficient sql automatically. I think the same is true for entire database solutions.

And yes hand written SQL will be around just like hand written assembler statements. But if it can be far more efficient with automatically generated code. I have no problem with that. That saves time for the real program logic.

Gamecat
+2  A: 

Absolutely not. vog is right, it's a very high level declarative language with sound theoretical underpinnings (even if it violates some of the in the name of practicality). It may feel like assembly if all you're doing is persisting objects from to a database, but then you're not really using any of its power.

Erik Engbrecht
By power you mean quasi-procedural-like functionality crammed into an inherently set-based language? Why not use a language with full procedural capabilities for procedural functionality and a set-based language for set-related features?
chadmyers
+1  A: 

Isn't it some kind of arrogance to assume that all the applications in the world are database-driven?

Look around you - most software running in the room you're currently in is most likely embedded - in your air conditioner, the washing machine, your car, your cellular phone - practically everywhere. In all these devices, if databases exist, they're a small and insignificant part.

The same goes for scientific computing and many, many other types of programming. Some brilliant programmers have long and exciting careers without ever touching SQL and having no need whatsoever to be familiar with it.

Eli Bendersky