SQL的崛起:每个人都应该掌握的第二编程语言
The Rise of SQL:the second programming language everyone needs to know

原始链接: https://spectrum.ieee.org/the-rise-of-sql

## SQL意外成为编程语言榜首 SQL今年意外登顶IEEE Spectrum编程语言排名,超越了Python和Java等传统领先者。这并非因为SQL被用作主要的*开发*语言,而是因为对精通使用SQL访问和管理数据的开发人员需求巨大,并且与其他语言一起使用。 这种激增源于对数据库日益增长的依赖——特别是关系数据库,它们是大多数企业应用程序的基础,甚至出现在智能手机中。专家强调,无论专业方向如何,软件开发人员不可避免地会与数据库交互,这使得SQL成为标准接口。 此外,大数据、流式架构以及数据科学和机器学习等领域的发展正在推动SQL的相关性。尽管面临来自较新的“NoSQL”数据库的挑战,但SQL的成熟度、广泛的工具支持和适应性确保了其持久的强大功能以及在技术领域持续的重要性。现在学习SQL被认为是任何程序员的宝贵财富。

## SQL日益重要性 最近的Hacker News讨论强调了SQL作为开发者核心技能的持久和日益重要的地位。虽然ORM(对象关系映射器)和查询构建器提供了便利,但许多经验丰富的程序员正在回归编写“手工”SQL,认为抽象通常会导致效率低下的查询和缺乏控制。 一些评论者分享了经验,直接使用SQL,特别是利用数据库特定功能(如Postgres),显著提高了性能和可维护性。包括YouTube和一家大型薪资处理公司在内的多家公司,已经构建了主要围绕优化良好的SQL的成功应用程序。 对话还涉及了LLM(大型语言模型)在SQL开发中的作用,一些人发现它们在*生成*SQL方面有效,但强调需要理解SQL基础知识来验证输出。尽管存在关于SQL是否符合“编程语言”定义的争论,但大家普遍认为,对数据结构和SQL的深入理解至关重要,尤其是在数据库日益成为应用程序核心的情况下。最终,讨论表明,虽然工具可以提供帮助,但掌握SQL仍然是任何处理数据的开发者必不可少的技能。
相关文章

原文

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.

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.

“Every decade, another hyped-up database technology comes along that claims SQL is terrible, slow, or impractical,” Pavlo says. “Over time, the conventional wisdom comes back to realizing that [SQL] is a good idea, and everyone returns to it.”

From Your Site Articles

Related Articles Around the Web

联系我们 contact @ memedata.com