Чтение онлайн

на главную - закладки

Жанры

Дефрагментация мозга. Софтостроение изнутри
Шрифт:

Консультанты и преподаватели курсов. Сочетание прямой выгоды с некоторыми убытками за счёт переобучения и очередной сертификации.

Программисты в целом. Состояние неопределённости. Выбор стоит между «изучать новые возможности» и «решать задачи заказчиков». А если изучать, то как не ошибиться с перспективой оказаться у разбитого корыта через пару лет.

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

ошибок. А ведь всего 2–3 года назад поставщик убеждал, что эти технологии являются перспективными, важными, стратегическими и т. п. Необходимы новые инвестиции в обучение персонала и преодоление появившихся рисков.

Разработчики продуктов. Косвенные убытки. В предлагаемом рынку продукте важна функциональность и последующая стоимость владения. На чём он написан – личное дело компании-разработчика. Тем не менее заброшенную поставщиком технологию придётся развивать за свой счёт или мигрировать на новую. Скорее второе: в 2012 году по прежнему работает приложение 15-летней давности, использующее DDE [88] , тогда как совместимость OLE Automation между версиями Office не гарантирована.

Риторически, подобно герою кинокомедии, можно вопрошать: «Минуточку, за чей счёт этот банкет?» И ответ будет аналогичный оригинальному, подвергшемуся цензуре в фильме.

Софтостроителю должно быть понятно, что менять технологии и концепции рискованно, потому что новые ещё сырые, а брошенные или отодвинутые на второй план «старые» так и не успели достичь зрелости. 2–3 года – минимальный срок для появления первых промышленно работающих систем и, соответственно, специалистов по их разработке. A не специалистов по чтению обновлённой версии MSDN и книжек по учебным курсам. Поэтому нормальный цикл концептуальных изменений 5–7, а то и 10 лет.

Вынужденный совет в такой ситуации дают авторы книги «Прагматичный программист» (Pragmatic Programmer), в буквальном переводе «Не кладите все свои технические яйца в одну корзину» [89] .

Office 2007

Как известно, Microsoft изменила интерфейс в Office 2007. Вместо привычных меню появились многочисленные закладки лент панелей инструментов с крупными пиктограммами. По словам Microsoft, это сделано для облегчения работы начинающим пользователям.

Хорошо, возможно, начинающим жить в офисном пакете это полезно или безразлично. А мы, давние пользователи, заканчиваем в нём жить, что ли? Кроме проблем с интерфейсом возникли проблемы открытия файлов в Office 2003. Повторилась ситуация с версией Office 97, когда Microsoft пришлось в срочном порядке выпускать конвертер для Office 95, позволяющий открывать в нём файлы новых форматов.

Разве трудно было предусмотреть возможность выбора между старым и новым интерфейсом, как это было сделано в Windows XP и 7? Зато всего за 30 долларов вам предложат купить программку третьей фирмы Classic Menu, которая возвратит старый интерфейс. Остап Бендер со своими относительно честными способами отъёма денег у населения мог бы гордиться последователями.

Крупные корпорации не спешили с обновлениями, соблюдая внутренние стандарты. В рамках одного проекта в 2010 году пришлось объяснять заказчикам, что модуль Excel 2003 для работы с OLAP-кубами, тоже от Microsoft, внезапно был удалён с их веб-сайта, и сходную функциональность официальным путём теперь можно получить только в версиях 2007 и 2010.

Итогом истории для меня стал переход на Libre Office, где редактировалась в том числе и эта книга.

SQL Server

Несмотря на предвзято позитивное отношение к

этому продукту Microsoft, используемому мною с 1996 года, вынужден отметить, что и здесь, начиная с 2005-й версии, наряду с полезными нововведениями проявилась определённая деградация.

Изменилась концепция пользовательского интерфейса. В версиях 7 и 2000 интегрированные приложения администратора (Enterprise Manager) и разработчика (Query Analyser) были разделены (в 6.х разделение тоже было, но неявное). В 2005 году корпорация решила унифицировать подход и свести всё в одну среду разработки и администрирования. Приложения переписали на. NET, благодаря чему они стали работать медленнее. В процессе переделки разработчики забыли, видимо, в спешке прихватить разные полезные мелочи, вроде множественного выделения объектов в дереве, которые за предыдущие годы были воплощены в версии 2000. Что, например, вы ожидаете увидеть, щелкнув мышью дважды на хранимой процедуре в правом окошке проводника объектов? Правильно, её текст. Но тут вас постигнет разочарование, мы проваливаемся в список параметров.

