Оверинжиниринг — вот мировое зло, вот дьявол всеохватный. Надо же обязательно показать всему миру длину своей пиписьки, свою «современность» и владение всякими супер-пупер-технологиями. Как? Ты до сих пор ищешь четыре максимальных элемента в массиве при помощи цикла? Так ведь в последней версии надстройки для последнего Visual C++, которая продаётся всего за $1600, давно реализован готовый класс для этого! Или можно взять готовую функцию qsort, которая всего-то отсортирует зря остальные 4 миллиона элементов, зато ты потом просто сможешь взять e[0], e[1], e[2], e[3] — и всё!
Головоломщик пишет красиво, компактно, оптимально. Задача легко охватывается одним взглядом, блоки отделены один от другого логично и изящно, пусть и с нестандартным форматированием. Отличается от хорошего программиста тем, что не комментирует свой код и даёт всему сущему идиотские названия. Иногда доходит то такой изощрённой пытки, как некомментированная ассемблерная оптимизация, идеальная с точки зрения кода, но с читаемостью на уровне клинописи:
for (b=a=0, a Возможно, после пары тумаков он станет нормальным программистом и начнёт писать так: for (MaxVal=i=0, i if (MaxVal // Ищем максимальный элемент и его номер. Массив полностью нулевым не бывает (проверено выше), поэтому MaxIndex всегда определён. Только не переборщите с тумаками, а то он начнёт писать всё это в десять строк со скобками, что затрудит чтение громоздкостью — это вечный бич опенсорса.
#5332: Уберите руки от моего аптайма
15:45 31.01.2011, IT happens
Есть у меня на работе одна женщина, несколько неадекватная. У неё бзик на почве того, что её все стараются уволить. Как-то подняла шум из-за того, что один из «программистов» что-то ей испортил. Когда она выключает компьютер, тот её спрашивает: «Завершить работу?»
— Мне завершить? Совсем — и с вещами на выход? Я ещё вас тут всех пересижу, вы меня не уволите!
#5333: Тонкий беспроводной троллинг
15:45 31.01.2011, IT happens
Потребовался мне наконец вайфай дома. Домашняя сетка грамотно разведена по кабелю, так что раньше необходимости не было. Воткнул в коммутатор точку доступа, быстренько настроил WPA2.
А теперь нюанс, которым хочу поделиться. В качестве пароля, особо не заморачиваясь, я выбрал словосочетание на русском языке в английской раскладке. Запоминается легко — но попробуйте ввести его на экранной клавиатуре КПК, планшетника или смартфона! Не получается? А гости, основные пользователи моего домашнего беспроводного интернета, приходят именно с такими устройствами. Пароль пришлось менять.
#5334: Много-много миллионов новых наноэлектронов
15:45 31.01.2011, IT happens
Конец 2010 года. Интернет-провайдер в подмосковном Долгопрудном гордо заявляет: новые тарифы «работают только по новой технологии IPoE (IP over Ethernet)». Вот это инновация! А раньше мы IP через Ethernet передавать и не догадывались!
#5335: Гладко было на бумаге
19:45 31.01.2011, IT happens
Все говорят, что писать надо быстро, качественно и так, чтобы работало. С этим все согласны, но когда начинаешь выяснять, что такое «чтобы работало», обнаруживаются такие нюансы, что только диву даёшься.
Я не программист, я математик. И 25-летнего стажа у меня нет — мне всего 27. Тем не менее, на моём счету нахождение ошибки в вычислительной программе по телефону (неправильное соотношение шагов в сеточном методе для уравнения теплопроводности — в итоге деталь охлаждалась до ?3000 градусов) и ещё пара подвигов в этом духе, но рассказ не об этом.