С чувством, с толком, с расстановкой
Обучение индийскому коду? Судя по всему, это нормальная практика во всех российских вузах, не полностью направленных на IT — исключения можно пересчитать по пальцам.
У меня в институте был преподаватель, который читал лекции по информатике и ряду нескольких прикладных дисциплин — очень уважаемый на кафедре дядька, шумный, краснолицый, постоянно ходящий в одной одежде и всегда абсолютно уверенный в собственной правоте. «Терабайт — это... ну где-то шесть-семь бит» — это из его лекций.
Один из предметов назывался «Моделирование экономических процессов». О чём шла речь на лекциях, не понимал никто (по-моему, и преподаватель в том числе). Курс должен был закончиться написанием программы (естественно, на краденом Delphi 7). Смысл программы примерно следующий: придумывается какой-то процесс, связанный с обслуживанием случайного потока клиентов, задаются характеристики этого самого потока и возможностей персонала, клиентов обслуживающего. Нужно посчитать, сколько людей уйдут, не дождавшись обслуживания, сколько персонала действительно нужно, и так далее. В принципе, не очень сложно, но поработать пришлось на славу.
Первым сдавал программу мой однокурсник-отличник, учившийся на бюджетном отделении. Программа показало большое окно нежно-розового цвета с тремя полями ввода, после нажатия на кнопку «думала» примерно 40 секунд и заявила, что в ресторане для нормальной работы должно быть минус два официанта. Преподаватель поворчал, однокурсник что-то переделал и благополучно получил зачёт.
Я сдавал программу третьим или четвёртым. Преподаватель нажимает кнопку — программа выдает результат. Меняет параметры, нажимает кнопку — снова результат. Начинает возмущаться, я берусь переделать спорные моменты.
Во-первых, оказалось, что вычислять посетителей на каждую минуту неправильно, надо на каждую секунду. Во-вторых, надо было совершить 20 прогонов для точности. Программа чуть затормозилась, но положенный результат за 120–150 мс вычисляла. Преподаватель опять недоволен.
— Скажите, почему вы не хотите принимать работу?
— Она у вас неправильно работает.
— Почему? Вот код, если не верите результатам, посмотрите сами.
— Вот мне делать больше нечего, кроме как код ваш смотреть! Я и так знаю, что там ошибка — она слишком быстро работает. Так быть не должно, переделывайте.
Sleep(1) в цикле вычислений и прогресс-бар в отдельном окошке спасли отца русской демократии, но после получения зачёта я начал догадываться, что в этом вузе ничему хорошему меня больше не научат.