• I agree with Michael, it's not that SQL is difficult, in fact I think T-SQL is quite easy, it's making it perform that can be seen as difficult, and that boils down to underlying design and an ability to think in sets.

    I don't do application development, so I would find C#, .Net, HTML 'difficult' because I don't know them. And as such I wouldn't try to develop anything in those languages. But your average developer has probably touched upon SQL in either college or some sort of dev training, so they think they can code in it. The real-world is also full of companies where there is no DBA, and the database work falls upon the developer with the most SQL experience, so what do you expect! Imagine an website designed and implemented by DBAs!

    As a DBA I've been fortunate to work with a number of developers who understand their own limitations. Sure they can write simple queries, but when it comes down to more complex stuff, they leave it to the database devs or DBAs. And they certainly steer clear of database design. They also understand the limitations of so-called 'silver bullet solutions' like ORM and LINQ to SQL. It's when you meet or hear of developers who want to be able to do it all in their 'paradigm' that you get these 'fun' debates.

    Is there a better way to build a query language? Probably.

    Is it going to be easy? Probably not.

    Theres got to be something in the fact that application development languages churn over at a rate of knots - they look nothing like they did 10, 15, 20 years ago - but SQL has remained relatively stable.

    Attempts have been made to make it easier for developers to code against databases, the latest failure being LINQ to SQL, so lets just accept that trying to make set-based querying fit the OO or procedural model, whilst it can be implemented, never really works.

    Kev