SQL, like C, is Past and Future of Computing
By Lloyd Tabb
Somewhere around 40 years ago, two computer languages were born, and they’re still running the world’s computers. At Bell Laboratories, Dennis Ritchie was designing The ‘C’ programming language) and at IBM, Raymond Boyce and Donald Chamberlin were developing SQL.
The C Language created a common way to talk to machines at the instructional level. SQL created a common way to create, write to, and transform data sets.
Just about every computer is still running C code. Just about every business is still using SQL to deal with its data.
Why were C and SQL so successful?
They created the right level of abstraction. They separated the intent from the implementation specific detail. Before C, all code had to be coded against a particular processor or written in a special-purpose language (like COBOL). Before SQL, there was no consistent way of transacting and querying data. Programs’ transaction and querying data were hand-crafted and inconsistent.
C becomes the core for future languages, like C++, Java, Objective C, and C
Languages evolve and fork. C has spawned many new language, like C++, Java, Objective C, and C#. At the core, these languages are designed to be efficient at the machine level, strongly typed and give a large amount of control over the physical device. They’ve introduced some conveniences and efficiencies (like object orientation, strings, and in some cases, garbage collection), but generally the reason to use these languages is tight physical control over the device.
SQL dialects, everywhere, again
SQL is all about enabling applications to store, access, and query their data in a consistent, shareable way. Once an organization has their data stored in a SQL database, different parts of the organization can have access to data from different applications. For example, the CRM (customer relationship management) system can see data from the order and fulfillment systems. Before SQL, data from each of these applications would be only available to that single application.
SQL has evolved strangely. While just about every business runs SQL, SQL from different vendors is not the same. In the 80s and 90s, a bunch of companies and people built a bunch of different SQL servers: Oracle, IBM, Informix, Microsoft, InterBase, and some open source MySQL and Postgres.
With C, there is great incentive for code to run the same on different processors. With SQL, the incentive is the opposite. Vendors selling SQL software and machines want you to stick with their products, so they create subtle differences in the language to increase the costs of switching. SQL vendors knew they had to be similar enough that applications could support multiple vendor implementations, but different enough that once you bought one, you weren’t likely to change.
Continue reading full article here: https://www.linkedin.com/pulse/sql-like-c-both-past-future-computing-lloyd-tabb