Дао программирования

Публикация № 197250

Разработка - Математика и алгоритмы

Умные мысли в красивой обложке. Что может быть лучше?

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

Это перевод текста под названием "The Tao Of Programming", он уже был несколько раз переведен на других сайтах, но для возможности публикации, перевел его повторно с несколькими исправлениями и корректировками, так же, позволил себе добавить пару строк. В приложении, лежит этот же текст в формате pdf оформленный в таком стиле, что Вы будете чувствовать, будто читаете старинную рукопись мудрого учителя. 

Как выглядит pdf формат:

 


Дао программирования

Оглавление

Книга 1. Молчаливая Пустота
Книга 2. Древние Учителя
Книга 3. Разработка
Книга 4. Кодирование
Книга 5. Сопровождение
Книга 6. Менеджмент
Книга 7. Корпоративная мудрость
Книга 8. Аппаратное и программное обеспечение
Книга 9. Эпилог


Книга 1
Молчаливая Пустота

Так говорил учитель:
"Когда ты научишься ловить код
ошибки по точке останова, наступит твое
время уходить."

 

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

1.2
Дао породило машинный язык. Машинный язык породил ассемблер. Ассемблер породил компилятор. Теперь в мире десять тысяч языков.
У каждого языка есть свое, хоть и скромное, предназначение. У каждого языка есть отражение Инь и Янь в программах. У каждого языка есть свое место внутри Дао. Но не пиши на Коболе, если можешь этого избежать.

1.3
В начале было Дао. Дао породило Пространство и Время. Поэтому Пространство и Время это Инь и Янь программирования. У программистов не постигших Дао всегда не хватает времени и свободного пространства для их программ. У программистов постигших Дао всегда достаточно времени и пространства для выполнения цели.
Как может быть иначе?

1.4
Мудрый программист слышит о Дао и усердно следует ему. Программист средних способностей слышит о Дао и ищет его. Глупый программист слышит о Дао и смеется над ним. Если бы над ним не смеялись, это было бы не Дао.
Высокие звуки труднее расслышать. Движение вперед - путь к отступлению. Большой талант проявляется на склоне лет. Великая белизна кажется покрытой пятнами. Даже в совершенной программе есть ошибки.


Книга 2
Древние Учителя

Так говорил учитель:
"После трех дней без
программирования жизнь становится
бессмысленной."

 

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

2.2
Великому учителю Тьюрингу однажды приснилось, что он машина. Когда он проснулся, то воскликнул: "Я не знаю кто я - Тьюринг, которому снится что он машина или машина, которой снится что она Тьюринг!"

2.3
Программист из очень большой компьютерной компании побывал на конференции, и возвратившись, доложил своему менеджеру: "Что это за программисты работают в других компаниях? Они плохо себя ведут, они не заботятся о внешнем виде. Их волосы длинные и неопрятные, а одежда старая и мятая. Они нарушили наше гостеприимство и еще они делали грубые звуки вовремя моей презентации". Менеджер сказал: "Я не должен был посылать тебя на конференцию. Эти программисты живут вне физического мира. Они считают жизнь абсурдом, случайным совпадением. Они приходят и уходят, не зная границ. Беспечные, живут только своими программами. Отчего же их должны заботить общественные рамки?
Они живы внутри Дао."

2.4
Ученик спросил учителя: "Вот программист, что никогда не проектирует, не сопровождает и не отлаживает свои программы. Однако все, кто его знают, считают его одним из лучших программистов в мире. Почему так?".
Учитель ответил: "Этот программист овладел Дао. Он ушел от нужды проектирования; он не сердится, если система падает, он принимает вселенную такой какая она есть. Он ушел от нужды сопровождения; ему безразлично, увидит ли кто-нибудь его код. Он ушел от нужды отладки; каждая из его программ совершенна изнутри, изящна и ясна, и ее цель самоочевидна. Поистине он постиг тайну Дао."


Книга 3
Разработка

Так говорил учитель:
"Когда программа тестируется,
уже слишком поздно вносить изменения
в проект."

 

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

3.2
Один учитель писал неструктурированные программы. Его ученик тоже начал писать неструктурированный код, имитируя его. Когда ученик попросил учителя оценить его прогресс, учитель критиковал того за неструктурированный стиль, сказав: "Что уместно учителю, то не уместно ученику. Ты должен постичь Дао прежде чем переступить структуру."

3.3
Один программист был прикреплен ко двору военачальника из Ву. Военачальник спросил программиста: "Что легче спроектировать: бухгалтерский пакет или операционную систему?"
"Операционную систему", - ответил программист. Военачальник недоверчиво воскликнул.

"Несомненно бухгалтерский пакет на много проще чем сложная операционная система" - сказал он. "Это не так" - сказал программист, - "когда проектируется бухгалтерский пакет, программист выступает посредником между людьми с разными взглядами на продукт: как он должен работать, как выглядят отчеты, и как он должен соответствовать налоговому законодательству. Проектируя же операционную систему, программист ищет самую простую гармонию между машиной и идеями. Вот почему операционную систему легче проектировать." Военачальник из Ву кивнул и улыбнулся. "Это все хорошо, но что легче отладить?"
Программист не ответил.

