Language trends

A quote from Better Living through Software:  “And if your code doesn’t manipulate data (as relational or XML), then what does it do?!?”

I was thinking about this this morning, in the context of the growing number of people saying “everyone works with relational data, yet languages don’t have relational database support built in”.  Here’s a little perspective.

I spent the first 10 years or so of my software development career writing software that didn’t do anything at all with relational databases.  I wrote games, I wrote graphics software, I wrote utilities.  I didn’t have any requirements that a database would have been the best solution for, so I didn’t work with databases at all until just a few years ago.

Even XML is something that I still rarely run into, and mostly when I need to talk to something outside my own code (ie, render something as XML for export, or extract from XML on the way in).

So I don’t think either of these belong as part of a general purpose programming language like C#, Java, C++, or anything else.  That’s what we have class libraries for. 

C doesn’t even have the concept of strings (a string is just a pointer to a char) and neither does C++.  C# does, but I think that we’ve learned that strings are a fundamental element of software development.  Database access is not, nor is XML.