The Rise of SQL

Originally posted on spectrum.

It’s become the second programming language everyone needs to know

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.

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.

This means learning SQL will benefit your career as a programmer—and it’s a fairly intuitive language to pick up. “SQL is a mature technology,” says Maximov, who has been a developer for more than a decade and has extensive experience in SQL programming. “It’s taught in colleges and universities, and it’s really easy to learn.”

SQL has been around since the 1970s, with computer scientists from IBM developing Sequel, the first version of the language. It was standardized more than a decade later, and new versions of the SQL standard continue to be published. “The SQL standards body has done an excellent job adapting to emerging technology trends and expanding the language over the decades,” Pavlo says. “And the existing software and tooling ecosystem that relies on SQL is vast.”

Having been around for more than 50 years, SQL has seen new technologies arise to challenge its enduring power. “Reports of the impending death of SQL used to be quite a regular occurrence over the years, especially with the rise of the NoSQL movement,” says Devgan. NoSQL refers to a type of database developed in the late 2000s that stores data in a format other than tables, such as documents or graphs with nodes and edges. Even tech giants like Google experimented with NoSQL. The company initially designed its database service, Cloud Spanner, as a NoSQL database, but soon realized it needed a robust and expressive query language, so it turned back to SQL.

Source: spectrum