3.4
Менеджер пришел к учителю и показал ему документ с требованиями к новому приложению. Менеджер спросил учителя: "Сколько займет проектирование этой системы если я назначу на нее пять программистов?"
"Один год", - сразу сказал учитель. "Hо она нужна нам немедленно - или еще раньше! Сколько это займет, если я назначу десять программистов?" Учитель нахмурился. "В этом случае, это займет два года."
"А что если я назначу сто программистов?" Учитель пожал плечами. "Тогда проект никогда не завершится",- сказал он.


Книга 4
Кодирование

Так говорил учитель:
"Хорошо написанная программа это
свой собственный рай, плохо написанная
программа это свой собственный ад."

  

4.1
Программа должна быть легкой и быстрой, а ее подпрограммы соединены подобно нанизанным жемчужинам. Идея и цель программы должны присутствовать в каждой ее части. В ней не должно быть ни слишком мало и не слишком много; ни лишних циклов, ни бесполезных переменных, ни отсутствия структуры, ни избыточной жесткости. Программа должна следовать Закону Наименьшего Удивления. Что он гласит? То, что программа так должна выдавать ответ пользователю, чтобы удивить его при этом наименьшим образом. Программа, какая бы сложная ни была, должна действовать как одно целое. Она должна быть подчинена внутренней логике, а не внешнему виду. Если программа не удовлетворяет этим условиям, она будет беспорядочной и запутанной. Единственный способ поправить такую программу это переписать ее заново.

4.2
Ученик спросил учителя: "У меня есть программа, которая когда запускается, а когда и нет. Я следовал правилам программирования, но она всё равно не работает. Зачем же нужны эти правила?" Учитель ответил: "Ты не получил желаемого, Ты не получил желаемого, потому что ты не постиг Дао. Только дурак ожидает рационального поведения от людей. Почему ты ожидаешь его от машины, которая разработана людьми?
Компьютеры симулируют детерминизм; только Дао совершенно. Правила программирования преходящи; только Дао вечно. Поэтому ты должен медитировать о Дао прежде чем тебе откроется просветление." "Но как узнаю, что я достиг просветления?" спросил ученик. "Твоя программа будет работать правильно," ответил учитель.

4.3
Учитель объяснял природу Дао одному из учеников, "Дао воплощено во всех программных средствах - даже в самых незначительных", - сказал учитель. "Есть ли Дао в карманном калькуляторе?" - спросил ученик. "Есть," был ответ. "Есть ли Дао в видеоигре?" - продолжал ученик. "Есть даже в видеоигре", - сказал учитель. "А есть ли Дао в ДОС для персонального компьютера?" Мастер кашлянул и немного подвинулся. "На сегодня урок окончен", - сказал он.

4.4
Один из программистов князя Вонга писал программу. Его пальцы танцевали над клавиатурой. Программа скомпилировалась без единой ошибки и выполнилась словно дуновение ветерка. "Превосходно!" - воскликнул князь, "Твоя техника безупречна!"
"Техника?"- сказал программист, отворачиваясь от терминала, "Всё, что я делаю, — это Дао, оно находится выше техники! Когда я только начал программировать, я видел проблему как одно целое. Спустя три года я уже не видел целого. Вместо этого я использовал подпрограммы. Но теперь я не вижу ничего. Я целиком существую в не оформившейся пустоте. Мои чувства свободны. Мой разум, свободный от намерений, следует своим инстинктам. Моя программа пишется сама. Правда, иногда бывают трудности. Я вижу, как они надвигаются, я приостанавливаюсь, я молча смотрю. Затем я изменяю одну строчку в программе, и трудности исчезают как облачко дыма. И тогда я компилирую программу. Я замираю и позволяю радости работы наполнить меня. Я закрываю на миг глаза и отсоединяюсь от системы." Князь Вонг сказал, "Если бы все мои программисты были так мудры!"


Книга 5
Сопровождение

Так говорил учитель:
"Даже если программа будет состоять
из трёх строчек, когда-нибудь она
потребует сопровождения.
"

 

5.1
Часто открываемая дверь не требует смазки петель. Быстрый поток не превратится в болото. Hи звук, ни мысль не проходят через вакуум. Программы портятся без использования. Это великие таинства.

5.2
Менеджер спросил программиста, сколько времени ему потребуется, чтобы завершить программу, над которой он работает. "Она будет закончена завтра," сразу ответил программист.
"Я думаю, твоя оценка нереалистична",- сказал менеджер, "подумай ещё раз." Программист на миг задумался. "У меня есть несколько идей, которые я хотел бы реализовать в программе. Это займет по меньшей мере две недели", - сказал он наконец. "Даже в такой срок, это значит ожидать слишком многого", - настаивал менеджер, "Я буду удовлетворен, если вы просто оповестите меня, когда программа будет готова."
Программист согласился. Спустя несколько лет менеджер уходил на пенсию. По дороге к праздничному столу, накрытому в честь его ухода, он обнаружил, что программист спит у терминала. Он программировал всю ночь.

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

5.4
Хороший крестьянин пренебрежет ли зерном, что посадил? Хороший учитель проглядит ли самого скромного ученика? Хороший отец позволит ли хоть одному ребенку голодать? Хороший программист откажется ли от сопровождения своей программы?
 

Книга 6
Менеджмент

Так говорил учитель:
"Пусть программистов будет много,
а менеджеров мало - тогда они будут
работать плодотворно."



