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

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

3099

Бейсик — от слова «основной»

Если начали вспоминать холивары «какой язык программирования круче», добавлю-ка я и свои пять копеек. В 1998 году случилась эталонная ситуация для подобной проверки.

Лос-Анджелес. Монтируется аппаратура на корабле. Задача — принять телеметрию и отобразить в нужном виде на экран. На корабле три изолированных по национальному или производственному признаку сегмента, куда «чужих» не пускают. Отображением в одном сегменте занимался я, в другом — американцы из фирмы «A. S.», в третьем — программеры из рабоче-крестьянской корпорации. Задачи были весьма схожи: принять, обработать, отобразить. Отображение требовалось разное, но это уже неважно.

Американцы не задержались на корабле больше недели. Приехали, поставили софт, запрограммировали, получили бабки, уехали. Тихо-мирно, молча. Никаких претензий, никаких проблем. Язык программирования — Visual Basic.

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

Программеры рабоче-крестьянской корпорации приехали вместе со мной, но встречали Новый год вдали от дома. И Старый Новый год — тоже. Потом я просто перестал за этим следить. Язык программирования — Visual С++.

Для себя из этой истории я вынес критерий оценки собственной работы: количество усилий, потраченных для решения задачи, разделённое на количество заработанных килобаксов. Если сидишь на окладе, сложных проблем не возникает и нет особой нужды решать проблему быстро, то С++ вне конкуренции — программу любой сложности можно писать и отлаживать практически вечно, регулярно получая оклад. Если присутствует элемент сдельщины, то к С++ надо прибегать в последнюю очередь. Ведь крутизна программера — не в синтаксисе исходников, а в толщине его кошелька.

3096

Дурейшен ты некомпилированный!

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

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

— Дурейшен, дурейшен... И ты тоже дурейшен!

Воспитательный момент — лучше некуда.

3085

Море и велосипед

Вспомнилось небольшое пари, заключённое полтора десятка лет назад между тремя программистами (C, Pascal, FoxPro) после очередного холивара на тему «какой язык программирования круче». Суть пари заключалась в том, что «самым крутейшим языком программирования на эту пятницу» будет признан тот, на котором получится самый короткий исходный код постраничного вывода текстового файла в консоль.

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

Я это к чему? Да к тому, что автору истории про сиськи-письки вместо плоского «западлостроительства» не помешало бы матчасть хоть немного изучить. Обои вполне можно поменять двумя командами в пакетном файле, не прибегая к помощи такого монстра, как Дельфи. А то, что системный диск у него не NTFS — это уже совсем не фэншуйно. Так-то!

3083

Атипично

Писал в Cтудии недавно одну прогу, где элементы должны были менять размер при выборе контекстного меню. При отладке появлялась ошибка: «Operation completed successfully». Microsoft, вестимо, недовольна, что на её продуктах делают рабочий софт!

3067

Многотомный архив знаний

Первый «Спектрум» родители мне подарили на шестилетие, и с тех пор пошло-поехало. Прогуливание школы сводилось к посещению секции магазина электротоваров, где на огромном столе были разложены аудиокассеты с играми и программами. Ритуальное еженедельное слюнопускание, как ни странно, никак не беспокоило продавцов. Меня в магазине знали; ни у кого не вызывало удивление то, что мелкий пацан консультирует покупателей по поводу приобретения той или иной кассеты.

Там были и книги на компьютерную тематику. Так вот, одна из них буквально изменила мою жизнь. Учебник назывался «Напиши игру сам» и, как вы понимаете, был пособием для начинающего программиста.

В день рождения родители подарили мне эту книгу. Произведение зачитывалось до дыр, перечитывалось и снова зачитывалось. Когда родители хотели меня наказать за что-нибудь, они просто прятали от меня учебник. Да-да, в детстве меня наказывали книгой — вернее, её отсутствием.

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

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

3002

Любовь оптом и в розницу

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

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

ПИздОпт

ПИздРозн

ПИздТранс

Пришлось устроить перерыв, чтобы отсмеяться.

2997

Чувство жопы

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

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

2993

От забора до обеда

Много весёлостей выдавали студенты-программисты в местном колледже, но больше всего запомнился суровый армейский цикл:

for i:=1 to end;

2985

Уно бухито, пер фаворе

Ковыряюсь в потрохах жёлтой программы. В момент, когда курсор остановился на серии строк, начинавшихся с «БухИт20», с просьбой подошла жена, которая на работе умоталась так, что взгляд фокусировала с трудом. Озвучив просьбу, она перевела взгляд на экран:

— Бухито, бухито, бухито... Классную ты программу пишешь!

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

2979

А на баше — краше

Ночевал как-то у тру-админа. Выпили по пиву, покурили, пошли спать. В спальне — рай для железа: сановский сервак, комп, роутер и пара ноутов. Шумит всё это, понятно, мама не горюй. Говорю ему: «Включи какой-нибудь фильм и поставь таймер на полчасика». Привык, знаете ли, к простым виндовым решениям.

Последним, что я запомнил перед встречей с Морфеем, были горящие глаза друга и фраза: «Сейчас мы напишем простой скрипт».

Короче, я надолго запомнил эту картину: ночь, шум от десятка кулеров и тело с сигаретой в зубах, бесконечно повторяющее одно слово: «Щас, щас...»