Читаем Bash.org.ru IT Happens Истории ## 3101 – 3200 полностью

Есть у нас здоровенный программный комплекс, обслуживающий научное оборудование. Оборудование весьма занимательное (на то и научное), поэтому и комплекс должен быть гибким: служит он такой куче исследований, что и сам не знаешь, на что именно натравишь этого монстра завтра.


Писался этот комплекс в три попытки. Первая представляла собой просто одиночную программу, которая перебиралась и перекомпилировалась, обрастая форками, ключами запуска и дефайнами до полной нередактибельности. Весь отдел ПО, вооружившись последними достижениями от MS, полгода ваял на Visual C++ замену. Итог: весь рабочий код уже обкатан на старой версии, язык C++, среда визуальная типа «интерфейс за один клик». Замена получилась модульная, и хотя перестыковка модулей осуществлялась с определённым сексом, приняли её на «ура».


Грянул кризис, утекли мозги, да и модульная софтина обросла костылями из-за трудностей с перестыковкой модулей. Свершилась третья попытка: руководство дало новым мозгам задание переписать всё заново, а для сокращения времени задействовали наимоднейшую концепцию «программирование без программирования» (UML и иже с ним: даёшь машине формулу, она в ответ — готовую программу). В этот раз в полгода уложиться явно не получилось: достижение стадии «самое начало комплекса уже иногда почти работает» вызвало всеобщий экстаз. Это, конечно, хорошо, но работать-то как?


Комплекс с сохранением модульности (только теперь модули перегруппировываются за секунду без всяких хитрых тайных знаний) я переписал в одно рыло (даже скорее в полрыла) вечерами за три месяца. Пользовался Open Watcom — дикой древней средой, в которой мышкой рисуются только диалоги. Си, «плюсы» в следовых количествах. Код полон if ((wParam&0xFFFF)==RUN_SERVO) SendCommand (MOTOR, 1); — кто знает WinAPI, тот поймёт, что такое ручная обработка оконных событий и какая это куча писанины. В теле сплошная работа непосредственно с указателями, проскакивают следы ассемблерных вставок. И почему же эта писанина совершенно не помешала мне работать в разы быстрее, чем все предшественники? Я вижу только две причины:


1) Работа программиста отнюдь не в наборе текста. Программист всё-таки не машинистка, скорость его работы не от количества знаков в минуту зависит.


2) Современные среды служат не для ускорения работы, а для снижения порога вхождения. Абстракция, оборачивающаяся во всё более и более толстую луковицу, нужна больше для сбора ста индусов в один хайвмайнд без их рассинхронизации (и вообще для того, чтобы индусы могли хоть как-то принять участие), а квалифицированному программисту, один раз изучившему системные «кирпичики», на которых держатся все разновидности таких сред, она производительность труда только снижает.


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




#3119: Квестовая цепочка

13:00 16.05.2010, IT happens


Как-то понадобилась помощь нашего админа по очередным ошибкам винды. Он в этом шарит, но не больно-то любит отвечать на вопросы чайников, а мне всё надо знать.


Обычно связь держим через мыло техподдержки. Пишу ему на мыло. Приходит ответ от автоответчика: «Если я вам СРОЧНО нужен, ищите меня в аське». Смотрю в аську: его там нет, стоит двухдневной давности статус: «Если я вам СРОЧНО нужен, ищите меня в скайпе». Иду в скайп. Смотрю статус: «Если я вам СРОЧНО нужен, ищите меня в контакте». Иду в контакт: «Если я вам СРОЧНО нужен, ищите меня по мобиле». Блин, а ведь правда, лучше б сразу позвонил, а то скоро терпение лопнет. Надо сказать, что номер немногие знают (тоже своеобразная защита от полных чайников), благодаря чему квест на этом этапе может зависнуть.


Звоню. Что бы вы думали? Автоответчик вещает: раз, мол, я такой упорный, что выполнил многоступенчатый квест, то, может, толк и выйдет. И на том конце поднимается трубка.




#3120: Наглядное пособие для отвода глаз

13:00 16.05.2010, IT happens


У на на работе стоит два сервера: обычный и конфиденциальный. Так вот, в отличие от многих «коллег», наш стелс-сервер находится не в потайной каморке, а прямо у меня в серверной.


Рецепт прост: на лист фанеры прикручиваются мамка, харды, блок питания и остальные внутренности. Всё это добро вешается на стенку с подписями, из чего состоит комп, как наглядное пособие для ламеров и интересующихся. А что оно жужжит — ну чтоб показать, что и как работает.


Удивительно, но ни одна комиссия не интересуется наглядным пособием, а над основным сервером они как только не издеваются. Как говорится, если хочешь что-то спрятать, положи это прямо перед глазами — никогда не найдут.




#3121: Песня из-за кулис

13:00 16.05.2010, IT happens


Перейти на страницу:

Все книги серии Bash.org.ru IT Happens

Похожие книги

Супермены в белых халатах, или Лучшие медицинские байки
Супермены в белых халатах, или Лучшие медицинские байки

В этой книге собраны самые яркие, искрометные, удивительные и трагикомичные истории из врачебной практики, которые уже успели полюбиться тысячам читателей.Здесь и феерические рассказы Дениса Цепова о его работе акушером в Лондоне. И сумасшедшие будни отечественной психиатрии в изложении Максима Малявина. И курьезные случаи из жизни бригады скорой помощи, описанные Дианой Вежиной и Михаилом Дайнекой. И невероятные истории о студентах-медиках от Дарьи Форель. В общем, может, и хотелось бы нарочно придумать что-нибудь такое, а не получится. Потому что нет ничего более причудливого и неправдоподобного, чем жизнь.Итак, всё, что вы хотели и боялись узнать о больницах, врачах и о себе.

Дарья Форель , Денис Цепов , Диана Вежина , Максим Иванович Малявин , Максим Малявин , Михаил Дайнека

Юмор / Юмористическая проза