|
Вы находитесь в режиме просмотра. Для участия в дискуссиях клуба вам необходимо зарегистрироваться (если вы этого не сделали) и войти в систему.
|
|
Вот, как и обещал(+)
Отправлено: Mack 03.12.2004 в 00:02
|
В последнее время часто стали появляться вопросы: Как выбрать шаманский бубен программиста? Каким должен быть бубен? Специально для того, чтобы ответить на эти вопросы и развеять ряд накопившихся мифов и заблуждений вокруг данной темы, я пишу эту статью.
В разных источниках можно встретить массу рекомендаций. Например, что радиус бубна должен быть равным радиусу кривизны рук программиста [1] или, что бубен должен быть сделан из кожи ?девственного юзера? [2] или, что цвет бубна должен совпадать с цветом обоев на компьютере и т.п. Е-р-у-н-д-а! Глупые суеверия и невежество! Неважно какого цвета, размера и из какого материала изготовлен бубен. Важно лишь то какие рунические письмена нанесены на бубен.
Какие же руны должны быть на бубне?
Ответ прост. Это должны быть фрагменты кода реальных, а главное, работающих программ. Желательно, чтобы фрагменты были взяты из разных программ и написаны на разных языках программирования.
На каких же языках должны быть руны на бубне? А это зависит в первую очередь от того на каком языке написана заклинаемая программа. Если Ваша программа написана на C++, то на Вашем бубне обязательно должна быть руна на C++, если программа на Java, то должна быть руна на Java и т.д. Если Ваша программа написана на нескольких языках, то Ваша задача усложняется, т.к. Вам потребуется бубен с рунами каждого из используемых языков. Можно ли использовать несколько бубнов вместо одного? Да, но только если они совместимы между собой [3]. Запомните, что бубен без руны используемого Вами языка программирования для Вас бесполезен. Однажды я встретил бубен с рунами на Коболе и ассемблере IBM 360. Действительно редкая вещь! Но для современного программиста совершенно бесполезная.
Выбирая бубен, остерегайтесь подделок
Сейчас можно встретить множество бубнов с кричащими именами: 20 в одном, 40 в одном и даже 100 языков в одном бубне. Но если внимательно присмотреться к таким творениям , то видно, что все фрагменты кода приведенные там есть ничто иное, как программа Hello World! , продублированная на разных языках. Такой бубен Вам ничем не поможет. Разве только при создании программы уровня Hello World! .
Предположим Вы выбрали бубен и приготовились к танцу. Хорошенько подумайте о том какой именно танец Вы собираетесь воспроизвести. Помните, что не любой танец подойдёт для Вашей программы. Танец изгнания духа Меморилика [4] совершенно бесполезен для программы написанной на Java, точно так же бесполезен танец задабривания виртуальной машины Java для программы на С++ [5].
И напоследок я хочу развенчать устоявшийся миф о том, что танцы с бубном способны изгнать баги из программы. Несусветная глупость! Однако очень живучая и кочующая из поколения в поколение. Суть танца с бубном есть обращение к Великому Духу Первопрограммера и его сыну Первопрограмме, а также отречение от Первородного Бага. Правильно исполненный танец с правильным бубном будет услышан Великими Духами и они даруют Вашему детищу своё Благословение и Защиту от багов. Таким образом Вы не избавитесь от багов, но они на время перестанут проявляться. А вот на какое время они перестанут проявляться зависит от мастерства танцора. Я различаю
4 уровня мастерства владения бубном
1-й уровень
Программист умеет заклинать конкретный экземпляр программы на конкретном компьютере на короткий срок.
2-й уровень
Программист умеет создавать собственный бубен.
3-й уровень
Программист умеет заклинать множество экземпляров программы на множестве удалённых компьютеров на длительный срок.
4-й уровень
Программист умеет обходиться без шаманского бубна.
И наконец, мой последний совет
Допустим Вы купили бубен и совершили удачный танец - программа во время сдачи работала как надо. Не торопитесь почивать на лаврах. Сядьте и попробуйте разобраться, почему Ваш код работал не так как надо [6]. Если же это невозможно, то у Вас есть два варианта: пересмотреть свою жизненную позицию и заняться чем-то другим [7] либо валить нафиг из этой шарашки, в которой создание программного продукта без плясок с бубном невозможно.
Искренне Ваш,
Гура Кодович Бажев
Примечания
1. Определение радиуса кривизны рук программиста и эмпирическая формула вычисления радиуса хорошо описаны в знаменитой книге Федора Буста ?Мифический человеко-бубен?.
2. ?Девственный юзер? - ныне почти вымерший вид пользователя, не испорченного графическим пользовательским интерфейсом.
3. Совместимость бубнов между собой выходит за рамки данной статьи и будет рассмотрена автором в отдельной статье.
4. Меморилик - злое мифическое существо по мнению дотнетчиков проживающее в каждой программе на C++. ( (с) WolfHound )
5. Обучиться танцами с бубном Вы можете с помощью моих книг: ?50 эффективных танцев c бубном? и ?Ещё 35 более эффективных танцев с бубном?.
6. А тебя Петя это касается в первую очередь. Ты думаешь я писал эту статью ради твоего развлечения?! Мне уже порядком надоел ?The instruction at "0x00405414" referenced memory at...? в твоём модуле. Сейчас после сдачи есть немного спокойного времени. Так вот сядь, разберись и покончи с этой ошибкой раз и навсегда!
7. Нет, Петя, я не шучу. |
|
- Вот, как и обещал(+) Mack 03.12.04 00:02
|
|
|
|