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

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

10227

Разработка по Фрейду

В недавней истории рассказывают о переменной КолВОдномМесте. Но это ещё ничего.

Принесла как-то интеллигентнейшая барышня курсовую. Переменную SbZad («cобытие задачи») ещё как-то пережил, но «состав изделия» и «состав узла», названные девицей SosI и SosU, выдержать было трудно…

10220

Хоть кол в %@$# теши

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

У товарища процесс явно не клеится, и он обращается ко мне за помощью. Говорю, мол, нужно объявить переменную и её значение вывести в форму. Товарищ стучит клавишами. Заглядываю к нему в монитор и падаю со стула. Переменную мой товарищ обозвал «КолВОдномМесте». Вот так иногда отношение к предмету ёмко излагается в названиях переменных и помогает поднять настроение.

10212

Сорок два листа безотказности

Пишу четвёртую версию программы. Первая версия при распечатке «на память» занимала всего четыре листа двенадцатым кеглем. Работала прекрасно. Код четвёртой версии занимает 46 листов. Пишу не первый день. Заходит начальник:

— Бла-бла-бла, не работаешь, вот первую версию за полдня написал, а четвёртую неделю выпустить не можешь…

Распечатал обе версии. Выделил в последней маркером четыре листа функций в начале (без изменений) и дал для сравнения с первой. Шеф недоуменно смотрит.

— Вот когда ваши идиоты-менеджеры не будут печатать буквы в числовые поля, когда не будут забивать 15 значений при лимите 14… [перечисление валидаторов с листов по списку] …вот тогда я буду писать софт за полдня, и кода будет всего на четыре листа.

Не всегда криво работающая программа — быдлокод. Бывают такие пользователи-джамшуты, что «безотказная» и «неубиваемая» программа «2 + 2» превращается по объёму в «Войну и мир» и становится умнее лица, которое за ней работает.

10192

Автоматизация получения дипломов

Подрабатываю, помогая студентам-программистам с их контрольными и прочими заданиями. Работаю уже семь лет, а в последние годы и по всей России — опыта накопилось предостаточно. Решил поделиться некоторыми особенностями получения высшего образования в сфере IT.

90% дипломных работ имеют тему «Автоматизация процесса N» и состоят из программы уровня лабораторной (изредка — курсовой) работы и БД на Access. Чем руководствуются преподаватели при выдаче таких заданий — неясно, но, кажется, я знаю, кого принимают разработчиками клиент-банков. Может, где-то и дают студентам оригинальные, действительно сложные и интересные работы, но мне такие не попадались.

Очень важное замечание: та база данных, которая работает в программе, и та, которая описана в пояснительной записке, это две большие разницы, как говорил Черномырдин. В программе работает реляционная БД с тем набором данных, который необходим. В ПЗ ни о какой реляционности и речи не идёт, сущности разбиты на поля как попало, зато, по словам преподавателя, «красиво».

Кстати, пояснительная записка — вообще самый важный элемент дипломной работы. Я бы ещё понял, если бы требовалось разработать утверждённую ГОСТом документацию к программе. Так нет же. Программа о чётырёх окошках на MFC — это пойдёт, а вот попробуй-ка налить 90 страниц воды, которая для каждого учебного заведения своя!

Отдельный привет преподавателям, любящим дизайн. Мы с товарищем делали несколько дипломов, сдававшихся одному руководителю, но в разные годы. В ту пору был ещё актуален Silverlight, и мы выжимали из технологии всю красоту цветов и анимации, что можно. После комментариев преподавателя родилась мысль создать новый стандарт — «CSS3 Алёна Борисовна Edition», в котором будут три цвета: тёмно-коричневый для текста, светло-коричневый для всего остального и мышино-серый для особых случаев. Иных цветов Алёна Борисовна не признаёт.

Особое замечание касается экономической части диплома. Разрабатывал систему для обучения: просмотр лекций, сдача тестов, отправка выполненных заданий преподавателю. За образец брал экономику от очень старого диплома, поэтому стоимость вышла в 50 000 рублей со всеми возможными расходами. Говорят, на предзащите у комиссии аж дух захватило от такой цены. Велели переделать: программисту назначить зарплату в 5 000 рублей, чтобы цена проекта не превышала 20 000. Следующий диплом — тоже веб-приложение — попроще, но сдаётся в учебное заведение из города побольше. Выводим те же 50 000. Комментарий руководителя: «Где бы такого работничка бесплатного найти! Вот 150 000 — ещё куда ни шло». Следующий диплом — уже недавно. Стоимость разработки — около 130 000. Комментарий: «Подумать над экономической частью — суммы больно несерьёзные». Я прям уже и не знаю…

10179

После первой строчки не закусывают

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

Долго сидел программист, разрабатывая простые алгоритмы, писал красивый и понятный код. В назначенный день студент пришёл за результатом. Увидев, что сделал программист, студент в ярости швырнул работу программисту и вскричал:

— Нет, это не годится! Ты написал всё слишком сложно, а я тебя просил сделать так, как бы это сделал я!

— Но здесь всё просто. Позволь, я объясню, и тебе всё станет понятно.

— Нет, не нужно объяснений, я не хочу в это вникать. Сделай так, как бы это сделал я, или ты просто ни на что не годишься, — отрезал студент.

— Ты точно хочешь, чтобы я сделал работу так, как бы это сделал ты?

— Да! — воскликнул студент. — Я именно этого и хочу!

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

— Постой! Ты куда? — в растерянности спросил студент.

— В бар, — ответил ему программист и добавил: — Я сделал всё в точности так, как ты меня и просил. Чего ты ещё от меня хочешь?

10169

Технологи тоже плачут

