SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

A Simple Mistake

I certainly sympathise with Brian Knight when he says that "one of the most frustrating learning curves for a DBA going to SSIS is the case sensitivity of the environment". It is always a jolt to move from the sane world of SQL, where Begin, begin and BEGIN have exactly the same effect, to the alien territory of XML, C, Java and JavaScript, where words have different meanings according to whether they have capitals or not. I use the word 'sane' because the mainstream computer programming languages generally reflect human language, and it is fundamental to European languages that there is no semantic difference between lower and upper case letters.

The Microsoft team that wrote C# and made it case-sensitive felt that many people 'find case sensitivity to be a natural and useful feature', using them, for example, to distinguish private and public fields. Surely this is a weak attempt to justify a simple mistake made by Kernighan and Ritchie when they wrote C. Generations of programmers will have to suffer a loss in productivity as a result, due to the bugs that this introduces. Now even good old VB is becoming case sensitive! This is because the common language runtime (CLR) uses case-sensitive binding. Therefore, when you produce an assembly or a DLL and make it available to other assemblies, your names are no longer case-insensitive.

Even more disturbing is the recent trend whereby small parts of SQL have become case sensitive. Quoted identifiers in PostgeSQL are already case sensitive; object naming  in SQL Server is also  case sensitive (IDENTIFIER_CASE =SENSITIVE) if you choose the wrong collation. Now that XQuery is embedded in SQL Server you have two opposing camps; SQL which is case insensitive and XQuery that is case-sensitive. XML itself is the problem. It deviated from HTML in adopting case-sensitive tags. XHTML has case-sensitive CSS classes.

The minority are forcing a change on the majority. It is strange that an apparently trivial decision should have had such far-reaching consequences for the productivity of the ordinary programmer. As always, I'd love to hear your views on this matter.

Thank you again to everyone who has contributed to my "Exceptional DBA" editorials over recent weeks. On previous occasions, it's been very difficult to choose the winner of the Amazon voucher, but last time it was easy. Jeff Moden is the winner, with one of the best examples that I've read of the sort of rewards you will reap by making the extra effort to really help people. I'll post details of where you can get Brad McGehee's "How to Become an Exceptional DBA" eBook, as soon as it's available. It may take a month or two longer, but when hard copies are ready I will send one each to all voucher winners, as well as to five other notable contributors.



Total article views: 58 | Views in the last 30 days: 1
Related Articles

Classifying Sensitive Data

The ability to protect, and perhaps handle, sensitive data separately from other data is becoming mo...


WHERE to begin

Many people, once they start getting comfortable writing SQL, begin asking the same questions. One s...


Mask Sensitive Data

Masking Sensitive Data


Where a Rose is not a rose…

Just because mistakes have become entrenched in the computer languages that we use doesn't mean we h...


SQL Server 2005 Case Sensitivity

Case Sensitivity SQL Server 2005

database weekly