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

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

6790

Проверяй, но доверяй

Третий курс. Весь весенний семестр обучаюсь C++, забив на все предметы и занавесив наглухо окно в комнате. Вместо стандартного курсовика про создание классов для хранения строк взялся писать примитивный 3D-движок, пользуясь только познаниями в линейной алгебре, полученными в прошлом семестре. Подошёл к делу очень основательно, с полной самоотдачей, отпустив с цепи перфекционизм.

Последний-распоследний день сдачи курсового — вернее, ночь перед ним. Написана иерархия классов 3D-примитивов, написана сама программа, создающая в центре «прозрачного» кубика при помощи цикла десять точек-объектов, которые летят в разные стороны, словно от взрыва, и потом отражаются от стен. Десятый объект выдаёт ошибку конструктора класса: не проходится какая-то проверка (перфекционизм же!), и объект не создаётся. Делаю девять. Теперь ругается на девятый — стало быть, дело в последнем объекте. Ума не приложу, какая может быть взаимосвязь.

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

6781

Замки из пластиковых крышечек

За что я ненавижу школьную информатику?

«Здравствуйте, дети. Сегодня мы будем строить замок из пластиковых крышечек. Песок трогать нельзя — он для вас слишком сложный».

В результате детишки так и строят замки из пластиковых крышечек. А когда они заканчиваются, начинают пихать в замок всё, что попадается под руку: вырезки из жестяных банок, крышечки от пивных бутылок, пластиковые пакеты, осколки битого стекла и даже кубики «Лего», скрепляя всё это клеем «Момент».

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

6763

Удивительное совпадение

Разбирался с Java, гуглил один непонятный момент. Не найдя ответа, создал тему на форуме программистов, кинул её в закладки и время от времени заходил посмотреть на ответы. Их не было.

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

Через несколько дней ради интереса опять зашёл на форум. Через два часа после моего поста в теме отметился местный спец: «Ну вот, ты уже и сам разобрался, а я только хотел ответить».

6760

Может, вам ещё эмулятор счётов написать?

Сынулю в школе на математике замучили: заставляют считать столбиком. Нет, конечно, он хорошо умеет это делать, но слишком ленив. Особенно он не любит, разумеется, делить. На калькуляторе не посчитаешь: учительница заставляет расписывать в тетрадке, как именно ты считал столбиком. Сущая мука.

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

Сынуля эту программу за вечер сам придумал и набрал. Стилусом!

6723

Группа продлённого дня

Работал как-то в нашей конторе студент-программист. Обязанности у него были достаточно простыми. Приходят к нему работники и говорят: «Нам сложно делать то-то, упрости нам жизнь». Студент пишет небольшую программу, и всем хорошо. Вот только платили ему мало, и не постоянно, а за каждую программу, а потом и вовсе намекнули, что по распределению не заберут.

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

Молодой специалист работать в конторе остался.

6721

А вот кому Дубину Волчьей Ярости?

Первая курсовая по информатике на Дельфи: задача коммивояжёра. Решил аж тремя алгоритмами за неделю до сдачи. Подхожу к преподавателю — вот какой, мол, я молодец, уже всё сделал! Угу, щас… Препод задаёт за оставшееся время сделать так, чтобы по построенному маршруту бегал человечек.

В тот момент работать с графикой я не умел вообще, но нужно было как-то выкручиваться. Нарисовал четыре ICO-файла с простеньким человечком: два кадра анимации влево и два вправо. Запихал всё в проект. Экран от неправильной прорисовки дико моргает, но вроде человечек ходит. Препод кошмар эпилептика не одобрил, сказал переделать и для этого познакомил меня с другим студентом. Тот научил меня работе с компонентом DelphiX, а в качестве примера спрайта вручил вытащенного из Diablo чёрта.

Защита курсовой. Вместо коммивояжёра по карте бегает чёрт в кровоподтёках с шипастой дубинкой в руках. Удивительно, но всё прошло на ура.

6716

Дело пяти минут и двух запросов

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

Итак, человек на работе получил задание. Для настоящего программиста — пустяк, даже если он в жизни не видел VBA или Excel. Для его выполнения нужно всего лишь за 15 минут ознакомится с базовым (присвоение, условие, цикл) синтаксисом такого простого языка, как Вasic, и задать пару вопросов встроенному хелпу или Гуглу на тему имён функций, реализующих чтение-запись ячеек Excel. Дальше — простейший алгоритм на уровне школьного курса. На всё уйдет в худшем случае час. Что же делает нытик-халявщик? Правильно, идёт искать в интернет готовое решение. Находит его за бабки, оскорбляется до глубины души и отправляется просить подаяния на форумах.

Тут-то и зарыта собака. Вопреки расхожему мнению, большинство гуру благожелательно относятся к новичкам. Мы рады вам помочь в трудных моментах, подсказать нужный раздел в манах, поделиться собственным опытом по поводу того, чего в манах нет, дать общую идею алгоритма, в конце концов. Но не надо нас просить целиком выполнить за вас работу. Именно вы получите за неё деньги, а нам в четырёх случаях из пяти даже «спасибо» поленитесь сказать. Кроме того, не забывайте, что помогаем мы из энтузиазма и интереса, а превращение идеи в конечный результат — это техника, рутина, скукота.

Почему мы не игнорируем халявщиков, а посылаем их к манам и делаем прочие извращённые гнусности? Во-первых, потроллить нытика-халявщика иногда весело. Во-вторых, бывает плохое настроение, хочется отвлечься, ты ищешь интересный вопрос, видишь очередного халявщика и срываешься. В-третьих, если такому не ответить, то он создаст ещё пяток однотипных тем, будет их регулярно апать («НУ ЧО НИКТО НЕ ЗНАЕТ?»), используя волшебные слова «СРОЧНА!!!», «ХЕЛП!!!», «ПАМАГИТЕ!!!» — и в итоге уйдёт с уверенностью, что на этом форуме все дураки, и никто не знает решения его «сверхсложной» проблемы.

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

6713

Динамически подключаемый библиотекарь

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

Спустя шесть часов заходит в отдел девушка-библиотекарь.

— Вы книжку %bookName% заказывали?

— Я.

— Её на день задержали.

Тут меня осенило. Надо задержку обработчику поставить, а то получается, что файл модулем ещё не создан, а программа уже его ищет!

Шестичасовая битва с кодом завершилась победой. Спасибо, библиотекарь!

6633

API: первая доза бесплатно

Год назад мы писали проектик хорошо оплачиваемый. Заказчик замечательный, ТЗ — лучшее, что мы видели за всю жизнь… Написали и забыли.

Сегодня понадобилось полазить в исходниках. Запускаю приложение. Дебаг-плеер показывает ошибку: необработанный IOError, дескать, PHP-скрипт не доступен по указанному URL. Глаза округляются, когда я вижу адрес: там айпишник нашего хоста. А снесли мы API с сервера давно, примерно через месяц после сдачи заказа. Стыдно — не передать!

Заказчики, не бойтесь обращаться к фрилансерам после сдачи проекта. Всякое бывает.

6619

Щетина: и вашим, и нашим

Через два часа собеседование. Готовлюсь и ловлю себя на мысли: бриться или нет?

C одной стороны, собеседование, крупная компьютерная фирма — вроде надо. С другой — собеседоваться-то буду на программиста. Борода в этом деле — престижно, статусно. Не рандомайзер же спрашивать?