Истории с тегом: программизмы

Всего историй: 897

6320

Твой новый адрес

Сижу на програмистском форуме. Вижу топик, посвящённый автоматизации работы с файлообменным сервером. Пользователь xxx не может понять, как с сервером работать, приводит свой исходный код и просит помощи. А в коде-то логин и пароль прописаны для доступа к тому самому сервису. Пробую — пускает.

Не мог я такое спустить с рук. Создаю почтовый ящик xxxlamer@rambler.ru и пробую сменить зарегистрированный имейл. Разумеется, на старый адрес уходит подтверждение. Если это его ящик, будет ему урок; если это заказчик предоставил доступ, то пусть знает, с кем связался.

6302

Без отладки, без оглядки

Сидят три программиста. Двое дебажат код в VS 2008, третий клепает инсталлятор в InstallAware.

— Дебажить напичканный колбэками код — одно удовольствие.

— Дебажить микрософтовский код во фреймворке, не имея всех исходников, ещё прикольнее.

— У вас хоть дебаггер есть… — грустно вздыхает третий.

6273

А если?..

Взяли на работу в организацию, где я админю, нового человека, парня лет 25. Ну, думаю, хорошо, что не старпёра какого-то, который работал только с одним видом вычислительной техники (счётами), а человека, которому не нужно объяснять, что к чему. Не прошло и недели, как он ко мне подходит и говорит:

— Я вот нажимаю на значок принтера, а он печатает на квадратном, а я хочу печатать на том быстром.

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

Прошёл месяц. Сижу я в своём кабинете и пытаюсь дописать небольшую программку для личного пользования. Заходит новичок, видит это и выдает:

— Что, программируешь?

— Да.

— А что пишешь?

Тут-то моё мировоззрение и пошатнулось. Неужели я так заблуждался? Значит, зря я записал человека в ламеры? Кратенько рассказываю, что пишу, показываю, что сделал, рассказываю, что будет.

— А у тебя здесь есть if — «если»?

Первый раз в жизни я не знал, что ответить. В такой тупик меня никогда еще не ставили. Я еле выдавил из себя: «Есть…»

6189

Слишком круто для тебя

Как свести Гуру с ума? Очень просто: дать ему задание написать простенькую пару из клиента и сервера, которые кидают друг другу по TCP текстовые сообщения.

Гуру пишет задачу за час, отлаживает на своей машине за пять минут и заливает результат на Крутой Студенческий Сервер, на котором преподаватель будет проверять лабораторную работу. К Крутому Студенческому Серверу есть доступ только по SFTP и SSH. Действия Гуру:

Открыть окно PuTTY, подключиться к Крутому Студенческому Серверу, запустить сервер:

$ lab7-server localhost 54321

Открыть второе окно PuTTY, подключиться к Крутому Студенческому Серверу, запустить клиента:

$ lab7-client localhost 54321

Вместо радостных «hello server» — «hello client» Гуру получает «нет связи». Три часа он пытается понять: где можно ошибиться в программах из двух дюжин строк? Куда пропал localhost? Кто перекрывает случайно выбранный порт? И вообще, почему на локальной машине, на двух машинах… на трёх машинах… даже в виртуальном PC всё работает, а на Крутом Студенческом Сервере не хочет?

Через три часа Гуру вспоминает, что Крутой Студенческий Сервер потому и называется Крутым, что это не одна машина, а кластер из трёх десятков хостов с общим файловым массивом.

6152

Удивительные приключения в стране Сиплюсплюсии

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

Повторяю, писать книги по программированию просто. Сначала синтаксис. Потом операторы. Потом ООП. Потом среда разработки. Потом основной встроенный функционал. Всё это с краткими примерами для каждого пункта. Всё, всё, идиоты! Больше ничего не надо!

Из редких исключений, есть, например, книги Фаронова по Паскалю/Дельфи. Ещё у меня лежит учебник «Использование C#», написанный индусской корпорацией (гусары, молчать). В обоих случаях точно соблюдается указанная структура. Человек, желающий написать свой учебник, может просто взять и сделать кальку с этих книг для своего языка.

Но нет. Каждый самый умный. Каждый пишет «Удивительные приключения в стране языка C++». Бл@#ь, мне не нужны удивительные приключения! Мне нужно код писать.

6150

Как угодно, но не так

Только что наткнулась на кусок кода в нашем проекте:

// Не знаю, какое условие должно быть в if, но текущее не работает

if (false) /* (старое условие) */

{

20 строчек кода;

}

Cудя по дате изменения файла, работает уже не первый месяц, если не год. Индийский код? Наши ещё круче умеют.

6149

Второй взгляд

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

/*

IHaveSex = (IWantHer == true && SheWantsMe == true);

IHaveSex = true;

*/

Стало страшно за бедную девушку.

6140

Не пеняйте на рожу

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

Приложение, которое досталось мне, было уже в полный рост на C++ и иногда весьма неслабо глючило. Реализовав требуюмую от меня функциональность, я решил всё-таки разобраться с глюками. Начал трассировку и после нескольких часов дебаггинга всё-таки отловил эксепшн. Я упал в код библиотеки, которая датировалась 92-м годом и использовалась во всех проектах конторы. Строчка кода, вызвавшая эксепшн, предварялась замечательным комментарием:

/* ugly, I know */

6133

TODO: построить дом, вырастить сына, посадить дерево

Писали с одним знакомым программу. Я был автором идеи, а знакомый, очень толковый программер, эту идею воплощал.

Работали с перерывами в несколько месяцев. Регулярно начиная дописывать, сталкивались с ключевым участком кода, где был очень меткий комментарий:

/* Надо ещё очень много всего сделать… */

Заставляло задуматься. Порой выбивало слезу.

6095

Я бился головой о стенки кластера

Я сущность. Я родилась и плыву в массиве среди таких же сущностей. Нам тепло и уютно вместе, мы колышемся и трёмся бочкáми. Но вот массив заполнен полностью, и пора в путь.

Мы течём и переливаемся из нашего родного в новый класс. Он вызвал нас. Мы все вместе двигаемся через интерфейс. Здесь немного неуютно, всё немного по-другому. Но вот функция начинает драть массив на части и распихивать, распихивать нас по холодным и жёстким ячейкам базы данных…

Вот такие сны у программистов. Непонятно только, почему БД оказалась такая жёсткая.