Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

In database managements systems lecture, my professor said that we can use Oracle etc. ui designing tools instead of using Visual C# or etc. He added that SQL is as strong as a programming language. So I wonder why do we still use these programming languages for desktop applications which mostly adds/deletes/updates records? Is there any performance difference? What's the main reason? And if the business world applies it like that why we still try to learn a programming language instead of focusing on SQL?

share|improve this question

marked as duplicate by gnat, Rein Henrichs, Jalayn, BЈовић, Bart van Ingen Schenau Apr 19 '13 at 7:05

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

SQL is not a good language for programming, it's a great language for querying data. Yes it can be used to do alot of things, but I could also walk from CA to NY... that doesn't mean I'm going to choose walking over a plane ticket. SQL is also not as strong as C# or the vast majority of languages, you either misheard your professor or he's smoking crack. – mburn Apr 18 '13 at 23:35
Even if a database could do anything (animate movies, print posters, play music, and whatever people do on desktops), there still must be some programmers that know the language the database itself is written in to maintain it. – choroba Apr 18 '13 at 23:36
What your professor meant was that SQL is Turing Complete. But so is Brainfuck, and you won't see me using that language any time soon. – Robert Harvey Apr 18 '13 at 23:39
Essentially, "why isn't there only one language for everything?" Why do we still need SQL to get data out of a database?! – deceze Apr 19 '13 at 3:07

1 Answer 1

up vote 7 down vote accepted

SQL is difficult to use for certain tasks. Most notably, user interfaces as it cannot do infinite loops in its base form and would have trouble specifying where coordinates should be. It's very difficult to program at a low level in SQL as well since you cannot specify machine level operations in a declarative fashion with any real level of efficiency.

There are instances where SQL does not scale well, particularly in web-based distributed architectures. It is has issues dealing with binary data files, something that C or Perl has little trouble with. For more real-time applications like Games or Space Probes, SQL imposes too much overhead in terms of memory usage at that level of abstraction.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.