I recently applied at a university to do a post graduate course in Data Science. When you go through this process the university helpfully assigns someone to your application to guide you through it. Many years ago I did an undergraduate arts degree in Statistics and, long story short, that led me into working with data, and ultimately databases. Anyway, the degree (being ...Arts ...ewwww) was so long ago that the university said it wouldn't contribute much to my application. In cases like this, they look at relevant work experience. I have 10+ years in data analysis, ETL and so on. One of the questions on the application form was "Have you worked closely with a programming language for at least the past five years?" I answered "Yes - t-SQL". So I got a phone call from the "assistant" who informed me that my application had been declined because "t-sql is **not a real programming language**." He said "We're looking for something like Java or C++ or Python." Now apart from snobbery, in what sense is t-SQL not a "real" programming language? I was under the impression that the measure of whether something is a real programming language or not, is its "Turing Completeness". t-SQL has branching and looping (if you really want it) and so on. Granted it does some things less efficiently than other languages, but that doesn't preclude it from being a "real programming language". Turing Completeness has nothing to do with efficiency. Is Turing Completeness the decider of what is or is not a "real programming language"?
Yes, it is Turing complete. T-SQL is declarative--but also--an imperative language. Sorry to hear about the rejection but I see it as a win, you don't want to be part of that organization or give them any of your money. In the real world I would hire you for your T-SQL xp over any Java developer. EDIT: For perspective,I am a DBA/(I guess they call it data scientist now) with my days filled mostly working with T-SQL, PowerShell, F#, Matlab/R and in a former life worked with C, assembly, C#,VB and was a Web developer for several years. What I have learned over this time, and especially recently, is that you can write sloppy C# / web code and it will still run fast but the expertise to optimize a query, stored proc, db schema and indexing are the most valuable skills. Unfortunately many IT managers do not understand this. As an aside, I find it amusing,albeit disturbing, that all of the YouTube videos enumerating the "Top 10 programming languages you need to learn" never include SQL.