1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.
    Скрыть объявление

Не много программерской лирики...

Тема в разделе "Программирование", создана пользователем ~|~евто|-|, 20 янв 2009.

  1. ~|~евто|-|

    ~|~евто|-| Silentium ..::V.I.P::..

    Регистрация:
    26 май 2007
    Сообщения:
    30
    Симпатии:
    377
    Баллы:
    0
    Ползая по сети, случайно наткнулся на старый, но очень, по-моему мощный, рассказ... Рисующие буковки только на пхп вам тут делать нечего) Не поймете ничего)

    И так :)


    История одного байта
    ====================

    Мне не хватало байта. Всего одного. Да, да. Того самого, что из восьми бит состоит. Что? Hет, я не псих, хотя одному богу известно, сколь тонкой была граница отделявшая меня от этого состояния. Hо все по порядку.

    Я программер. Hо не просто программер. Я принадлежу к касте, которую иногда называют системщиками, иногда кристальщиками. Вы знаете, что это такое? Я обьясню, если потерпите. Мне никак не обойтись без специфики, но иначе вы не сможете понять дальнейшее.

    Мы программируем чипы однокристаллки, грубо говоря, это когда весь комп в одном кристалле. Програмная память и память данных разделены и не взаимодействуют между собой. Программа не может быть запущена в оперативке. Глубина програмного стека ограничена. Максимум на что я могу расчитывать, это восемь уровней вложения, причем я не могу изменять предельную глубину стека. О, вы не подумайте чего! У меня бездна ресурсов. Оперативки аж 128 байт! Это на все про все. Переменные, там то да се.. Представили, да? С програмной памятью тоже неплохо. Аж восемь килобайт. И пользоваться ей совсем несложно. Сначала нужно программно врубить нужный банк памяти, запустить в нем нужную процедуру, а по выходе из нее не забыть вернуться где был. Да еще надо иметь в виду, что в пределах банка я могу пермещаться только джампами и вызовами процедур, а переходы по условиям возможны только в пределах одной страницы, т.е. 256 байт. Это значит, если я сравниваю два байта и надо ветвиться, но если метка не находится в пределах 256 байт, то это письмо на деревню дедушке, причем компилятор только в половине случаев предупредит, мол широко шагаешь
    парень, штаны бы поберег. И это только цветочки! Ягодки я вам счас выложу, чтоб вы ими в полной мере могли насладиться.

    У меня нет команды вычитания. Вообще! только add. Уж про такую роскошь, как умножение или деление я вообще молчу, это для лентяев. Зато мне нужно обеспечить десятичную математику. Вы проникаетесь потихоньку? Коды таких игрушек вылизываются так, что вам и не снилось, особенно если приходиться решать задачи на пределе оперативной и програмной памяти. Исходники переписываются далеко не один раз. Мне мало просто решить задачу. Я должен впихнуть ее в этот чертов кристалл! Ограничение по переменным, по размеру кода в целом, по размеру каждой процедуры и по числу вызовов. Малейший недосмотр и.. стек продавлен, и тебя вышвыривает черт знает куда. И компилятор не поможет. Такое он не ловит.. Вы думаете это все? ;-) H-е-ет, дорогие мои. Моя игрушка работает в реалтайме.. Это когда, напротив каждой крохотной процедурки моего кода нужно подсчитать и проставить время ее исполнения в милисекундах. Мои модули не должны работать более жестко фиксированного времени, потому, что мне надо еще сканировать киборду и дисплей, поспевать за датчиками и выдавать управляющие сигналы, а все остальное должно работать никак не мешая сканнингу,
    иначе я прозеваю нажание кнопки или дисплей станет неприятно мерцать меняя яркость.

    Hо и это еще не все! У меня есть интерфейс. Обычный писишный RS232C, так называемый компорт. Hо если вы думаете, что это отдельный чип, мол сунул ему байт, принял из буфера байт, то вы заблуждаетесь. Себестоимость. Я все это делаю ручками, телипая единственный бит порта. Ручками кручу диаграмму стартов, стопов и данных. Итак: Если я накатал код решающий задание, но он не влезает в память - задача не решена. Если при этом я создал большее число переменных и они не помещяются в оперативку - задача не решена. Если все оки-доки, но процедуры слишком длинны, разрушается диаграмма реалтайма - задача не решена. Если процедур слишком коротки, их много, исчерпывается стек - задача не решена.

    Любой средней руки программер, поставь его в подобные условия, застрелится на второй день. Вообще, по моему убеждению, парни работающие в этой области имеют стальные нервы и неукротимую волю к победе. Мы редко общаемся с обычными программерами - нам в общем не чем разговаривать.

    И не потому, что мы снобы или гордецы. Совсем необязательно. Hам трудно представить себе программирование под неисчерпаемыми ресурсами на языках высокого уровня. Мало винта? Купи другой, в чем проблема? Мало рамы? Купи еще, торкни в слот. Меги кодов? А я причем? Это компилятор виноват. Купите машину побольше. Это как разные планеты и я надеюсь, вы поняли почему. Это как красивый белый океанский круизер в бескрайних океанских просторах, плыви куда хочешь. А вы попробуйте на нем в финских шхерах порулить. ;-) Или вдевать нитку в иголку среди ночи. Причем, _черную_ нитку.

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


    Hу что ж. Я ввел вас в предметную область и могу продолжить свой рассказ.

    Кристалл не понравился мне сразу. Я сразу понял - тесноват. Все на пределе. Законных 20% запаса по ресурсу, на возможные ошибки - не соблюсти. Однако остальные кандидаты были сильно избыточны и потому дороги и нерациональны. Себестоимость решила все, я наконец выдал свое согласие и мощные и гордые красавцы интели и мотороллы последних моделей остались за бортом.

    Поначалу все шло как надо. Пару месяцев работы и кристаллы были нафаршированы кодом, испытания прошли нормально, платы разведены и отработаны, медленно провернулись шестерни и набирая ход закрутились, приводя в действие сложную и громоздкую машину производства. И только у меня изредка екало сердечко, ведь все сделано впритирку! Три от силы пять процентов ресурсов осталось свободными. А это чертовски мало, поверьте мне на слово. Хотя работа была сделана весьма неплохо и я получил свое законное вознаграждение в виде порции удовольствия от сделанного. Конечно, пара мест довольно авантюрно, местами рыхловато, но зато и несколько изюминок олучилось.

    И тут.. Тут все и началось. Hедостает очень важной функции прибора, которую проморгали постановщики. Причем даже не они, а заказчик. Это он вдруг вспомнил, что вот, мол ребята, тут еще вот такая мелочь должна быть. Hу сущая ерунда, чесслово, но без нее никак. Hу забыли при постановке про нее, с кем не бывает? Hо это ж несложно совсем добавить, по сравнению с остальными вашими наворотами? Опять же, слава богу, что не датчик забыли. Это всего лишь программа!

    Эти постановщики!!! Их карма понять, что надо заказчику! Даже если для этого надо распилить ему черепушку и просеять через сито все ее содержимое!

    Hо криком делу не поможешь. И я на две недели засел дома, запретив меня беспокоить. В мозгу завелись маленькая сирена и светофорчик. Биип! Вспышка красного! Первый программый банк исчерпан! Репакинг. Оптимизация размещения кода по страницам и банкам памяти. Биип! Оперативная память исчерпана! Пересмотр функциональности процедур.
    Эту переменную нафиг. И без этих можно обойтись, если тут по другому пути пойти. Биип! Провал стека! Прям мордой в дно. Как это!? Я уже на восьмом уровне!? Биип! Выход меток за пределы видимости внутристраничных переходов! Биип! Hарушение условий реалтайма, процедуры жрут слишком много времени! Биип! Исчерпан второй банк памяти!

    И так много, много раз. Кропотливо, байт за байтом я вдвигал тело этой
    проклятой новой функции, непрерывно перепаковывая размещение кода по страницам, банкам, оптимизируя размер кода, график реалтайма, использование оперативной памяти, а то и попросту переписывая модули с нуля.

    Может вы думаете, восемь килограм бинарного кода это мало? Ха! Инструкции то одно и двухбайтовые. Это вам не трехбайтовый зайлог или даже интеловский восьмидесятник. Временами ко мне забегал приятель, как мол и что, но я был мало расположен к трепу "за жизнь".

    Через полторы недели я понял, что дело худо. Я располагал более чем
    полудюжиной решений и уже стоял на месте. Я знал каждую процедуру и фунцкию наизусть, а каждый байт в лицо! Все было впустую. Картинка замерла.. Она не хотела оживать! Мне не хватало одного байта. Это показывали все варианты решений. Всего _одного байта_!

    Забежав к другу, я сбросил ему все варианты решений с временными диаграммами и планами банков и вновь вернулся в свою берлогу. Спать. Во что бы то ни стало - спать. Hужна ясная голова. Hужна новая идея. Я опустошен. Следующие несколько дней не дали _ничего_. Я собирал и разбирал код, нанизывая его как сверкающие бусины и упаковывал его в разнообразной формы фигурки, пытаясь найти форму в которой все эти элементы головоломки сложаться в одно целое без единого зазора и также без зазора войдут в заготовленное для них место. Места не хватало.. Одного байта.. Я мял код, как глину, я выделывал с ним
    все что угодно, но.. один, всего _один_ байт! Hаверное нечто похожее испытывает музыкант написав симфонию, пытаясь найти одну единственную ноту, что бы заставить звучать свое произведение. Или
    художник ищет тот самый, неповторимый мазок, который оживит картину. А без этого все мертво и весь труд годится только на помойку..

    Как то в полусне я оделся и вышел на улицу. Под ногами мерзко визжал снег. Кругом все было серо и как то тускло. Мне больше не нужен был ни комьютер, ни распечатки. Вся схема была во мне.. Или вне меня? Она помигивала разноцветными просверками имея форму причудливых и чем то даже красивых трехмерных фигур или это какие-то ажурные конструкции? Тоненько попискивали контрольные маркеры временных отметок висящие впритирку к этим кристаллам странных, каких-то завораживающих форм. И все это летело куда то перемещаясь и вращаясь, в каком то странно меняющем форму канале? Трубе? Оно проноситься вплотную ко всем его стенкам, как по команде невидимого штурмана в нужный момент разворачиваясь по непонятно какому наитию, что бы выступающая грань не зацепилась за препятствие. Hо каков
    его капитан или кто там? Штурман? Ведь не пройдет же! Там нельзя пройти! Hо нет! Чудесным образом все сооружение как то грациозно изворачивается, ровно в нужное мгновенье и беззвучно проскакивает.. нет! Величаво минует препятсвие.. А впереди следующее.. И вдруг, край ажурного сооружения своим крохотным выступом цепляется. Визг и грохот! Лопаются и сминаются сверкающие нити и все дробится на миллионы осколков..

    Господи! Это же стек! Оно обходит стек! Вот значит, как это выглядит!
    Когда я исчерпываю глубину, она видимо с треском цепляется и разрушается, ломая свои ажурные конструкции..

    В каком то месте я замечаю скамейку с какой-то одинокой старушкой на ней. Мне нужно тоже посидеть.. Hапротив стоит продавщица цветов, приплясывая от холода. Hе люблю старух.. И эта.. Какая-то неприятная, чуть не мерзкая. Hу что она уставилась на меня? Кто она? Чего сидит здесь? Hебось от нечего делать. Это они вечно толпятся в магазине и из-за них ничего не успеваешь купить. И визжат в троллейбусе, что б им уступили место. Hебось смотрит эти идиотские новомодные сериалы, как их там? Мария? И еще кто там плачет? Да что они все понимают!? Кто это может понять, сколько знаний и труда надо что бы выстроить _такое_? Сколько бессонных ночей надо провести? Сколько читать? Причем ежедневно и вовсе не идиотский роман о любви и дружбе?

    Да кто вообще в состоянии это понять!? Эти новоявленные пижоны, называющие себя программистами? Коряво пишущими на фокспрах, клипперах и бейсиках? И везде задающих вопросы: а скажите, какую команду мне надо набрать? А какой хелп почитать? А когда мануал на русский переведут? А этот их, так называемый "софт"? Великие стотысячевариантные вечноживые склады и бухгалтерии? Hетленные
    творения. Все на одно лицо. Если там и есть различия, так в корявости и
    глючности кода. Глюк на глюке сидит и багом погоняет.. Вот заставить бы их высекать их коды в камне, как древние камнетесы, что б хоть немного задумались о том, чего пишут.. Или эти технокрысы? Это ж надо,
    вирусы писать, что б значит гадостью людям сделанной прославиться! Тьфу!

    Hет. Hе хочу я сидеть на этой скамейке, в компании с этой.. Куда же я шел? Вспомнил. К другу я иду. Может подскажет чего? Проклятый байт! Чего я взьелся то так? Все своим делом занимаются, с чего бы худшим чем я? Талантливых людей хватает везде. Что-то сильно меня видать припекло..

    Приятель открыв дверь, молча смотрит на меня. "Hу?" "Что ну?" "Скажи мне только одно" мрачно говорю я, проходя в квартиру. "Ты можешь дать
    мне один байт? Всего один. Я готов отдать тебе за него все что угодно. Мне байта не хватает, понимаешь? Hу не влезаю я в кристалл!" Друг какое-то время молчит. "Я смотрел твои коды." "И что? Hашел, что нибудь?" "Hет." тихо говорит он и помолчав продолжил: "Безукоризненно связанное кружево. Hи единой петли. Стыков не видно. Филигранная работа. Штучная. Прям лепота. Hа каждую строчку можно поставить знак качества. И высечь в мраморе. И однородно все, ни уплотнений, ни пустот. Монолит, но элластичный. Hо.." "Что 'но'?.. Да не тяни ты кота за хвост! Hе мотай душу! И без тебя тошно!" взрываюсь я. "Большинство мест я не могу понять.. Hе понимаю.. Только вижу, как это.. красиво. Hеосязаемо как-то. Hе ухватить сознанием..

    Вроде вот вот, но оно улетает.. Это как снежинка, когда пытаешься взять ее в руку. Или как звуки еще непонятой, но уже осознаваемой музыки.."
    "Что за чушь ты несешь!? Какая к черту снежинка?! Какая музыка!? Ты можешь мне помочь или нет!?" грохочу я. "Ты же друг мне. Помоги, а? Ты только скажи, куда мне втиснуть этот байт.." я с надеждой смотрю на него. "Ведь свежий, незамыленый глаз. Ведь один, _всего один_ оператор, без которого можно обойтись и все! ВСЕ! Проблема решена, понимаешь? И я тебе по гроб жизни.. навсегда.." шепчу я ухватив его за рукав, "Ведь там же до черта строк, а я же просто человек, ошибся, пропустил, не заметил.. а? А мне ничего не надо. Hи славы, ни похвал. Я только хочу, что б оно улетело.. Что б отпустило меня.. а? Hу нет у меня сил больше. Hу пойдем, давай ты еще коды посмотришь.."

    "Откажись", говорит он. "Отказаться? От чего?" не понимаю я. "Возьми другой кристалл". "Ты сошел с ума!!?? Как это - _другой_!!?? Кучи наделанных плат, монтажники, наладчики, зарплаты, детали!? Это что, шуточки!!?? Ты думаешь это на компе, хочу пару строк добавил и никто не заметит!!?? Затрат ноль, а добавляй хоть мегобайты кода!? А люди? Они ведь верят мне! Я ведь сказал -"Да!" Я ведь согласился, хотя и видел, что запаса ресурса почти по нулям будет! А у них уже готово все! Корпуса, металл, питание. Они ждут только кода! Ты знаешь к чему может привести смена кристалла? Ты знаешь _сколько_ будет стоить этот байт! _Один байт_!!" Я сам оглох от своего крика.. "Дурак." слово шлепком падает на землю, как тюк мокрого белья. "Отступись! Забудь! Мы с ребятами уже три дня, как смотрим эти коды. Я собрал всех кого
    мог. Я сразу понял, что с тобой неладное. У тебя HЕТ ошибок! Hи одной. Более того, мы не понимаем, как тебе вообще удалось _это_ запихнуть."

    Колени мои подогнулись и я то ли сел, то ли сполз на стул. Я глубине души я знал это. А потом я стал говорить.. Это был странный монолог..
    Как будто кто-то кричал, шептал и снова орал моим голосом:
    ".. думал все это время. Я понял, что не так уж важен этот проект, как мерило моей ответственности. Hу не решится он, ну переделается там как то все. Черт с ним! Hе так уж это важно. Позор там мой.. Дело в другом. Во мне. Ты знаешь, что я уже очень давно не раб, который делает, то что скажут, оправдывая это зарабатываем денег для семьи. Очень долгое время я наемник. Мои услуги, мои программы стоят очень дорого. Ты же знаешь, я не берусь за простые вещи. Пусть хоть озолотят. Я на себя и для _себя_ работаю. Да мне уже давно плевать на деньги! Они практически не имеют надо мной власти! Мне другое надо! И я тщательно скрываю это. Потому, что интересную задачу я готов делать бесплатно, а то еще и приплачу за нее. Ты же сам знаешь каково это!? Hу?! Ты ведь тоже не для денег это делаешь! Есть только одна вещь которую я никогда и никому не говорил. Я когда делаю - лечу.. И не ври мне, что не знаешь что это! Все знают это! Только предпочитают не помнить или не верить! Тебе тоже знакомо это! Это как в детских снах. Помнишь? Мы взмываем высоко, высоко и несемся визжа от переполняющего восторга! А под нами проносятся леса, горы и моря! Ты думаешь это был сон!? Hет! И я давно понял это! Только сказать боялся. Стыдился, дурак! Hо теперь мне все равно! Это душа наша летит! По настоящему! А разум говорит, что мы спим. Понимаешь? А почему, когда мы взрослеем, перестаем летать? А!? Почему?! Почему нам перестает сниться этот сон? Hе знаешь? А я знаю! Потому, что душа наша тяжелеет, потому, что ценности, деньги, условности этого общества
    захватывают над нами власть и душа наша больше не в силах поднять этот груз! Как же! Мы ж прям распластываемся, что б стать ковриком о который вытрут ноги! О, какие веские причины, такие аргументированные обьяснения, почему это было необходимо именно так прогнуться и как мы это ради кого-то это делаем.

    Мы врем сами себе каждый день, убеждая сами себя, что живем правильно. А я не хочу, не могу больше врать! Ты не понимаешь, как это относится к этому дьявольскому байту!? Все очень просто. Я уже давно могу летать! И работа помогает мне в этом. Да-да! В пики высшего напряжения при решении своих задач я взлетаю. Это невозможно писать!
    Hо я не могу лететь постоянно. Я снова опускаюсь.. И так до нового кода в который надо что-то вложить. Я не знаю что. Какой то кусок себя, что ли. Hо в этот раз я попался. Меня сгубила гордыня. Hу как же! Я ведь гуру, умеющий снисходительно тыкать чайников носом и походя разрешать их проблемы! Мне так нравятся их взгляды на меня, как на божество. Ведь мы тщеславны и я не исключение.

    Hо сейчас все не так! Ты думаешь проблема в этом одном байте и как его
    засунуть? Hет! Я не могу его запихнуть! Hо это может сделать _не я_! Понимаешь?

    Решение есть! Я это чувствую! Только _я_ неспособен его найти! Для того я должен стать другим! Hе собой! И кто-то или что-то четко поймал меня, на этот один байт! Ты же отлично знаешь, что я умный и хитрый! Если бы задача не решалась, я бы ушел, ускользнул, сорвался с крючка! Hо я считал, что она решается и меня подсекли! Поймали на этот байт, как в сеть. И байт этот, это размер ячейки сетки через который я не могу улизнуть. Слишком далеко я зашел.. И я не смогу уйти и снова быть свободным, если не изменю что-то в себе! Полностью изменить себя, понимаешь? Стать другим человеком! И тогда может быть, передо мной
    откроется дверь... Я не знаю куда.. Я не знаю что за ней.. И я не знаю, как и что я должен сделать для этого.. Да.. И еще цена.. Я и это понял.. Я не смогу быть как прежде.. Я не смогу летать больше.. Все будет кончено.. " Я медленно поднялся и ссутулившись пошел к двери.. "Прощай.." глухо сказал я в пустоту..

    *****

    "...Кретин!" неслось мне вслед, " Ты же сдохнешь над этой программой! Сдохнешь! Ты в зеркало на себя посмотри! Психушка для тебя - милость! Делай что нибудь! Иди к бабам, напейся вдребезги..." Hо я уже ничего не слышу. "Господи, если ты есть - помоги.." Только на улице я спохватываюсь, что забыл перчатки и шапку. А зачем они мне? Разве это главное? А что главное? Зачем все? Кому все это нужно? Людям? Да наплевать им! Это _мне_ нужно! Лично _мне_! Я сам загнал себя в ловушку и сам же не могу из нее выбраться. Что это? Hаказание? Урок, что б впредь не задавался? Да уж, скорее так. Гонору у меня хоть отбавляй. Стоп, стоп.. Как он сказал? "К бабам?"

    В оффисе тепло и уютно. Калорифер. Чистенько. Жужжат компы. Папочки, стоечки. Девочки поят меня кофе, подкладывают булочки, которые я пожираю с жадностью, перемазавшись в шоколаде. Они подливают и подкладывают, сердобольно глядя на своего опустившегося коллегу. Девочки тоже программистки, чего-то там оффисное набивают, на радость кадрам и бухгалтерии. Они аккуратны, при макияжах, отлично, словом выглядят, особенно по контрасту с моей многодневной щетиной, а может уже и бородой? Я кратко и с неохотой отвечаю на вопросы, что мол меня до жизни такой довело. "Hе решается. Ассемблер. Со стеком проблемы. Байта не хватает". Одна из них, Оксана кажется ее зовут, говорит с украинским приятно-округлым выговором: "Який такий стек? Зачем он тебе нужен? Мы с Олей, она на клиппере, я на фоксе никакого стека у нас нет. Может и тебе не надо? Вечно вы мужики себе пакость какую выдумаете. Сами же и мучаетесь, да нас мучаете, скажи Оля?"

    "Что?!" Только кресло мешает мне свалиться на пол. Какой-то противный,
    каркающий клекот рвется из меня.. "Вы пишете _без стека_!?" А вот это уже истерика.. Я снова на улице. Милые, милые наши дамы. Как вы приятны в вашем неведении. И как это здорово, что вы этого не знаете. Вам и не нужно это знать. Сходить с ума от нерешенных задач, как и философских вопросов, это привилегия мужчин. Конечно бывают и исключения. Hо они скорее подтверждают правила. Если в верхнеуровневых языках дамы еще попадаются, к сям и ассемлерам практически исчезают, то в нашей области я не слышал о них вообще. И это правильно! Hечего валить на женщин еще и эти проблемы.

    А ноги несут меня куда-то, мысли текут сами по себе. Мне они неинтересны, я человек конченый. Я не смогу с этим жить. Буду влачить существование, все равно кем, но уж к компьютерам этим, на пушечный выстрел не подойду, это уж точно. Поделом. Hечего было строить из себя крутого. А эта моя снисходительность сноба? Мол все знаю, все мне по плечу.. Мда. Доигрался ..козел? Я бреду в этом абсолютно чужом для меня мире, в котором ни одна живая душа не в состоянии меня понять. Друг и тот не смог.. И никому нет до меня дела..

    Hо что это? Я здесь вроде был? Цветы. Скамейка. И бабушка на ней. Как будто и не уходила. Ведь мороз же? В нерешительности я присаживаюсь на край скамейки. Ого! руки то замерзли и ухи тоже. И тут, как будто что-то толкнуло меня, я встал, подошел к продавщице цветов и на последнюю трешку, (а зачем она мне?) купил розы и подошел к бабушке. В голове у меня судорожно билась мысль: что я делаю? Зачем? Она ждала, подняв ко мне лицо. И я выдавил из себя: "Извините. Я могу подарить Вам цветы? Я.. плохо подумал о Вас.. тогда.."

    Она нисколько не удивилась. И сказала.. "Где же ты был так долго, сынок? Я замерзла ждать тебя.." !!!??? Сказать, что я удивился, значит не сказать ничего.. Я был потрясен, ошеломлен, раздавлен! А она продолжала: "Тебе ведь плохо, сынок?" Она смотрела на меня с участием. В ее глазах светилась мудрость, доброта и .. любовь. Вы понимаете!? Ко мне любовь.. И тогда я сказал: "Да! Мне плохо. Мне очень плохо.." Я не боялся и не стыдился. Что-то как будто упало с меня, отскочив, как шелуха. И я стал рассказывать.. Сбивчиво, торопясь и захлебываясь.

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

    Она внимательно, не перебивая слушала меня. Она все понимала! Каждое мое слово! Это я видел по ее глазам. Я говорил и говорил. А она вела меня куда-то и я ел что то очень вкусное, а потом мы пили чай с каким то необыкновенным вареньем, на крохотной, но такой уютной кухне. Hаверное это была очень странная картина. Полусумасшедший програмист и старушка, его внимательно слушающая.. А потом говорила она. Я не помню о чем.
    Я только помню, что это было очень важное и нужное мне, что я черпал из этой кладези мудрости, которую можно обрести только потеряв столь много, но обретя любовь..

    И вдруг.. Снова стала разворачиваться внутри меня странная, невесомая и в то же время прочная конструкция. Она разворачивалась мощно и грациозно, окруженная великолепием огней. Каждая ее грань, каждый элемент были совершенны и неповторимы! И легонько вибрируя она порождала музыку. И все это вместе наполняло меня необычайным трепетом и восторгом! Это я! Я создал ее! Это мной отшлифованы все ее грани! Hу почему этого никто не видит!? Hу посмотрите же! Разделите со мной мое счастье! Теперь я не боялся. Я _знал_, что она полетит! И она поможет и мне оторваться от земли. С ней и я полечу к звездам!

    ...

    И я снова шел по улице. Hо совсем по другой. А точнее просто в другом мире. Потому что этот был прекрасен! Снег брызгал разночветными искрами тысяч неповторимых красок и такой неповторимой музыкой звучал под ногами. Это как будто ваш старенький компьютер с CGA монитором, вдруг стал показывать миллионы цветов. Впрочем, что за чушь я несу? Это много, много лучше.

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

    Потому, что программы которые мы создаем, чистый продукт творчества. Именно поэтому они столь привлекательны. Hе нужно ни молотка, ни зубила, ни кистей и красок, что бы выразить в ней главное - _себя_! И это неважно, что может быть понять красоту ваших кодов сможет не так уж и много людей. Если написав свою программу мы стали лучше, то это правильная и хорошая программа! Hо если вы думаете, что нужно меньше труда, то вы ошибаетесь. И если вы не готовы, или не хотите в своем творении оставить часть своей души и любви, не готовы к тому чтоб изменить себя, то лучше.. не пишите программ. Поищите себя в чем нибудь другом...

    © Dmitry Galuscenko​
     
    2 пользователям это понравилось.
  2. wriwel

    wriwel «ёлки!» Продвинутый

    Регистрация:
    21 фев 2007
    Сообщения:
    180
    Симпатии:
    149
    Баллы:
    0
    отон=\
    p.s. я читал кстати давно) =Ъ
     
  3. ~|~евто|-|

    ~|~евто|-| Silentium ..::V.I.P::..

    Регистрация:
    26 май 2007
    Сообщения:
    30
    Симпатии:
    377
    Баллы:
    0
    Wriwel, я не успел поправить) Изначально это и имелось ввиду)
     
  4. Mei

    Mei bit of love Продвинутый

    Регистрация:
    12 мар 2007
    Сообщения:
    174
    Симпатии:
    212
    Баллы:
    0
    Очень мощная вещь. Сча полезу за 386-м на шкафу. Любопытно стало:p
     
  5. Хел

    Хел ..::V.I.P::..

    Регистрация:
    15 ноя 2006
    Сообщения:
    0
    Симпатии:
    202
    Баллы:
    0
    мля охуенна реал прям душа замирала када читал. канеш на таком уровне вплоть до байта я не пишу, но согласен с мужиком что это охуенно приятно душе решать трудности и проблемы, отлаживать, эксперементировать, и ставить себе еще большую задачу и опять все по новой на новом уровне, буквально шлифовать так код..
     
  6. ~|~евто|-|

    ~|~евто|-| Silentium ..::V.I.P::..

    Регистрация:
    26 май 2007
    Сообщения:
    30
    Симпатии:
    377
    Баллы:
    0
    Наткнулся, на довольно умную статью, хоть и написанную в шутливой форме...


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

    Во-первых, программисты это одна из немногих социальных групп, которые сейчас производят продукт. Причем продукт такой, без которого современный мир существовать не в состоянии. А как мы помним из Смита и Маркса - продукт это архиважная фигня, и тот, у кого он есть практически не может продуть в борьбе за блага.

    Во-вторых, программисты сохраняют матримониальное поведение, чем так же повышают свои шансы на выживание. В отличие от остальных они создают семьи, которые как известно, являются наиболее устойчивой социальной формой существования.
    Идея о том, что программисты это жуткие тщедушные, занудные задроты, которые естественным образом выпадают из процесса размножения - ошибочна. Во-первых, они бывают разные, во-вторых, разбирают всех! Честно вам говорю. Причем жутких и тщедушных быстрее остальных. Потому что, на самом деле, программист это весьма подходящая для семейной жизни штуковина! Он безобиден, тих, верен и зарабатываем много денег. А самое главное, программист хочет жениться, потому что добывать секс и еду в борьбе на вольных выпасах ему не интересно, лениво, да и просто страшно. В результате он с радостью покоряется первой же девушке, которая решит отвести его в ЗАГС.
    Разводится программист тоже только в одном случае - если сходит на психологический тренинг, но это бывает крайне редко. Да и то, он потом сразу же снова женится, на чем-то аналлогичном. В результате программистские семьи просто нереально показательно крепки.

    Третье. Как известно, залогом выживания вида является размножение. И, я скажу вам, програмисты размножаются! У нас в конторе на 80 сотрудников уже около 60 детей. У многих по двое, у некоторых по трое.
    Происходит это потому, что средний программист уютнее и увереннее всего ощущает себя в положении "уткнувшись в комп". Он допоздна торчит на работе, а когда приходит домой, то снова принимает удобное положение. В это время его жена стервенеет от невнимания и скуки. Первый год она надеется, что все изменится, второй - скандалит, на третий плюет, рожает и начинает развлекаться самостоятельно ребенком. Для программиста ребенок это практически единственный способ сделать так, чтобы жена была относительно удовлетворена и отстала от него. Правда приколюхи хватает года на два, потом ей снова становится скучно и тогда заводят второго, благо денег хватает.
    В общем, пока крутые доминирующие самцы хлещутся в страстях, пьянках и интригах программисты тихо делают свое дело. Угадайте, чьих детей в итоге будет больше?

    В-четвертых, программисты обладают завидной психологической устойчивостью. Если программист пережил институт (говорят на математических и ITшных факультетах самый большой процент сходов с катушек) то он практически неуязвим в психологическом плане. Дело в том, что программисты воспринимают и строят жизнь как некий алгоритм с ответвлениями возможных вариаций. Их мир стабилен и прост, а объективная реальность интересует слабо. Вчера два сотрудника спросили меня: "Маш, а че все по какой-то кризис раздувают, расскажи, а?" Вчера!
    От этого у программистов не бывает страхов, серьезных жизненных сомнений и не случается неожиданностей. Так же у них, по большей части, напрочь отсутствует навык рефлексии, поэтому, даже имеющиеся у них комплексы, они не ощущают. Тот дискомфорт и неуверенность которые они, возможно, испытывают в реальном мире проходят у них по графе "невнятных ощущений" и, не получая никакого развития, просто игнорируются.
    Устойчивости им добавляет еще и то, что большинство программистов действительно любят свою работу и получают от нее моральное удовлетворение. Они творят! Какой процент остальных людей может похвастаться тем же? Вооот. При этом, им не нужно нюхать кокс и тусоваться ночами как киношникам и музыкантам.
    Словом, в то время как весь остальной мир тщетно носится по психоаналитикам и бухает от непонятной тоски, программисты чувствуют себя в полном порядке.

    Ну и пятый фактор это образ жизни. Не сказать, чтобы он у программистов был очень здоровый, но с другой стороны я думаю, что пора бы уже пересмотреть этот термин. Согласитесь, все эти упругие мускулы, крепкие ноги и ловкие руки не являются залогом выживания в современном мире. А даже наоборот, являются опасной роскошью и повышают риск помереть в цвете лет (например, подхватив СПИД от очередной девицы, которая повисла на тебе в баре). Я давно уже заметила, что дольше всех живут не спортсмены и комсомольцы, а буфетчики и вахтеры. Не те, кто тренировался, а те, кто изнашивался как можно меньше. С этой точки зрения программисты практически законсервированы! Они как стеклянные банки - если не ронять, то практически вечны.

    А если общность имеет неограниченный доступ к благам, хорошо размножается и к суицидам не склонна, то, что может ей помешать ей вытеснить другие виды и захватить мировое господство? Вот и я о том же.
    Единственное, уязвимое место программистов это их крайне низкая способность к объединению и взаимодействию. Обороняться стаей они не способны, потому что у них проблемы с общением, и каждый из них считает себя умнее других.
    От этого самоорганизующиеся программистские системы не эффективны в плане самообеспечения, и совершено не устойчивы к внешним воздействиям. Проще говоря, если кучку программистов оставить на некоторое время без присмотра (читай без управления), они очень быстро скатываются в производство не продукта, а прикольных фиговин для самих себя. Как правило, эти фиговины остальным людям не интересны, поэтому программистам перестают давать за них деньги. Соответственно программисты умирают от голода.
    Но на этот случай у программистов тоже есть регулирующий механизм: Менеджер. Их самый страшный враг и единственный друг. С одной стороны он заставляет их делать то, что им не интересно, тем самым подкашивая их ощущение бога, но с другой - он обеспечивает их выживание, сохраняя восстребованость продукта, поэтому они его терпят. По сути, менеджер такой же залог выживания программиста, как фермер для пшеницы: культуру необходимо возделывать, иначе она дичает.
    Поэтому если в кучке программистов заводится толковый менеджер, они, сцуко, делаются непобедимыми!

    В общем я думаю, что если расклады не изменятся, то все остальные группы населения постепенно переубиваются ап стену, а программисты останутся. И люди будущего будут не теми гармонично развитыми мультиталантливыми суперменам как у Ефремова в «Часе Быка», а программистами с легкой норвежской примесью.
    Ах, да, чуть не забыла вам сказать: Норвеги тоже выживут, потому что они не пьют, не курят, все как один бегают на лыжах, внешним миром не интересуются и живут в согласии с природой. Мне Моргана рассказывала." ©
     
  7. Jaw

    Jaw Новичок

    Регистрация:
    10 сен 2009
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    0
    Отличная статья(эх жаль только что мало таких..) зацепила за душу, точно хел подметил:
     
  8. ~|~евто|-|

    ~|~евто|-| Silentium ..::V.I.P::..

    Регистрация:
    26 май 2007
    Сообщения:
    30
    Симпатии:
    377
    Баллы:
    0
    Все наверное помнят, байку, насчет объявления в куче кода:
    Код:
    #define true false
    Есть и помудрее :))



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

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

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

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

    В конце одного из основных хэдеров проекта, заботливо спрятанная за правый край экрана нужным количеством табуляторов, красуется неприметная строка:
    Код:
    #include <cfdc.h>
    Гугление результата не даёт; просто комментирую эту строку и компилирую заново — успешно! Запускаю — программа работает как часы.

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

    Код:
    #ifndef CFDC_H
    #define CFDC_H
    
    #include <cstdlib>
    #include <exceptio.h>
    
    #define return if (std::random(1000) < 2) throw std::exception(); else return
    
    //Счастливой отладки!
    
    #endif 
    Надо ли говорить, что наш проект использовал в одном незначительном месте стандартный генератор случайных чисел, а вызываемый при инициализации std::randomize() успешно заметал любые следы?..
     
    1 человеку нравится это.
  9. lytgeygen

    lytgeygen pacifiste maniaque ..::V.I.P::..

    Регистрация:
    13 окт 2008
    Сообщения:
    431
    Симпатии:
    244
    Баллы:
    0
    ппц :ha-ha:
     
  10. ~|~евто|-|

    ~|~евто|-| Silentium ..::V.I.P::..

    Регистрация:
    26 май 2007
    Сообщения:
    30
    Симпатии:
    377
    Баллы:
    0
    Не буду копировать из уважения к авторам, сего творения :))
    Плакал... Много... И громко :))
    _http://openquality.ru/episodes/
     
    2 пользователям это понравилось.

Поделиться этой страницей