6.1
Когда менеджеры сидят на бесконечных совещаниях, программисты пишут игры. Когда бухгалтеры говорят о квартальных прибылях, бюджет на разработку урезается. Когда исследователи в докладах указывают пальцем в небо, наворачиваются тучи. Воистину, это не Дао Программирования. Когда менеджеры делают обязательства, игровые программы забыты. Когда бухгалтеры делают долговременные планы, гармония и порядок вскоре восстанавливаются. Когда исследователи выдают задание на руки, проблемы скоро решаются. Воистину, это Дао Программирования.

6.2
Почему программисты не продуктивны? Потому что их время растрачивается на совещаниях. Почему программисты мятежно настроены? Потому что менеджеры слишком часто вмешиваются. Почему программисты сменяются один за другим? Потому что они охладевают. Поработав с плохим руководством, они более не ценят свою работу.

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

6.4
Менеджер пришел к программистам и сказал: "Относительно вашего рабочего времени: вы должны приходить в девять утра и уходить в пять вечера."
Всех рассердило это заявление, а несколько тут же уволилось. Тогда менеджер сказал: "Хорошо, в таком случае вы можете сами устанавливать рабочее время, лишь бы ваши проекты завершались вовремя." Программисты, удовлетворенные, начали приходить к середине дня и работать до рассвета.

Книга 7
Корпоративная мудрость

Так говорил учитель:
"Вы можете демонстрировать
программу каждому встречному, но вы не
сможете сделать каждого встречного
компьютерно грамотным."

7.1
Ученик спросил учителя: "На востоке есть большая древовидная структура, которую люди зовут Главным Управлением. Она распухла в бесформенную массу, наполненную вице-президентами и бухгалтерами. Она издает множество указаний, и каждое говорит "Все туда!" или "Все сюда!", и никто не знает, что это должно значить. Каждый год новые названия вывешиваются на ветвях, и все попусту. Как может быть такая противоестественная сущность?" Учитель ответил: "Ты видишь эту огромную структуру и тревожишься о том, Что у нее нет разумной цели. Разве тебя не развлекает ее бесконечное движение по кругу? Тебе не нравится беззаботная легкость программирования под ее укрывающими ветвями? Почему ты беспокоишься о её бесполезности?"

7.2
На Западе живёт самая большая акула на свете. Она превращается в птицу,
которая летает, как тучи, заполняющие небо. Когда эта птица пролетает через страну, она доставляет письмо из Корпоративного Центра. Она выпускает это письмо и его окружают программисты, как чайки на пляже. Тогда птица взмывает вверх и, оставляя за плечами синее небо, возвращается домой. Ученик в изумлении глядит на птицу, поскольку не может ее постичь. Обычный программист страшится прилета птицы, поскольку боится ее послания. Учитель за своим терминалом продолжает работать, поскольку он не знает о том, что птица прилетала и улетала.

7.3
Волшебник из Башни Слоновой Кости привез свое последнее изобретение, чтобы показать его учителю. Волшебник вкатил большой черный ящик в кабинет учителя, пока учитель ожидал в молчании. "Это интегрированная, распределенная, общецелевая рабочая станция", - начал волшебник, "эргономично спланированная с патентованной операционной системой, языками шестого поколения, и многочисленными уникальными пользовательскими интерфейсами. Конструирование заняло у моих ассистентов несколько сотен человеко-лет. Разве это не удивительно?" Учитель слегка приподнял брови. "Это в самом деле удивительно," сказал он.
"Главное Управление приказало", - продолжал волшебник, "чтобы все использовали эту станцию как платформу для новых программ. Вы согласны с этим?"
"Конечно", - ответил учитель, "Ее немедленно переместят в вычислительный центр!" И волшебник, весьма довольный, возвратился в свою башню. Несколько дней спустя, ученик забрел в кабинет к учителю, и спросил, "Я не могу найти распечатку моей новой программы. Вы не знаете, где она может быть?" "Знаю", - ответил учитель, "все распечатки лежат на платформе в вычислительном центре."

7.4
Мудрый программист без страха переходит от одной программы к другой.
Никакое изменение в руководстве не может ему повредить. Его не уволят, даже если закроется проект. Почему так? Он наполнен Дао.


Книга 8
Аппаратное и программное обеспечение

Так говорил учитель:
"Если нет ветра, трава не
колышется. Если нет программ,
компьютер бесполезен."

 

8.1
Ученик спросил учителя: "Я вижу, что одна компьютерная компания намного больше остальных. Она возвышается над конкурентами, как гигант над пигмеями. Любое ее отделение может заменить целое предприятие. Почему так?" Учитель ответил, "Почему ты задаешь такие глупые вопросы? Эта компания велика, потому что она велика. Если бы она выпускала только аппаратуру, никто бы ее не покупал. Если бы она выпускала только программы, никто бы ими не пользовался. Если бы она производила только поддержку, люди бы относились к ней, как к прислуге. Но так как она это все совмещает, люди считают ее богоподобной! Не стремясь, она побеждает без усилий."

8.2
Однажды учитель проходил мимо ученика. Учитель заметил, что внимание ученика поглощено карманной компьютерной игрой. "Прости меня", - сказал он, "могу я посмотреть?" Ученик отвлекся от игры и подал ее учителю. "Я вижу, тут предлагается три уровня игры: Легкий, Средний и Тяжелый," сказал учитель. "Однако каждое такое устройство имеет еще один уровень игры, когда оно не старается ни победить, ни быть побежденным."
"Прошу вас, великий учитель", - взмолился ученик, "как найти этот таинственный уровень?" Учитель бросил устройство на пол и раздавил ногой. И внезапно ученик обрел просветление.