Я проработал в украинском отделении одной из самых крупных и успешных геймдев-компаний мира полтора года, уверенно пользуясь восемью языками программирования, их фишками и трюками.

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

Вскоре мне начали трезвонить. Я отобрал несколько фирм по известным критериям. После похода по собеседованиям у меня проснулось желание кого-нибудь убить.

В двух конторах собеседование проводили блондинки, которые только и понимали, что программирование — это когда пишешь в Ворде, а компьютер тебе выдаёт картинки.

Всем дались эти PHP, Ruby on Rails и 1C. Что, ничего нормального нет?

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

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

10165

В копилку киношных комполяпов

На заметку будущему режиссёру: если великий какер сидит в тёмной комнате перед компьютерным экраном и смотрит на него, редактируя текст, то каким количеством пикселей будет освещён его, какера, нос? Правильно — всеми. Нос — штука выпуклая, заметная; справиться с заметностью носа способен только великий тёмный ситх Волан-де-Морт, решивший этот вопрос сталинскими методами. А сколькими пикселями будет освещён лоб? Правильно, тоже всеми. А щёки? Тоже всеми! Человек-то прямо на экран смотрит, поэтому нос не создаёт тени. А какая в таком случае должна быть разница между освещённостью лба и подбородка, если на экране развёрнут текстовый редактор, где светимость каждой строки примерно одинакова? Совершенно верно, никакой. Ну, или почти никакой.

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

И я бы понял, если бы такой прокол допускали только в отвязных комедиях уровня «Хакеров», где юная Анджелина Джоли одним движением наманикюренного ногтя взламывает Самый Главный Сервер бухгалтерии Секретной Службы, а другой старшеклассник, добыв из «Корзины» кусок кода на ассемблере, в точности дописывает вирус до конца. Но ведь в глубокой философской драме «Матрица» братья Вачовски сделали то же самое…

Кстати, тому же будущему режиссёру: traceroute и ping — это не средства программирования, и их вывод не считается текстом программы. И View Source в браузере — тоже. Если так уж нужно показать именно текст и именно программы, дизассемблируйте какой-нибудь notepad.exe, и пусть главный герой с умным видом на это смотрит. Вам всё равно, а мы, зрители, углядим с детства знакомые mov и jmp, проникнемся уважением к великому таланту программиста и восхитимся гениальностью человека, способного писать на ассемблере без комментариев.

10163

Angry Snake

Она — программистка. На Python. Молодая. Незамужняя. Разместила в интернете объяву. Откликнулся мужчина, который, по его словам, «давно ищет себе компьютерщицу, потому что они домоседки и по мужикам не шляются».

На первом знакомстве ухажёр попросил её помочь пройти уровень в Angry Birds. Она сказала, что не умеет в них играть и что её сфера деятельности — Python.

Мужчина ответил, что никакая она не компьютерщица, а обманщица, раз в Angry Birds играть не умеет, а в «Питона» он играл ещё, когда ходил пешком под стол, на папиной «Электронике КР-03».

10137

Дырки стопкой

Во время оно не было на ЭВМ ни дисков, ни дисплеев. Была консоль. Такой шкафчик с кнопочками и лампочками. И принтер.

Программы в машину натурально закладывали в виде большой колоды перфокарт. Стоит перед тобой шкаф с лампочками, а рядом на тумбочке колода с надписью «Загрузчик». Кнопочками с консоли даёшь команду на начало считывания. В читающее устройство скармливаешь колоду. Фы-ы-ы-ырк. Проверяешь по лампочкам, всё ли правильно загрузилось. Берёшь следующую колоду. На ней написано «Фортран» — ну, или «Ассемблер», смотря какую программу компилировать. Эта колода уже побольше, где-то полметра высотой, но всё равно объектный код. Фы-ы-ы-ырк. И опять по лампочкам проверяешь. И хорошо, если фы-ы-ы-ырк, а то и застрять могло где-нибудь. Тогда кнопочками вразумляешь загрузчик: отсюда и досюда надо забыть, а оттуда ещё раз прочитать.

Загрузились. Слава яйцам. Берём теперь колоду с программой. Её оператор вручную набивал, читая, что ему программист на специальных бланках от руки написал. Особо продвинутые программисты сами за перфоратор становились, но всё равно с ошибками. Скармливаем программу. А программисты люди писучие, иной раз колода с программой в высоту несколько метров. Ест машина колоду, а ты шустро, чтоб таймаут чтения не случился, подкладываешь.

Съела. На АЦПУ результат выкинула. Метров десять распечатки с указанием, в каких строках ошибки. Программист или оператор поправляют ошибки. Карточки в колоде заменяются — и так до тех пор, пока трансляция без ошибок не пройдёт. А как пройдёт, выходной перфоратор тарахтит, объектный код на перфокарты выдаёт. Маленькая колода получается. А с чего ей быть большой, если памяти в машине 16К восемнадцатиразрядных слов? Больше не лезет.

Тут с консоли кнопками выгружаешь Фортран, берёшь колоды с полученным объектным кодом, соображаешь, куда в памяти его пристроить, загружаешь… И тут радостный заказчик бежит, два чемодана данных за собой тащит — на перфокартах, разумеется. И пошла у операторов работа — программу данными кормить. Не приведи господи колоду рассыпать! Хорошо, если у заказчика перфоратор с надпечаткой и на картах хоть что-то написано. А если нет? А если данные двоичные?..

В общем, когда к этой машине присоединили перфоленту и магнитофон, все вздохнули с облегчением. А на магнитофон сделали своп.

10109

Девяносто девять и девять в периоде

Получил счёт на оплату.

Всего с НДС: 8000,00.

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