Как программисты SQL от юзеров спасли

13.09.2013 14:39

Все знают, что SQL — это сакральный язык манипулирования данными. Знание SQL отделяет избранных от простых смертных. Знание SQL даёт власть и славу. Власть над компьютерами. Славу среди прекрасных жриц HR, готовых на всё ради знакомства с гуру SQL. Наличие заветных трёх букв в резюме сразу даёт понять: перед вами реальный айтишник, а не презираемый всеми гуманитарий.

Сейчас в это трудно поверить, но создатели SQL даже не собирались делать из него язык программирования. Его придумали для того, чтобы обычные люди могли работать с базами данных. (Да-да, даже гуманитарии.)

Это был прорыв вовсе не в программировании, а в том, что сейчас принято называть юзабилити. Конечно, с поправкой на 70-е годы, когда самым продвинутым способом общения с компьютером была текстовая консоль.

Благодаря SQL любой бухгалтер, кадровик, и даже самый бестолковый менеджер получал возможность работать с базой данных с помощью четырёх простых команд, очень похожих на фразы естественного английского языка. Select, Insert, Update, Delete — ought to be enough for anybody, остальное от лукавого. Язык даже назывался тогда не SQL, а SEQUEL: Structured English Query Language.

Да, SQL стал революцией. И проклятием. Потому что до сих пор место у компьютерного терминала было исключительной привилегией программистов. А теперь все эти юзеры начали всё настойчивее оттеснять их от зелёных экранов.

Некоторое время программисты были бессильны что-либо предпринять. SQL был им неподвластен. В нём не было ничего похожего на алгоритмы. Не было милых сердцу программиста переменных. Результаты выполнения команд SQL не сохранялись в памяти, а сразу выдавались в текстовом виде на терминал. Обработка текстовых данных, не разложенных по полочкам машинных структур, в те годы была непозволительной роскошью. Поэтому программистам приходилось разрабатывать свои собственные библиотеки для доступа к данным.

Но производительность и объёмы памяти росли, и настал момент, когда месть стала возможной.

Первой контрнаступательной операцией стало переименование языка. Из названия выбросили ненавистное слово English, дав понять юзерам, что с «естественностью языка» покончено раз и навсегда.

Полномасштабная война началась, когда программисты занялись стандартизацией SQL. Первый же стандарт превратил описание языка в спецификацию, один внешний вид которой отпугивал юзеров.

Вот лишь некоторые вехи, отмечающие победоносное покорение SQL программистами.

Индексация и контроль целостности. (Всего пара десятков новых ключевых слов — и понимание языка становится недосягаемым для нетехнарей).

Специальные типы для двоичных данных (пусть помнят, кто здесь хозяин!)

Хранимые процедуры. Всё. Теперь это полноценный язык программирования, а не какого-то там общения.

Появление персональных компьютеров и оконных интерфейсов ознаменовало окончательную победу. Юзера лишили прямого доступа к базе данных. Теперь он видит только то, что позволит ему программист.

Правда, теперь программисту приходится выяснять, что же реально хочет видеть этот юзер. А юзер, как известно любому программисту, никогда сам не знает, чего он хочет. Поэтому иногда у программиста опускаются руки, и он открывает перед юзером лазейку, позволяющую тому создать собственный SQL запрос.

Но всё, поезд ушёл. Современный бухгалтер может помнить наизусть несколько десятков малопонятных функций Excel, но в ответ на предложение самому написать простенький SELECT обиженно заверещит: «Я вам что, программист?!»

И значит, победа программистов в битве за SQL окончательна и бесповоротна.

С праздником вас, дорогие коллеги!



Автор статьи


Григорий Печёнкин

Партнёры и друзья



Продолжая использовать этот сайт, вы даете согласие на обработку файлов cookie, пользовательских данных (включая сведения о местоположении, тип и версия ОС, тип и версия браузера, тип устройства и разрешение его экрана, источник откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, язык ОС и Браузера, какие страницы открывает и на какие кнопки нажимает пользователь, IP-адрес). Если вы не хотите, чтобы ваши данные обрабатывались, пожалуйста, покиньте сайт. Вы можете узнать, как используются эти данные, ознакомившись с Политикой конфиденциальности.
Ясно, больше не показывать это сообщение