8.3
Один программист занимался микропроцессорами. "Посмотри, как все у меня здорово", - сказал он посетившему его программисту, работавшему с большими машинами. "У меня моя собственная операционная система и файловое запоминающее устройство. Я не должен ни с кем делить ресурсы. Программы непротиворечивы и легки в использовании. Почему бы тебе не уйти с твоей работы и не присоединиться ко мне?" В ответ на это другой программист начал описывать другу свою систему, говоря: "Сервер покоится как древний мудрец, медитирующий в середине вычислительного центра. Его диски пролегают из края в край, как великий океан механизмов. Программное обеспечение многогранно как бриллиант, и переплетено как первобытные джунгли. Каждая программа неповторима, и движется сквозь систему как быстротечная река. Вот почему я счастлив где я есть." Услышав это, программист-микропроцессорщик надолго замолчал. Но они оба оставались друзьями до конца своих дней.

8.4
Аппаратное обеспечение встретило Программное по дороге в Чань Цзэ. Программное обеспечение сказало: "Ты Инь, а я Янь. Если мы пойдем вместе, мы станем знамениты и заработаем много денег." И они пошли вместе, размышляя о покорении мира. Вскоре они встретили ПЗУ-программу, хромающую, одетую в изношенное тряпье и опирающуюся на посох. Она сказала: "Дао лежит выше Инь и Янь. Оно безмолвно и недвижимо как озеро. Оно не ищет славы, поэтому никто не знает о его присутствии. Оно не ищет богатства, так как изнутри оно завершено. Оно существует вне пространства и времени." Программное и Аппаратное обеспечение, пристыженные, возвратились по домам.


Книга 9
Эпилог

Так говорил учитель:
"Hаступило твое время уходить."

 

9.1
Древняя китайская мудрость гласит: «НИ СЫ!», что означает: «Будь безмятежен, словно цветок лотоса у подножия храма истины».

Скачать файлы

Наименование Файл Версия Размер
DaoProgrammirovania.pdf

.pdf 33,15Mb
15.08.13
127
.pdf 33,15Mb 127 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. asved.ru 35 15.08.13 17:03 Сейчас в теме
Однажды Шри Япутру пригласили работать рационализатором на завод. Оборудование на заводе всё время ломалось, трубы текли, а продукция выходила кривая. Шри Япутра пришел на завод с одним только посохом. Он зашел внутрь и оттуда послышался глухой звук удара. После этого Шри Япутра неделю сидел в уличной беседке и пил какао, а завод почему-то начал работать, как часы. Когда пришло время оплаты, Шри Япутра потребовал тысячу юаней. Хозяин завода из жадности поинтересовался, не много ли денег за такой удар. — Один юань — за удар, — объяснил Великий Учитель. — А девятьсот девяносто девять — за знание, кого ударить.
(ц)
mrXoxot; NN2P; DrAku1a; odin777; skif47; THEBESTolo4b; vladir; MaZaHacKa_13; SeiOkami; acapulco; m_aster; Roman24; boffart; Slotty; Pavean; Dach; EdmundoAlvares; Evgen.Ponomarenko; Andreynikus; Uncore; tango; greenLiss; +22 Ответить
2. AnryMc 723 15.08.13 20:28 Сейчас в теме
(1) asved.ru,

"В моё время" это расказывали про Капицу (отца), когда он по рекомендации Иоффе устроился в Кавендишской лаборатории под начало Эрнеста Резерфорда и подрабатывал "для поддержания штанов"
3. AnryMc 723 15.08.13 20:34 Сейчас в теме
Данная публикация, кроме того, что это КОПИПАСТ, нарушает авторские права.

Не указан автор и ссылка на первоисточник.
4. greenLiss 132 15.08.13 20:55 Сейчас в теме
(3) AnryMc, А может это авторский перевод ? Источник в публикации это указано.
8. AnryMc 723 16.08.13 06:14 Сейчас в теме
(4)

в публикации это указано


Наверно у меня что-то с глазами или интернетом...
10. Abadonna 3860 16.08.13 07:25 Сейчас в теме
(8) AnryMc,
Наверно у меня что-то с глазами или интернетом...

У меня, похоже, тоже :)
Ссылки на автора в упор не вижу.
На самом деле это
The Tao of Programming is a book written in 1987 by Geoffrey James.

P.S. Такие публикации должны быть в разделе Life. Модераторы совсем нюх потеряли
Сорри, она и есть в Life. Тогда всё ОК
11. AnryMc 723 16.08.13 07:32 Сейчас в теме
(10) Abadonna,

А где лайф?

Тип платности файлов: Разработки за стартмани ($m)
Кому: Программист
Тип: Статья


Главная → Каталог → ПРОГРАММИРОВАНИЕ → Теория программирования → Дао программирования
12. Abadonna 3860 16.08.13 07:37 Сейчас в теме
(11) AnryMc,
Сиреневая звездочка - Life
Прикрепленные файлы:
9. AnryMc 723 16.08.13 06:23 Сейчас в теме
(4)
А может это авторский перевод


Может и авторский, но не перевод - это точно...

