НАВИГАЦИЯ - Ширина | Красный | Серый | Белый |
Начало | Конференция | Архив | Старая | Поиск | Трёп | Члены | Автомобили | База | Опыт | FTP | Вступить!
ЗАЙДИТЕ В КЛУБ
Псевдоним (nick): Пароль:
Вы находитесь в режиме просмотра. Для участия в дискуссиях клуба вам необходимо зарегистрироваться (если вы этого не сделали) и войти в систему.
Начало | Поиск

Вот, как и обещал(+)

Отправлено: 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
СТАТИСТИКА
Яндекс цитирования