SQL существует уже десятки лет и является частью рынка в миллиарды долларов. Но многие люди по-прежнему сомневаются, как правильно произносить этот термин. Это «S.Q.L» [ˈɛs kjuː ˈɛl] (эс-кью-эль) или «sequel» [ˈsiːkwəl] (сиквел)?
SQL: с чего все началось
Начнем с начала.
Реляционные базы данных начали свой путь с публикации Эдгара Кодда «A Relational Model of Data for Large Shared Data Banks» (1970 год). Идеи Кодда в то время были примечательными.
В то же время в Сан-Хосе (Калифорния) двое коллег — Дональд Чемберлин и Рэймонд Бойс — занимались разработкой языка запросов SQUARE (Specifying Queries As Relational Expressions). В 1974 году они опубликовали язык запросов SEQUEL (Structured English Query Language — «структурированный английский язык запросов»), в основе которого лежал SQUARE.
(Примечание ред. Techrocks: SEQUEL как раз и читается как «сиквел»).
К сожалению, акроним SEQUEL уже был зарегистрирован как торговая марка британской компании Hawker Siddeley, производящей авиационную технику. Поэтому название языка запросов было изменено на Structured Query Language, сокращенно — SQL.
В 1979 году был выпущен первый SQL-продукт — СУБД Oracle V2. Выпустила его компания Relational Software (позже переименованная в Oracle Corporation).
Буквально в течение нескольких недель IBM выпустила свой вариант — СУБД System R. Там тоже использовался новый язык запросов SEQUEL. Затем вышла SQL/DS в 1981 г. и, наконец, DB2 в 1983 г., которая до сих пор остается флагманом СУБД-продуктов IBM.
«S.Q.L» или «SEQUEL»?
В интернете постоянно ведутся споры о том, как нужно произносить SQL. Одни выступают за «эс-кью-эль», другие за «сиквел», а у третьих вообще свои варианты.
Стандарт говорит, что правильное произношение SQL — «эс-кью-эль». Тем не менее, многие англоговорящие специалисты по базам данных продолжают использовать «сиквел».
Например, профессор Дженнифер Уидом, соавтор четырех популярных книг по базам данных, в своем Стэнфордском курсе произносит SQL как «сиквел». Профессор Кристофер Дэйт в своей книге «A guide to the SQL Standard» (1987) тоже использует«сиквел».
(Примечание ред. Techrocks. Мы, честно говоря, не сразу поняли, как произношение может отражаться в книге. Но из комментариев разработчиков на эту тему стало ясно, что дело в артиклях. Если написано «an SQL», то читается как «эн эс-кью-эль», а «a SQL», соответственно, «э сиквел»).
Кто же прав? Я думаю, тут нет однозначного ответа. «Сиквел» получает больше голосов, но вот Чемберлин говорит «эс-кью-эль», а его голос весомее, потому что он соавтор этого языка.
Также стоит отметить, что разные реализации могут произноситься по-разному.
MySQL официально произносится как «май-эс-кью-эль», не «май-сиквел», но некоторым и второй вариант не жмет.
Microsoft SQL Server тоже часто произносят как «сиквел сервер». Например, так говорит Билл Гейтс:
Мартин Фаулер, соавтор «NoSQL Distilled», произносит NoSQL как «но-сиквел»:
Если вы заглянете в официальную SQL-документацию Oracle, вы увидите, что там по-прежнему отдается предпочтение «сиквел».
А вот PostgreSQL произносится не как «постгресиквел», а как «пост-грес-кью-эль» или просто «постгрес».
SQL также часто используется в паре с сокращением RDBMS (relational database management system — СУБД). И SQL/RDBMS произносится не как «sequel-reedbums», а как «S-Q-L-R-D-B-M-S».
Вообще в выборе произношения есть некоторая последовательность. Заметно, что, говоря о самом языке, практически все называют его «эс-кью-эль». А вот когда говорят о продуктах, используется «сиквел». Например, «PL – sequel» (PL/SQL), «Transact – sequel» (T-SQL) и «sequel server» (Microsoft SQL Server и Sybase SQL Server).
SQL в MySQL, PostgreSQL и SQLite официально произносится как «эс-кью-эль». Продукты Microsoft и Oracle приняли произношение «сиквел».
Oracle и Microsoft — гиганты в мире баз данных. Стоит ли нам прислушаться к их мнению насчет произношения SQL?
Многие возражают: «Если бы использовал Sequel, то так бы и говорил — «сиквел». Но я использую SQL, так что и говорить буду «эс-кью-эль»». Кроме того, фантазия людей не имеет границ, и встречаются довольно необычные варианты произношения: squall, sqwool, sqwll, squirrel.
Перевод статьи «S.Q.L or Sequel: How to Pronounce SQL?».
От редакции Techrocks. Мы решили также заглянуть на Quora и почитать мнение разработчиков на этот счет. Из дискуссии о том, можно ли судить об опытности разработчика по тому, как он произносит SQL:
Walter Smith
Я работал в Microsoft с парой очень опытных архитекторов баз данных. Так вот они произносили SQL как «эс-кью-эль».
Мне говорили, что стандарт ISO предполагает именно такое произношение, потому что там пишется “an SQL”, а не “a SQL”.
Билл Карвин, автор книги «SQL Antipatterns: Avoiding the Pitfalls of Database Programming»
Оба варианта нормальные. Оба используются как джуниорами, так и сеньорами, причем уже много лет.
Если кто-то отпускает комментарии о том, как вы произносите SQL, этот «кто-то» просто ищет повод поспорить. Озадачьте собеседника: заявите, что пользователи vim говорят “S-Q-L”, а пользователи emacs — “Sequel”. И уйдите.
Кевин Эдвард Кляйн, автор книги «SQL in a Nutshell»
В Северной Америке говорят «сиквел», когда имеют в виду СУБД. А говоря о самом языке, произносят «эс-кью-эль». Также побуквенно произносятся названия диалектов — T-SQL, PL/SQL и т. п.
Mark Flory
Однажды я проходил телефонное собеседование в компании, которая, как я надеялся, должна была статьи моим вторым рабочим местом.
Интервьюер: «В вашем резюме говорится, что вы знаете SEQUEL».
Я: «Нет. Я о нем только слышал. Профессор в колледже упоминал этот язык однажды».
Интервьюер: «Но он значится в вашем резюме».
Я: «Эээ… Нет».
Конец разговора.
Я пошел и рассказал о происшедшем моему боссу.
Босс: «Идиот, он же об SQL говорил».
Я: «А! Вот черт!..»
Mike Richmond
Люди, которые публикуют книги и статьи по SQL, вероятно, являются самыми компетентными пользователями и знают, как это произносится. Если сравнить частотность “a SQL” и “an SQL” в литературе, мы получим представление о том, какой вариант предпочитают авторы (ну или редакторы):
А как вы произносите SQL и почему именно так? Поделитесь в комментариях!
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]