А вы получили согласие автора на вольную трактовку его текста?
5. WalterMort 321 16.08.13 00:46 Сейчас в теме
80-90-е годы. Все эти элитарно-задронудные несмешные баяны, перепечатываемые на матричных принтерах. От байки про баги при сотворении мира, до "жены программиста" и прочего непотребства. Забудьте это.
А "Великий Учитель Тьюринг" гей и самоубийца.
6. greenLiss 132 16.08.13 01:21 Сейчас в теме
(5) WalterMort, я тоже не считаю их смешными, мне кажется, это и не должно быть смешным, или я ошибаюсь ? К сожалению, 80-90-е годы не моё время, пришел только пару лет назад, и мне очень интересны такие статьи... Думаю, если "старой школе" это уже давно наскучившие баяны, то для нового поколения вполне...
Persempre; +1 Ответить
7. Abadonna 3860 16.08.13 05:21 Сейчас в теме
(5) WalterMort,
80-90-е годы. Все эти элитарно-задронудные несмешные баяны,

Точно! Вспомнил баянчик:
- Мам, а правда, что деинсталлированные программы попадают на небесный сервер, которые никогда не зависает?
- Ну, дочка, если бы у твоего отца сервер никогда не зависал, ты бы и не скомпилировалась никогда.
13. Evgen.Ponomarenko 548 16.08.13 10:05 Сейчас в теме
(5) WalterMort,

Тема ДАО неисчерпаема...

2.4
Ученик спросил учителя: "Вот программист, что никогда не проектирует, не сопровождает и не отлаживает свои программы. Однако все, кто его знают, считают его одним из лучших программистов в мире. Почему так?".
Учитель ответил: "Этот программист овладел Дао. Он ушел от нужды проектирования; он не сердится, если система падает, он принимает вселенную такой какая она есть. Он ушел от нужды сопровождения; ему безразлично, увидит ли кто-нибудь его код. Он ушел от нужды отладки; каждая из его программ совершенна изнутри, изящна и ясна, и ее цель самоочевидна. Поистине он постиг тайну Дао."


Программист ответил: "Я ушел от внешнего проектирования, никто не видит как я моделирую.
Модель расширяет границы ДАО программы".

Ученик задумался, взял кисточку и ушел к учителю калиграфии.
17. TSSV 16.08.13 18:26 Сейчас в теме
(5) WalterMort,(7) Abadonna, А мне понравилось!
По крайней мере получше, чем ваш скабрёзный юмор.
18. Abadonna 3860 16.08.13 18:32 Сейчас в теме
(17) Tsaregorodtsev,
По крайней мере получше, чем ваш скабрёзный юмор.

Позвольте поинтересоваться: где я тут юморил?
Да вообще, разговор шел о копипасте, а не о содержании книги, к которой автор публикации не имеет никакого отношения
14. Timur_Bagautdinov 16.08.13 10:07 Сейчас в теме
Думаю лучше С. Макконнелла "Совершенный код" купить. Там умных мыслей почти на 1 000 стр.
15. Pavean 16.08.13 11:13 Сейчас в теме
Если программист приняв Дао в своё сердце сядет на берегу реки, увидит ли он вскорости баг проплывающий мимо?
16. Evgen.Ponomarenko 548 16.08.13 11:20 Сейчас в теме
(15) Pavean,
Нет, но он обнаружит, что Баг находится в Уме ;)
19. TSSV 16.08.13 18:38 Сейчас в теме
Точно! Вспомнил баянчик:
- Мам, а правда, что деинсталлированные программы попадают на небесный сервер, которые никогда не зависает?
- Ну, дочка, если бы у твоего отца сервер никогда не зависал, ты бы и не скомпилировалась никогда.
20. Abadonna 3860 16.08.13 18:41 Сейчас в теме
(19) Tsaregorodtsev, воистину, если человек не хочет слышать, он и не услышит.
Это я юморил? Это баянистый анекдот, народное творчество так сказать...
Evgen.Ponomarenko; +1 Ответить
21. TSSV 16.08.13 21:37 Сейчас в теме
В плагиате Вас никто не упрекал вообще то.
23. Abadonna 3860 18.08.13 06:38 Сейчас в теме
(21) Tsaregorodtsev,
В плагиате Вас никто не упрекал вообще то.

Упрекнул хуже: в плохом чувстве юмора, причем на ссылке, которую я привел в доказательство того как меня уже за@@@л плоский юмор программистов.
24. greenLiss 132 18.08.13 10:15 Сейчас в теме
(23) Abadonna, Я смотрю, Вы редкостный юморист, если пытаетесь найти юмор, там, где его нет.
25. Abadonna 3860 18.08.13 11:44 Сейчас в теме
(24) по порядку
1. Что статья в Life - респект.
2. А беллетристика на этом сайте меня уже начинает доставать. На Флибусте её читать надо!Особенно раздражают всякие там "Хроники внедрения..", которые нагло помещаются в рейтинговые статьи.
3. см.1
DrAku1a; venger; slimper; +3 Ответить
22. script 221 17.08.13 23:07 Сейчас в теме
Спасибо!!! Я чуть не прослизился. Очень класно. Я почти ощутил ДАО.