Если в версии 2000 пошаговая трассировка хранимых процедур и триггеров из консоли Query Analyser была доступна, то в 2005 она исчезла, а программистам порекомендовали дополнительно покупать Visual Studio соответствующей редакции. Хочется надеяться, что победил здравый смысл, а не поток жалоб, и в 2008 году отладка вновь появилась в основном инструментарии.

Поставляемая вместе с продуктом часть Visual Studio, видимая пользователю как BIDS (Business Intelligence Developer Studio), привязана к версии СУБД: OLAP-проекты, отчёты и пакеты ETL [90] для SQL Server 2005 могут разрабатываться только в BIDS 2005. А в BIDS 2008 уже не могут, потеряна обратная совместимость.

При этом многие полезные функции в 2005-й версии были всё ещё сырые. Например, OPENQUERY, не допускающая конкатенации строк в параметрах, вынуждала писать трудносопровождаемый код внутри строковых переменных. Или новоиспечённая ROW_NUMBER, не решающая, а создающая проблемы постраничной выборки на относительно больших объёмах. Исправляющая положение инструкция ORDER BY OFFSET появилась только в версии 2012. Форматы резервных копий между SQL Server 2008 и 2008 R2 оказались несовместимы.

Со средствами сетевого доступа к серверу баз данных и вовсе вышла смешная история.

В версии SQL Server 6.5, которая была ещё «почти Sybase 11», родным интерфейсом доступа к СУБД являлась DB-library в виде DLL и статической библиотеки С/C++, а драйвер ODBC [91] шёл как стандартное дополнение. После выпуска полностью переписанной на уровне ядра версии SQL Server 7 в 1998 году Microsoft анонсировала отказ от DB-library в пользу OLE DB, утверждая, что именно он и будет теперь «родным» для СУБД. Сама постановка фразы о том, что универсальный интерфейс, работающий через COM, может быть одновременно «родным», вызвала в сообществе разработчиков недоумение.

Поддержка DB-library была прекращена, в SQL Server 2000 эта библиотека ещё присутствует, но уже работает поверх (!) OLE DB. Библиотека С/C++ поверх COM – яркий пример костыля, подпирающего этаж совместимости. Имевший специфичные расширения ODBC-драйвер был сделан «с нуля», он самостоятельно реализовывал протокол TDS [92] доступа поверх сетевого уровня IP-сокетов и являлся высокопроизводительным и автономным, то есть не требовал установки дополнительных «родных» DLL. SQL QueryAnalyser в версии 2000 и, позднее, SQL Server Management Studio используют ODBC для управления запросами.

Поделиться:
Популярные книги

Алый бант в твоих волосах

Седов Павел
1. Алый бант
Любовные романы:
эро литература
5.00
рейтинг книги
Алый бант в твоих волосах

Надуй щеки! Том 3

Вишневский Сергей Викторович
3. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 3

Все ведьмы – стервы, или Ректору больше (не) наливать

Цвик Катерина Александровна
1. Все ведьмы - стервы
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Все ведьмы – стервы, или Ректору больше (не) наливать

Семья. Измена. Развод

Высоцкая Мария Николаевна
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Семья. Измена. Развод

Зайти и выйти

Суконкин Алексей
Проза:
военная проза
5.00
рейтинг книги
Зайти и выйти

Измена. Право на счастье

Вирго Софи
1. Чем закончится измена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на счастье

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога

Ученик

Губарев Алексей
1. Тай Фун
Фантастика:
фэнтези
5.00
рейтинг книги
Ученик

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2

Отморозки

Земляной Андрей Борисович
Фантастика:
научная фантастика
7.00
рейтинг книги
Отморозки

Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Господин следователь. Книга седьмая

Шалашов Евгений Васильевич
7. Господин следователь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Господин следователь. Книга седьмая

Предатель. Ты променял меня на бывшую

Верди Алиса
7. Измены
Любовные романы:
современные любовные романы
7.50
рейтинг книги
Предатель. Ты променял меня на бывшую

Идеальный мир для Лекаря 13

Сапфир Олег
13. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 13