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

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

6352

Ну, телефон как телефон

Было это несколько лет назад, в те времена, когда ещё жив был J2ME c сопутствующими мобильными платформами. Делали мы для американцев игру. ME-шная версия уже пошла в тест и была близка к релизу; принялись за остальные платформы (если память не изменяет, был это некий девайс LG на платформе BREW, на которую с джавы можно довольно легко перевести код). Через пару недель программеры представили в тестирование альфу игры и получили милейшего вида письмо от QA:

Тестирование приложения невозможно, потому что оно управляется только с клавиатуры, а на телефоне LG VX… клавиатуры нет — есть только тачскрин.

Не менее милым письмом ответил лид-программер:

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

6340

На метр вглубь доски

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

Аргументация у него была примерно следующая: «Представь себе одномерный массив», — и рисует на доске прямую линию в качестве иллюстрации. «А теперь давай представим двумерный», — и рисует квадрат. «А третье измерение куда всунуть? Некуда, оттого трехмерные массивы в Паскале и невозможны».

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

Уже потом я купил себе замечательную книжку Фаронова и, изучая листинги, наткнулся на объявление трёхмерного массива, от чего меня пробрало на самый настоящий смех. Код я перепечатал и успешно запустил на школьных 486-х. А говорил, невозможно!

6329

Жизнь на концах битов

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

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;

*/

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