Работаю «скорой помощью» для неожиданно «заболевших» компьютеров. Недавно начал ещё и обучением юзверей заниматься. Один из последних заказо немного удивил: просили научить пользоваться 1С и 1С++. После недолгих расспросов выяснилось, что всё же хотят программировать на «плюсах». Пришлось отказаться.
Истории с тегом: программизмы
Всего историй: 900
На костях предков
Было это, когда я учился в универе. Идёт защита лаб по спецухе «программирование на языках высокого уровня». Показываю свою программу на Дельфи. Препод, всей душой меня недолюбливая, начинает придираться ко всему, потом успокаивается и контрольный вопрос задаёт. «Напиши вот такую дополнительную функцию», — и ехидно улыбается.
Подходит одногруппник ко мне и говорит: «Она мне тоже на той неделе такую задачу дала, там решение сложное», — и тыкает мне пять листов кода. Препод всё видит, орёт на него, одногруппник уходит. Я сел, открыл руководство разработчика — кому охота столько писать? В одной из стандартных библиотек обнаружилась готовая функция.
Сажусь на приём через час. Открываю, она тыкает — всё работает.
— Ну, у кого содрал?
— Сам написал.
— Код покажи.
Вот этот момент я не забуду: отодвигаю окно программы, и препод видит код в одну строку. Зачётку подписывала, истерично хохоча.
Видна рука поэта
Убедили препода, что прога всё-таки работает? Значит, препод был хоть минимально вменяем. Я стал отказывать в просьбах написать программку для зачёта после многодневной попытки помочь сдать зачёт по программированию студентке сельскохозяйственной академии.
Ещё на школьных уроках попытки написать для кого-то программку жёстко пресекались учительницей. Она научилась безошибочно распознавать стиль моих программ, даже если я старался писать без «выделываний», максимально шаблонно, как учили. Но тут вроде программа несложная, зачёт довольно формальный — почему бы и нет? Правда, писать надо на Бейсике, на котором в последний раз я кодил в восьмом классе на «бэкашке». Ну да ладно, пишем на Паскале, отлаживаемся и строчка в строчку переводим на Бейсик — дел на полчаса.
Как неправильно? Результат же правильный?! Ах, не так учили подобного вида задачи решать... А как учили? Ах вот так, оказывается, правильно! Ничего, что в полтора раза длиннее и лишние итерации в цикле выполняются, зато так учили. Всё переписывается заново, и с третьего раза две из трёх задач всё-таки сдаются. На всё про всё убита неделя времени и нервы, которые не восстанавливаются даже пивом.
Теперь на вопросы по программированию я с удовольствием поделюсь ссылками на мануалы по языкам и алгоритмам, отвечу на любые вопросы, покажу, как поправить код, и объясню, зачем и почему. Но писать ничего не буду. Увы, чтобы воспользоваться моей помощью, надо обладать базовым навыком — умением думать, что для многих становится непреодолимым барьером. Может, у кого-то есть ссылка и на этот мануал?
Яичница «эникейская»
Работаю эникейщиком в одном из аэропортов столицы, несу службу в ночную смену. Время близится к пяти утра, желудок нервно посылает матюки в мозг: дескать, не мешало бы покушать. Достаю из холодильника бокс для микроволновки и вспоминаю, что для компиляции яичницы соблюдены не все зависимости: нет ножа.
Где наша не пропадала! Разбиваю яйцо о край системника, шинкую сосиски куском тонкого провода от спикера, слегка размешиваю заглушкой с задней стороны всё того же системника — вуаля, все зависимости удовлетворены, яичница «эникейская» собралась и подана к столу.
Тихо сам с собою
Мой однокурсник сдавал курсовую по алгоритмическим языкам программирования на Дельфи. Сама программа вроде была готова, и можно было приступать к пояснительной записке, но для очистки совести решил он сначала показать продукт преподавателю.
После беглого взгляда на работающую программку препод перешёл к просмотру кода, при этом приговаривая: «Ага... Понятно... Хорошо... Стоп! Ни фига не понятно!» Запустил, ввёл какие-то значения в поля формы и невозмутимо ушёл под звук вылетевшего виндового окошка: «Программа вызвала ошибку... Обратитесь к разработчику и отправьте отчёт такой-то матери».
Разработчик долго сидел и, держась за голову, медитировал над предложением обратиться к самому себе.
Пуантилизм
В школе две одноклассницы-подруги-блондинки ни с того ни с сего нарисовали на встроенном Бейсике «Корвета» за два дня до зачёта целую картину: солнышко, море, пальмы. Для меня это для стало бы задачей на неделю минимум: ну, точки определить, рассчитать, куда circle() пристроить. Решил подойти к художницам и спросить, как им это удалось.
Оказалось, проще некуда: сперва девчонки нарисовали картину на миллиметровке. Код состоял из сотен команд point(X,Y).
Время на раздумья
Звонит друг и просит помочь написать программу, которая пишет и считывает из COM-порта данные о состоянии весов. Программисты из нас обоих никакие, так как оба мы электронщики. Провозившись всю ночь и замучив Гугл, получили программу, работающую в одну сторону: читать умеет, писать нет. Код был проверен до каждой буквы и переписан до невероятных конструкций — ничего не помогало.
Чуть позже контора приняла на работу прогера. Он проверил — ошибки в коде не было, как и таймаута на ожидание ответа после записи в порт.
Семнадцать мгновений весны
Сдавал у меня товарищ на первом курсе лабораторную по предмету «алгоритмические языки программирования». Всё бы хорошо, но его программа вылетала с ошибкой ровно через 17 секунд после запуска. Лабораторную он сдавал таким образом: подзывал преподавателя, запускал программу и начинал мысленный отсчёт: 17, 16, 15... За секунду до вылета программу товарищ закрывал: «Ну, что тут ещё смотреть! Впрочем, давайте ещё поглядим», — и цикл повторялся.
Ошибка на странице пять
До 13 лет у меня вовсе не было своего компьютера. К высоким технологиям я приобщался у друзей. Да и у тех не всегда всё было ладно: у одного, например, вместо компьютера была приставка «Денди» в форме клавиатуры со встроенным Бейсиком.
Я думаю, многие были в подобной ситуации, но вряд ли многие испытали такое: 24-листовые тетрадки с бейсиковскими листингами, каждый раз вводимыми с нуля. Если что-то не работало, я находил ошибку, правил в тетрадке, через неделю или две повторял. Простенькие игры получались.
У подрастающего поколения есть Сore Quad и i7, «кризисы» и «прототипы». Зачем вымучивать что-то своё?
Наиндусячил
Бывший одноклассник, нынче студент Бауманки, поведал историю о том, как сдавал лабораторную на «сях».
Зовёт препода, просит посмотреть. Тот вбивает циферки и запускает. Прога выдаёт строчку, записанную отчасти для дебага и отчасти для прикола — выпасть она могла только в практически невозможном случае. Строчка была такой:
Unknown error. Program is bad. Coder is Indian.