SQL dominated the jobs ranking in IEEE Spectrum’s interactive rankings of the top programming languages this year . Normally, the top position is occupied by Python or other mainstays, such as C, C++, Java, and JavaScript, but the sheer number of times employers said they wanted developers with SQL skills, albeit in addition to a more general-purpose language, boosted it to No. 1.
So what’s behind SQL’s soar to the top? The ever-increasing use of databases, for one. SQL has become the primary query language for accessing and managing data stored in such databases—specifically relational databases, which represent data in table form with rows and columns. Databases serve as the foundation of many enterprise applications and are increasingly found in other places as well, for example taking the place of traditional file systems in smartphones.
“This ubiquity means that every software developer will have to interact with databases no matter the field, and SQL is the de facto standard for interacting with databases,” says Andy Pavlo, a professor specializing in database management at the Carnegie Mellon University (CMU) School of Computer Science and a member of the CMU database group.
The use of SQL within streaming systems opens up a new chapter.
That sentiment is echoed by Torsten Suel, a professor and director of undergraduate programs in computer science and engineering at the NYU Tandon School of Engineering. “A lot of our technological infrastructure uses relational databases to store and query their data, and while not the only way, SQL is still considered the main way—or most powerful way—to interface with relational databases,” he says.
Beyond the utility of databases in themselves, big data and the growth of streaming architecture are contributing to SQL’s rise. “Markets such as retail, e-commerce, and energy are seeing growing interest in applications where data has to be processed and analyzed in real time,” says Manish Devgan, chief product officer at real-time data platform Hazelcast. “The use of SQL within streaming systems opens up a new chapter in the story of SQL within the data domain.”
Even the fields of data science and machine learning are propelling SQL to the top. “We have this huge boom in data science and machine learning, and students focusing on these fields during their studies often also take a database course, which usually involves learning SQL,” says Suel. “So it could be a side effect of the data-science-and-machine-learning boom.”
Consequently, even if you mostly program in, say, Python or C++, it’s increasingly important that your application can talk to an SQL database. “Most of the software we develop depends on relational databases, and we rely on SQL,” says Andrey Maximov, chief technology officer at the Web development agency Five Jars. “The development process often goes through setting requirements and specifications, which very much comply with the ideas of relational databases.”
The existing software and tooling ecosystem that relies on SQL is vast.
... continue reading