Кстати про Шри Япутру....
Наверное его родственник http://www.youtube.com/watch?v=9SmIxb3DkUQ
greenLiss; +1 Ответить
26. i_pich 45 19.08.13 06:36 Сейчас в теме
27. revril 19.08.13 13:50 Сейчас в теме
28. Созинов 22.08.13 12:01 Сейчас в теме
Баян конечно, но перечитать было интересно. Вот только действительно надоедает видеть подобное в топе, лучше под такое отдельный раздел - когда надо - зашел и почитал. Автору +
34. Sasha255n 16.09.13 17:01 Сейчас в теме
(28) EfiopReal, по поводу отдельного раздела помоему правильно . сказали.
29. shiaju 9 02.09.13 07:40 Сейчас в теме
В общем интересно было прочитать. Если бы еще у автора не было проблем с русским языком...
30. greenLiss 132 02.09.13 10:48 Сейчас в теме
(29) shiaju, есть такая проблема :) над этим работаю...
31. AVK_Alex 4 10.09.13 10:37 Сейчас в теме
Прикольно :)
Отдохнул 10 минут :)
32. AVK_Alex 4 10.09.13 10:51 Сейчас в теме
а про эпилог - это не только восточное, но и истинно славянское изречение!
33. EarlyBird 6 14.09.13 01:32 Сейчас в теме
спасибо, развлёкся )))

P.S. С русским языком у тебя всё нормально.
35. OrsoBear 10.12.14 08:51 Сейчас в теме
Сказал бухгалтеру, что это новый интерфейс 1С.
Ответила:
-Стильно, но шрифт трудно читаемый.
После Такси согласны на все :-)
Оставьте свое сообщение

См. также

Нечеткое сравнение строк. Метод Джаро-Винклера на 1С Промо

Математика и алгоритмы v8::УФ 1cv8.cf Абонемент ($m)

Схожесть строк. Метод Джаро-Винклера. В обработке реализован алгоритм нечеткого сравнения строк.

3 стартмани

20.04.2018    18926    77    Serg1701    19    

Решение задачи Эйнштейна на платформе 1с

Математика и алгоритмы v8 Абонемент ($m)

Недавно мне попалась интересная задача по созданию обработки, которая будет решать "задачу Эйнштейна". Изначально кажется, что можно просто прописать все явные и неявные условия через "Если", но это не верно. При таком подходе задачу решает ваш мозг, а решить задачу должна сама обработка основываясь только на условиях явно прописанных в тексте. Разработчик не должен делать никаких выводов и прописывать косвенные условия вытекающие из условия задачи. Условия задачи в коде должны переставляться в любом сочетании и это не должно влиять на решение.

1 стартмани

12.08.2020    333    0    itmind    2    

Treemapping. Демонстрационная обработка

Математика и алгоритмы Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Пример реализации диаграммы вида Treemap на 1С

1 стартмани

27.02.2020    2600    8    randomus    4    

Рекомендательный сервис на основе коллаборативной фильтрации на 1С. Расширение формы подбора для УТ 11.4

Оптовая торговля Розничная торговля Практика программирования Математика и алгоритмы v8 ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m)

В данной разработке реализован механизм рекомендаций товаров по принципу схожести товаров в корзине на основе алгоритма Item-to-Item от Amazon. Разобран алгоритм с демо базой и сделано расширение для УТ11.4 которое добавляет в форму подбора таблицу рекомендаций. Протестировано на 8.3.13.1865 на Управление торговлей, редакция 11 (11.4.8.63)

3 стартмани

25.09.2019    9003    12    informa1555    24    

Определение кратчайших путей, критических путей одним запросом Промо

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Еще два примера применения алгоритма каскадного матричного умножения, впервые описанного в статье «Транзитивное замыкание запросом» http://infostart.ru/public/158512/

1 стартмани

07.04.2014    36933    22    ildarovich    31    

Конвейер проверки качества кода

Инструментарий разработчика Практика программирования Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    22298    21    Stepa86    44    

РусскийФокс — 1С-подобный язык программирования

Практика программирования Математика и алгоритмы Россия Абонемент ($m)

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. Знакомство.

1 стартмани

03.07.2018    9698    1    andreosh    50    

Алгоритмы и регламентные задания (расширение)

Математика и алгоритмы Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальный механизм для создания алгоритмов и регламентных задач.

5 стартмани

28.05.2018    10723    7    pm74    39    

Полная методичка к курсу "Программирование 8.2" Промо

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

580 страниц знаний! Публикую методичку, а точнее стенограмму курса по подготовке программистов 8.2.

10 стартмани

09.01.2014    51475    109    GROOVY    100    

Многопоточная выгрузка одного сообщения обмена

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 Абонемент ($m)

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

1 стартмани

05.12.2016    14992    1    zhichkin    24    

1С+Классы. Версия-0

Разработка внешних компонент Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    19809    1    IntelInside    68    

Генетический алгоритм для решения простой задачки

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Генетический алгоритм в решении задачи: Необходимо расставить правильно (по другому) скобки, чтобы получилось 850 (1 + 2) (3 + 4) (5 + 6) (7 + 8) (9 + 10) (11 + 12) (13 + 14) + 15

1 стартмани

26.09.2016    9488    5    eugeniezheludkov    4    

Разработка синтаксического анализатора языка запросов на языке 1С Промо

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Пример разработки генератора для PEG парсера

1 стартмани

03.12.2014    24332    1    so-quest    70    

Объектные блокировки

Практика программирования Математика и алгоритмы v8 Россия Абонемент ($m)

