Время сессии. Курсовой проект делается в последний момент. В программе упорно отображаются красные иконки некорректной операции, но иначе не получается. Выход найден быстро: Ресторатор, замена красных иконок зелёными, патч на 70 килобайт успешно накатывается на институтскую машину. Курсовой сдан!
Сижу работаю. В браузере открыто много вкладок. Заходит сотрудница с рабочим вопросом, бросает взгляд на монитор и в ходе беседы спрашивает:
— А ты, я погляжу, на сайтах знакомств сидишь?
В недоумении смотрю на браузер. В неактивных вкладках подряд идут «Знакомств...», «Знакомств...», «Знакомств...» Открываю одну из вкладок — там много кода и шапка «Знакомство с Android».
Весенняя пора. Наступает долгожданная сессия. Сутками пишу лабы. После двух бессонных ночей решил пару часиков подремать. Пришел из института в пять, лёг.
Снится мне квадратная матрица для светодиодов 16 на 16 ячеек какого-то непонятного серо-графитного цвета. При подходе к последней ячейке (i, j) матрица разрастается в стороны и увеличивается в замкнутом цикле. «А ведь хорошо, — думаю, — что i++; j++; не забыл вписать — так ведь и поспать можно, пока матрица считается. А считаться она будет долго...»
С мыслью о бесконечности внезапное переполнение стека меня разбудило. Начинались следующие сутки.
Я студент, на полставки работаю на кафедре начертательной геометрии. По заданию начальника разрабатываем систему автоматического тестирования на AutoLISP. Вкратце: скрипт вычерчивает условие нужной задачи, после чего студент решает её с помощью урезанных до минимума инструментов Автокада и жмёт кнопку «Проверить». Программа смотрит, где и что начерчено, и даёт за каждый элемент баллы, которые потом суммируются в оценку.
Однажды к нам приехали гости из Казахстана, которых всё это дело очень заинтересовало. Начальник сопровождает их к моему компьютеру (больше никого, как назло, рядом не было) и просит показать полностью действующую задачу. Беру одну случайную. Решаю двумя вариантами — гости в восторге. Меня просят показать код. Версия финальная, «некрасивые» комменты удалены, ничего беды не предвещает.
Ну и как объяснить хихикающим казахам и багровому от стыда начальнику, что функция проверки начинается с обнуления баллов за линии проекционной связи для точки B и связанных с ней отрезков AL, AN, EM?
Работала давным-давно в отделе автоматизации девочка-программист — ваяла на FoxPro программки по обработке данных. Однажды увидел я кусочек кода, призванного убрать в каждой записи базы данных лишние пробелы слева от фамилии. Код выглядел примерно так:
scan 'цикл по базе if(at(a.fieldname,” ”)) 'если в первой позиции пробел, replace a.fieldname with substr(a.fieldname, 2) 'то исключаем первый символ endif endscan
Код убирал в каждой записи один пробел слева. «А что, если слева будет 17 пробелов?» — спрашиваю. Девочка потупила взор и поняла, что придётся запускать программу 17 раз.
Каково же было её удивление, когда я показал ей свой код, вернее, одну команду, которая может убрать хоть 17, хоть 30 пробелов и слева, и справа:
Я студент четвёртого курса, по совместительству .NET-программист. Вечер. Набираю в Ворде аннотацию к завтрашней паре по английскому. Ввожу начало очередного слова и замираю в ожидании IntelliSense.
Жаль, что Ворд им ещё не оснастили — полезная была бы фича!
Сдавали в институте на первом курсе лабораторку на Паскале. Лабораторка была посвящена обработке текстов — мелочей не помню, но сперва нужно было объединить два текстовых файла. Для этого мы использовали оператор сложения, благо Паскаль это позволял.
Преподаватель всматривается в код, а потом спрашивает, почему мы сложили строки, а не использовали специальную функцию. Мы объясняем, что и так можно, на что препод отвечает, что если мы потом где-нибудь встретим функцию, то ни за что не догадаемся, что она делает. «Наверняка, — говорю, — название у функции будет „говорящим“, поэтому мы догадаемся». Преподаватель, торжествующе: «Ага, а функция называется CONCAT()! И что же она вам говорит?»