При работе с объектными данными (справочники, документы, планы счетов и т.д.) система «1С:Предприятие» обеспечивает два вида объектных блокировок: пессимистическую и оптимистическую. Они позволяют выполнять целостные изменения объектов при одновременной работе нескольких пользователей.

1 стартмани

17.08.2016    29521    9    Ranis1286    5    

Использование методов глобального контекста в системе компоновки данных или недокументированные возможности СКД

Практика программирования Математика и алгоритмы v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

05.08.2016    35910    26    klinval    40    

Создание внешних компонент 1С по технологии NativeAPI на языке Eiffel

Математика и алгоритмы Абонемент ($m)

Статья знакомит с новым средством создания NativeAPI внешних компонент для 1С - языком Eiffel. Она будет интересна высококвалифицированным разработчикам 1С, которые имеют также опыт программирования на других языках. Eiffel - это высокоуровневый кроссплатформенный полностью объектно-ориентированный язык, обладающий красотой и элегантностью. Как инструмент создания внешних компонент он способен составить конкуренцию C++.

1 стартмани

15.07.2016    21024    2    IgorKissil    8    

Еще один взгляд на проблему «жизнь без последовательностей». Часть вторая (практическая) Промо

Математика и алгоритмы v8 КА1 БП2.0 УТ10 Розница УПП1 УНФ Россия Абонемент ($m)

В [1 - http://infostart.ru/public/62938/] был предложен метод корректировки списаний по партиям при изменении документов задним числом. Использование данного метода позволяет контролировать остатки при неоперативном проведении и поддерживать учет по партиям всегда в актуальном состоянии, то есть обходиться без механизма последовательности документов. Собственно метод заключался в решении задачи правильного списания по партиям как задачи линейного программирования. В доказательство работоспособности метода приводится следующая «каркасная» конфигурация «Полигон», в которой этот метод реализован.

1 стартмани

19.08.2010    29329    18    ildarovich    35    

Еще один способ расчета остатков на каждый день в запросе

Математика и алгоритмы Практика программирования v8 Абонемент ($m)

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

1 стартмани

24.04.2016    32970    48    ildarovich    23    

Пример рекурсивной выгрузки иерархической структуры в XDTO

Математика и алгоритмы Внешние источники данных WEB v8 1cv8.cf Абонемент ($m)

Решил реализовать иерархию в пакете XDTO и выгрузить ее рекурсивно. Задача оказалась нетривиальной, хотя и весьма простой. Изысканиями решил поделиться с народом, чтобы не пропадало народное добро.

1 стартмани

26.02.2016    33035    15    starik-2005    3    

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига

Инструментарий разработчика Математика и алгоритмы Универсальные функции v8 1cv8.cf Абонемент ($m)

Метод имитации отжига для поиска оптимального решения. И, как обычно, универсальная функция поиска этого самого решения.

1 стартмани

13.10.2015    18025    23    dusha0020    5    

Включаем звук в 1С. Доступно и всерьез. Промо

Математика и алгоритмы Универсальные функции v8 1cv8.cf Абонемент ($m)

Как сделать воспроизведение звука в 1С без внешних компонентов? Решаем средствами интернета. Для тонкого, толстого и web-клиента.

1 стартмани

30.12.2013    80095    150    sikuda    37    

Нелинейная многомерная оптимизация - это просто. Часть 1. Градиентный спуск

Математика и алгоритмы Универсальные функции Практика программирования v8 Абонемент ($m)

Рассказ с демонстрацией возможностей градиентного метода поиска оптимального решения.

1 стартмани

07.07.2015    17818    7    dusha0020    19    

Пример сериализации объектов в 1С 8.3 и их восстановления из сериализованных данных

Математика и алгоритмы Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Абонемент ($m)

Простейшая обработка, демонстрирующая принципы сериализации выбранного Объекта 1С (Справочника, Документа и еще некоторых), с возможностью восстановления Объекта из сериализованного значения.

1 стартмани

05.07.2015    27270    74    katkov_a    29    

Написание простой обработки через тестирование

Математика и алгоритмы Практика программирования v8 1cv8.cf Абонемент ($m)

Раньше я считал, что в 1С невозможно юнит-тестирование (ведь тут нет вездесущих объектов, привычных классов и и. т.). Иногда на Инфостарте появлялись специализированные обработки, но часто они скорее отпугивали от темы тестирования, чем привлекали к ней. Потом я узнал про xUnitFor1C. Оказалось, что тестирование в 1С в общем не так уж и сложно, даже в сравнении с другими языками. В данной статье я расскажу о своем первом опыте.

1 стартмани

24.02.2015    26897    12    Alien_job    40    

Конспект лекций по курсу «Автоматизированные информационные системы» Промо

Математика и алгоритмы v8 1cv8.cf Россия Абонемент ($m)

Конспект лекций по курсу «Автоматизированные информационные системы» составлен на основании требования Государственного образовательного стандарта среднего профессионального образовании к содержанию и уровню подготовки выпускника по специальности 230103 «Автоматизированные системы обработки информации и управления». В конспекте есть общие сведения о методике 1С:Профкейс. Конспект лекций разработал: канд. техн. наук, доцент Космачев С.Н.

1 стартмани

07.06.2012    24348    9    ksnik    19    

Парсинг сайта без использования встроенного браузера для начинающих

Практика программирования Математика и алгоритмы WEB v8 1cv8.cf Абонемент ($m)

Данная статья показывает пример парсинга одного конкретного сайта со своей структурой, на основе которого можно понять суть, методы и без особых проблем парсить другие сайты. Здесь описано: подключение к серверу, сохранение html-страницы на диск, загрузка и цикличный обход ее структуры, рекурсивный парсинг, загрузка картинок по ссылке на диск.

1 стартмани

20.11.2014    39509    115    angernaughts    36    

Куайн (Программа, выводящая свой исходный код на экран)

Математика и алгоритмы Практика программирования v8 1cv8.cf Абонемент ($m)

Обработка позволяет насладится реализацией этой интересной, и совершенно бесполезной с практической точки зрения задачей.

1 стартмани

25.08.2014    9488    0    atridis    7    

Пророк в своем отечестве или Читаем XML с помощью XDTO

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

29.01.2014    44520    24    majmyl    53    

Автоформатирование кода Промо

Сервисные утилиты Обработки Чистка базы Справки Производительность и оптимизация (HighLoad) Инструментарий разработчика Практика программирования Универсальные обработки Решение задач на 1С:Специалист Математика и алгоритмы Администрирование данных 1С Разработка Тестирование и исправление Стартеры 1С v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.12.2012    39411    46    Sibars    57    

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

Математика и алгоритмы БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Описание варианта запуска регламентного задания на БСП, без изменения типовой конфигурации.

1 стартмани

03.01.2014    35701    113    almas    7    

Методический материал. Работа с запросами

Практика программирования Математика и алгоритмы v8 Абонемент ($m)

Краткое методическое пособие для изучения запросов в 1С

1 стартмани

23.12.2013    17807    12    rayastar    27    

Определитель матрицы

Практика программирования Математика и алгоритмы v8 Абонемент ($m)

Представлена программная реализация вычисления определителя матрицы посредством языка запросов 1С. Даны два метода: 1) прямой, на основе определения 2) метод Гаусса, приведение к диагональному виду с вычислением произведения диагональных элементов. В обновленной версии в случае целочисленных элементов для метода Гаусса проводится полная факторизация всех чисел, участвующих в вычислениях.

1 стартмани

28.11.2013    12373    8    zaxarovsky    8    

Дополнительные материалы к статье "1С:Предприятие 7.7. Оптимизация." Промо

Математика и алгоритмы v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Разгоняем 1С:Предприятие 7.7. Выжимаем последние соки.

1 стартмани

10.02.2009    20437    2    alexk-is    10    

Инверсии перестановок

Практика программирования Математика и алгоритмы Абонемент ($m)

Дается способ нахождения инверсий в перестановке числовой последовательности. Вычисления выполнены с помощью языка запросов 1С.

1 стартмани

15.11.2013    10718    0    zaxarovsky    9    

Квадратный корень в запросе 1С

Практика программирования Математика и алгоритмы v8 Абонемент ($m)

Язык запросов 1С не позволяет вычислить квадратный корень 1С. Квадратный корень может пригодиться при вычислении среднеквадратического отклонения или геометрических вычислениях.

1 стартмани

24.10.2013    26691    4    Elisy    53    

Задачи о 5 и 9 ферзях

Математика и алгоритмы v8 Абонемент ($m)

Задача о ферзях-часовых. На шахматной доске надо расставить 5 ферзей, чтобы они держали под боем все клетки доски. Задача В. Франгена, расставить на шахматной доске 10 “белых” и 9 “чёрных” ферзей так, чтобы ни один из них не находился под ударом противника

1 стартмани

31.08.2013    20351    0    scientes    4    

Расчет SHA-1 хеша средствами 1С. Битовые операции в 1С или урок двоичной математики

Практика программирования Математика и алгоритмы v8 1cv8.cf Россия Абонемент ($m)

Расчет хеша SHA-1 без использования каких-либо внешних компонет - возможно ли это в 1Cv8? Оказывается вполне возможно!

1 стартмани

13.03.2013    30638    75    Антон Ширяев    40    

Анализ цикломатической сложности кода

Инструментарий разработчика Разработка внешних компонент Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.12.2012    24681    66    Spitfire    30    

Подсистема допроведения документов

Практика программирования Математика и алгоритмы v8 БП2.0 УТ10 УПП1 Россия Абонемент ($m)

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

1 стартмани

01.10.2012    13975    4    SergAn    40    

Основы тестирования доработок

Математика и алгоритмы v8 1cv8.cf Россия Абонемент ($m)

Попытался 1С консультантам-новичкам объяснить принципы тестирования доработок, принимаемых у программистов 1С. И описать частые ошибки в самих доработках, и какие действия нужны для обнаружения этих ошибок (без погружения в код).

1 стартмани

20.08.2012    26532    8    1СERP    17    

Простая и элегантная форма выбора из ТЗ

Математика и алгоритмы v8 1cv8.cf Россия Абонемент ($m)

Простая в использовании форма выбора из ТЗ. Можно использовать как общюю форму (весь код в модуле формы).

1 стартмани

31.05.2012    10762    0    mozz    3    

Универсальная печать таблицы значений

Математика и алгоритмы v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Универсальная печать таблицы значений, которую не стыдно прикрутить к рабочей базе данных. Группировка данных, подсчет итогов, составление диаграмм, выгрузка в быстрый доступ к исходной ТЗ.

1 стартмани

23.05.2012    11451    7    McSeem    3